Os traigo esta herramienta sencilla para buscar información en google. 
Google puede detectar vuestra actividad como robots y no responder. En redes de casa suele funcionar. 
Instalar:
  Necesitais tener quickjs y lynx instalados. Ocupan muy poco.
  Guardais el código como dorks.js y lo ejecutais con qjs dorks.js -t https://example.com -s
Está testeado que funciona en Linux y Termux.
No lo probé en windows pero es probable que también funcione. 
Cita de: usousage: qjs dorks [options]
  -b  --backup-files         .bkf, .bkp, .bak, .old, .backup  
  
  -c  --config-files         .xml, .conf, .cnf, .reg, .inf, .rdp, .cfg, .txt, .ora, .ini, .env  
  
  -d  --directory-listing    index of dir list  
  
  -e  --exposed-databases    .sql, .dbf, .mdb  
  
  -g  --git                  github.com, gitlab.com  
  
  -h  --help                this message
  
  -l  --log                  .log  
  
  -L  --login-urls           login in url  
  
  -n  --number               phone numbers  
  
  -p  --public-documents     .doc, .docx, .odt, .rtf, .sxw, .psw, .ppt, .pptx, .pps, .csv  
  
  -P  --php-errors           .php errors in document  
  
      --pastes               pastebin.com, paste2.org, pastehtml.com, slexy.org, snipplr.com, snipt.net, textsnip.com, bitpaste.app, justpaste.it, heypasteit.com, hastebin.com, dpaste.org, dpaste.com, codepad.org, jsitor.com, codepen.io, jsfiddle.net, dotnetfiddle.net, phpfiddle.org, ide.geeksforgeeks.org, repl.it, ideone.com, paste.debian.net, paste.org, paste.org.ru, codebeautify.org, codeshare.io, trello.com  
  
      --php-info             .php info files  
  
  -s  --source               source code of target  
  
  -S  --sql-errors           sql syntax errors in document  
  
      --stackoverflow        stackoverflow.com  
  
  -t  --target               Your target. Can be a domain, a full url, etc. Based on the arguments of your chose.  
  
  -v  --view                 text representation of the target.
import * as std from "std";
import * as os from "os";
let run = command => {
  let p = std.popen(command, "r"),
  msg = "", 
  r = "";
  while(( r = p.getline() ) != null) {
    msg += r + "\n";
  }
  return msg;
}                                                                                                                            
let cli = {};
cli.COLORS = {                                                    
  RED: "\x1b[31m",
  RESET: "\x1b[0m",
  YELLOW:"\x1b[33m",
  BLUE: "\x1b[34m",
  GREEN: "\x1b[32m"                                             
};
for (let i in scriptArgs) {
switch(scriptArgs[i]) {
    case "-b":                                                      
    case "--backup-files":
      cli.backupFiles = true;
    break;
    case "-c":
    case "--config-files":                                            
      cli.configFiles = true;
    break;
    case "-d":
    case "--directory-listing":
      cli.directoryListing = true;
    break;
                                                                    
    case "-e":
    case "--exposed-databases":
      cli.exposedDatabases = true;
    break;
    case "-g":
    case "--git":
      cli.git = true;
    break;
    case "-l":
    case "--log":
      cli.logFiles = true;
    break;
    case "-L":
    case "--login-urls":
      cli.loginUrls = true;
    break;
    case "-p":
    case "--public-documents":
      cli.publicDocuments = true;
    break;
    case "-P":
    case "--php-errors":
      cli.phpErrors = true;
    break;
    case "--php-info":
      cli.phpInfo = true;
    break;
    case "--pastes":
      cli.pastes = true;
    break;
    case "-s":
    case "--source":
      cli.source = true;
    break;
    case "-S":
    case "--sql-errors":
      cli.sqlErrors = true;
    break;
    case "--stackoverflow":
      cli.stackoverflow = true;
    break;
    case "-t":
    case "--target":
      cli.target = encodeURIComponent(scriptArgs[+i + +1]);
    break;
    case "-v":
    case "--view":
      cli.view = true;
    break;
    case "-h":
    case "--help":
      console.log(`
usage: qjs dorks [options]
  -b  --backup-files         .bkf, .bkp, .bak, .old, .backup
  -c  --config-files         .xml, .conf, .cnf, .reg, .inf, .rdp, .cfg, .txt, .ora, .ini, .env
  -d  --directory-listing    index of dir list
  -e  --exposed-databases    .sql, .dbf, .mdb
  -g  --git                  github.com, gitlab.com
  -h  --help                 this message
  -l  --log                  .log
  -L  --login-urls           login in url
  -p  --public-documents     .doc, .docx, .odt, .rtf, .sxw, .psw, .ppt, .pptx, .pps, .csv
  -P  --php-errors           .php errors in document
      --pastes               pastebin.com, paste2.org, pastehtml.com, slexy.org, snipplr.com, snipt.net, textsnip.com, bitpaste.app, justpaste.it, heypasteit.com, hastebin.com, dpaste.org, dpaste.com, codepad.org, jsitor.com, codepen.io, jsfiddle.net, dotnetfiddle.net, phpfiddle.org, ide.geeksforgeeks.org, repl.it, ideone.com, paste.debian.net, paste.org, paste.org.ru, codebeautify.org, codeshare.io, trello.com
      --php-info             .php info files
  -s  --source               source code of target
  -S  --sql-errors           sql syntax errors in document
      --stackoverflow        stackoverflow.com
  -t  --target               Your target. Can be a domain, a full url, etc. Based on the arguments of your chose.
  -v  --view                 text representation of the target.
`);
  std.exit(0);
  }
}
let checkResults = res => {
  /* Check if connection error */
  /* Check if captcha */
    /* Use good proxy chain list to evade captcha */
    /* Instruct user to evade if dynamic ip */
  /* Check if not found */
  if (new RegExp("ningún resultado. Sugerencias: ", "gim").test(res.replace(/\n/gm, " "))) {
    throw `${cli.COLORS.GREEN}Everything fine but nothing found.${cli.COLORS.RESET}`
  } else {
    console.log(res);
  }
  /* check if more than one page of results */
}
if (!cli.target) {
  throw `Missing target.
  write ${cli.COLORS.RED}qjs dorks --help${cli.COLORS.RESET} to show usage.
  `;
}
if (cli.backupFiles) {
  checkResults(run(`lynx --dump 'https://www.google.com/search?q=site:${cli.target}+ext:bkf+|+ext:bkp+|+ext:bak+|+ext:old+|+ext:backup'`));
}
else if (cli.configFiles) {
  checkResults(run(`lynx --dump 'https://www.google.com/search?q=site:${cli.target}+ext:xml+|+ext:conf+|+ext:cnf+|+ext:reg+|+ext:inf+|+ext:rdp+|+ext:cfg+|+ext:txt+|+ext:ora+|+ext:ini+|+ext:env'`));
}
else if (cli.directoryListing) {
  checkResults(run(`lynx --dump 'https://www.google.com/search?q=site:${cli.target}+intitle:index.of'`));
} else if (cli.exposedDatabases) {
  checkResults(run(`lynx --dump 'https://www.google.com/search?q=site:${cli.target}+ext:sql+|+ext:dbf+|+ext:mdb'`));
}
else if (cli.exposedDatabases) {
  checkResults(run(`lynx --dump 'https://www.google.com/search?q=site:${cli.target}+intext:'"'"'sql syntax near'"'"'+|+intext:'"'"'syntax error has occurred'"'"'+|+intext:'"'"'incorrect syntax near'"'"'+|+intext:'"'"'unexpected end of SQL command'"'"'+|+intext:'"'"'Warning: mysql_connect()'"'"'+|+intext:'"'"'Warning: mysql_query()'"'"'+|+intext:'"'"'Warning: pg_connect()'"'"''`));
}
else if (cli.git) {
  checkResults(run(`lynx --dump 'https://www.google.com/search?q="${cli.target}"+site:github.com+|+site:gitlab.com'`));
}
else if (cli.logFiles) {
  checkResults(run(`lynx --dump 'https://www.google.com/search?q=site:${cli.target}+ext:log'`));
}
else if (cli.loginUrls) {
  checkResults(run(`lynx --dump 'https://www.google.com/search?q=site:${cli.target}+inurl:login+|+inurl:ingresar'`));
}
else if (cli.publicDocuments) {
  checkResults(run(`lynx --dump 'https://www.google.com/search?q=site:${cli.target}+ext:doc+|+ext:docx+|+ext:odt+|+ext:rtf+|+ext:sxw+|+ext:psw+|+ext:ppt+|+ext:pptx+|+ext:pps+|+ext:csv'`));
}
else if (cli.pastes) {
  checkResults(run(`lynx --dump 'https://www.google.com/search?q=${cli.target}+site:pastebin.com+|+site:paste2.org+|+site:pastehtml.com+|+site:slexy.org+|+site:snipplr.com+|+site:snipt.net+|+site:textsnip.com+|+site:bitpaste.app+|+site:justpaste.it+|+site:heypasteit.com+|+site:hastebin.com+|+site:dpaste.org+|+site:dpaste.com+|+site:codepad.org+|+site:jsitor.com+|+site:codepen.io+|+site:jsfiddle.net+|+site:dotnetfiddle.net+|+site:phpfiddle.org+|+site:ide.geeksforgeeks.org+|+site:repl.it+|+site:ideone.com+|+site:paste.debian.net+|+site:paste.org+|+site:paste.org.ru+|+site:codebeautify.org +|+site:codeshare.io+|+site:trello.com'`));
}
else if (cli.phpErrors) {
  checkResults(run(`lynx --dump 'https://www.google.com/search?q=site:${cli.target}+'"'"'PHP Parse error'"'"'+|+'"'"'PHP Warning'"'"'+|+'"'"'PHP Error'"'"''`));
}
else if (cli.phpInfo) {
  checkResults(run(`lynx --dump 'https://www.google.com/search?q=site:${cli.target}+ext:php+intitle:phpinfo+'"'"'published by the PHP Group'"'"''`));
}
else if (cli.source) {
  console.log(run(`lynx --source ${decodeURIComponent(cli.target)}`));
}
else if (cli.sqlErrors) {
  checkResults(run(`lynx --dump 'https://www.google.com/search?q=site:${cli.target}+intext:'"'"'sql syntax near'"'"'+|+intext:'"'"'syntax error has occurred'"'"'+|+intext:'"'"'incorrect syntax near'"'"'+|+intext:'"'"'unexpected end of SQL command'"'"'+|+intext:'"'"'Warning: mysql_connect()'"'"'+|+intext:'"'"'Warning: mysql_query()'"'"'+|+intext:'"'"'Warning: pg_connect()'"'"''`));
}
else if (cli.stackoverflow) {
  checkResults(run(`lynx --dump 'https://www.google.com/search?q=${cli.target}+site:stackoverflow.com'`));
}
else if (cli.view) {
  console.log(run(`lynx --dump '${decodeURIComponent(cli.target)}'`));
}
else {
  throw `Missing argument. You need at least 1 argument more.
  write ${cli.COLORS.RED}qjs dorks --help${cli.COLORS.RESET} to show usage.
  `;
}Podeis añadirle vuestros dorks al código siguiente el patrón.