#!/usr/bin/env python3
"""
URL to Google Dork converter for authorised security testing.
Usage: python url2dork.py < urls.txt > dorks.txt
or: echo "https://example.com" | python url2dork.py
"""
import sys
import urllib.parse
# Common dork templates (site: placeholder will be filled)
DORKS = [
'site:{domain} intitle:"login"',
'site:{domain} inurl:admin',
'site:{domain} inurl:login',
'site:{domain} intitle:"index of"',
'site:{domain} ext:php | ext:asp | ext:aspx',
'site:{domain} inurl:wp-admin',
'site:{domain} filetype:pdf',
'site:{domain} "powered by"',
'site:{domain} intext:"sql syntax"',
'site:{domain} "backup" filetype:sql',
'site:{domain} "config.php"',
]
def extract_domain(url: str) -> str:
"""Strip scheme and path, return bare domain."""
if '://' not in url:
url = 'http://' + url # assume http if missing
return urllib.parse.urlparse(url).netloc.lower()
def main():
# Read URLs from stdin (one per line)
for line in sys.stdin:
url = line.strip()
if not url or url.startswith('#'):
continue
domain = extract_domain(url)
for dork in DORKS:
print(dork.format(domain=domain))
if __name__ == '__main__':
main()