@@ -45,6 +45,7 @@ CONFIGURATIONS:
4545 -nr, --ignore-redirects do not follow redirects (Default: false)
4646 -p, --proxy HTTP/SOCKS5 proxy server (Example: 127.0.0.1:8080)
4747 -r, --resolvers custom DNS resolvers (comma separated) (Default: system resolvers)
48+ -rf, --resolver-file file containing DNS resolvers (one per line)
4849 -rce, --respect-cert-err respect certificate errors (Default: false)
4950 -to, --timeout screenshot timeout (Default: 15 seconds)
5051 -ua, --user-agent specify user agent (Default: Chrome UA)
@@ -185,7 +186,7 @@ func processTarget(worker func(string) error, concurrency int, targetChannel <-c
185186}
186187func (cli * cli ) parseFlags () {
187188 var help , ver , debug bool
188- var ignoreStatusCodes , customResolvers string
189+ var ignoreStatusCodes , customResolvers , resolverFile string
189190
190191 options := NewCLIOptions ()
191192 captureOptions := screener .NewOptions ()
@@ -209,6 +210,8 @@ func (cli *cli) parseFlags() {
209210 flag .StringVar (& ignoreStatusCodes , "isc" , "" , "" )
210211 flag .StringVar (& customResolvers , "resolvers" , "" , "" )
211212 flag .StringVar (& customResolvers , "r" , "" , "" )
213+ flag .StringVar (& resolverFile , "resolver-file" , "" , "" )
214+ flag .StringVar (& resolverFile , "rf" , "" , "" )
212215
213216 flag .IntVar (& cli .CaptureOptions .CaptureHeight , "capture-height" , captureOptions .CaptureHeight , "" )
214217 flag .IntVar (& cli .CaptureOptions .CaptureHeight , "ch" , captureOptions .CaptureHeight , "" )
@@ -282,6 +285,20 @@ func (cli *cli) parseFlags() {
282285 }
283286 }
284287
288+ if resolverFile != "" {
289+ resolversFromFile , err := fileutil .ReadFile (resolverFile )
290+ if err != nil {
291+ log .Errorf ("Error reading resolver file: %v" , err )
292+ os .Exit (1 )
293+ }
294+ for _ , resolver := range resolversFromFile {
295+ resolver = strings .TrimSpace (resolver )
296+ if resolver != "" && ! strings .HasPrefix (resolver , "#" ) {
297+ cli .CaptureOptions .CustomResolvers = append (cli .CaptureOptions .CustomResolvers , resolver )
298+ }
299+ }
300+ }
301+
285302 if customResolvers != "" {
286303 resolvers := strings .Split (customResolvers , "," )
287304 for _ , resolver := range resolvers {
0 commit comments