gdorkpro
v1.0.0
Published
Multi-engine OSINT search CLI — query Google, Bing, Yandex, Brave, DuckDuckGo and more with max depth
Maintainers
Readme
gdorkpro
Multi-engine OSINT search CLI — query DuckDuckGo, Google, Bing, Yandex, Brave and more from your terminal with a rich interactive TUI.
██████╗ ██████╗ ██████╗ ██████╗ ██╗ ██╗ ██████╗ ██████╗ ██████╗
██╔════╝ ██╔══██╗██╔═══██╗██╔══██╗██║ ██╔╝ ██╔══██╗██╔══██╗██╔═══██╗
██║ ███╗██║ ██║██║ ██║██████╔╝█████╔╝ ██████╔╝██████╔╝██║ ██║
██║ ██║██║ ██║██║ ██║██╔══██╗██╔═██╗ ██╔═══╝ ██╔══██╗██║ ██║
╚██████╔╝██████╔╝╚██████╔╝██║ ██║██║ ██╗ ██║ ██║ ██║╚██████╔╝
╚═════╝ ╚═════╝ ╚═════╝ ╚═╝ ╚═╝╚═╝ ╚═╝ ╚═╝ ╚═╝ ╚═╝ ╚═════╝ Features
- 🔎 Multi-engine search — DuckDuckGo (official API), Google, Bing, Yandex, Brave via SearXNG
- 🧅 Tor support — route queries through local Tor daemon (SOCKS5)
- 🎯 Dork templates — 30+ built-in OSINT dork patterns (files, directories, logins, credentials, CMS)
- 📄 Export — JSON, CSV, Markdown output
- 📜 Search history — auto-saved, re-runnable
- 🔖 Saved queries — name and persist custom searches
- ⚙️ XDG config — persistent settings, custom SearXNG instance, proxy config
- 🎨 Rich TUI — colored tables, spinners, NO_COLOR aware
- 🌍 Cross-platform — Linux, macOS, Windows, Termux (ARM)
Requirements
- Node.js ≥ 18
Install
From npm (once published)
npm install -g gdorkproFrom source (Termux / local)
git clone <repo>
cd gdorkpro
npm install
npm link # makes `gdorkpro` available globallyWindows
npm install -g gdorkpro
gdorkpro --helpQuick Start
# Launch interactive TUI
gdorkpro
# One-shot search
gdorkpro search "site:github.com filetype:env"
# Search with engine and depth
gdorkpro search "intitle:index of" -e google -d 5
# Search using DDG Instant Answers
gdorkpro search "nmap" -e ddg
# Use Tor (requires tor daemon running)
gdorkpro search "filetype:pdf secrets" -e tor
# Export to JSON
gdorkpro search "admin panel" -e all -d 3 --output json
# List all dork templates
gdorkpro dorksEngines
| Value | Description |
|----------|-------------|
| all | Google + Bing + Yandex + Brave + DDG via SearXNG (default) |
| ddg | DuckDuckGo Instant Answers API (official, always works) |
| google | Google only (via SearXNG) |
| bing | Bing only (via SearXNG) |
| yandex | Yandex only (via SearXNG) |
| brave | Brave only (via SearXNG) |
| tor | All engines via Tor SOCKS5 (requires tor daemon at 127.0.0.1:9050) |
SearXNG
all, google, bing, yandex, and brave engines require a SearXNG instance.
By default, gdorkpro probes a list of community public instances in parallel and uses the first live one.
Set a custom / self-hosted instance:
gdorkpro config set instance https://your-searxng.example.comRun your own (Docker, takes ~2 minutes):
git clone https://github.com/searxng/searxng-docker
cd searxng-docker && docker-compose up -d
gdorkpro config set instance http://localhost:8080Browse public instances: https://searx.space
Dork Templates
gdorkpro dorksCategories:
- File Exposure — PDFs, SQL dumps, config files, logs, backups, spreadsheets
- Open Directories —
intitle:"index of", parent directories - Login Pages — admin panels, login pages, phpMyAdmin, control panels
- Sensitive Info — API keys, AWS credentials, private keys, passwords
- Site Recon —
site:,cache:,related:,link:operators - CMS Detection — WordPress, Joomla, Drupal, default server pages
Configuration
# View all settings
gdorkpro config get
# Set defaults
gdorkpro config set engine all
gdorkpro config set depth 3
gdorkpro config set instance https://searx.be
gdorkpro config set proxy socks5h://127.0.0.1:9050
# View config file path
gdorkpro config pathConfig is stored at:
- Linux/macOS:
~/.config/gdorkpro/config.json - Windows:
%APPDATA%\gdorkpro\config.json - Termux:
~/.config/gdorkpro/config.json
Tor Usage
- Install and start Tor:
# Termux pkg install tor && tor & # Linux sudo apt install tor && sudo systemctl start tor # macOS brew install tor && brew services start tor - Use
-e tor:gdorkpro search "filetype:pdf confidential" -e tor -d 3
Export
# Table (default, shown in terminal)
gdorkpro search "query" --output table
# JSON file (or stdout if --file is omitted)
gdorkpro search "query" --output json
# CSV file (or stdout if --file is omitted)
gdorkpro search "query" --output csv
# Markdown file (or stdout if --file is omitted)
gdorkpro search "query" --output md
# Custom path
gdorkpro search "query" --output json --file /tmp/results.jsonCLI Options
The search (or s) command supports the following options:
-e, --engine <engine>— Choose search engine (auto,all,ddg_html,ddg,google,bing,yandex,brave,tor)-d, --depth <n>— Search depth (pages per engine, 1-10, default2)-i, --instance <url>— Custom SearXNG instance URL-p, --proxy <url>— Proxy URL (e.g.socks5h://127.0.0.1:9050)-o, --output <format>— Output format:table,json,csv,md(defaulttable)-f, --file <path>— Export results directly to file (auto-named if path omitted and format is not table)--no-color— Disable colored terminal output--template <name>— Run a named dork template--target <value>— Target value for template variable substitution--dork-file <path>— Load a list of queries/dorks from a.txt,.json, or.csvfile for batch runs--limit <n>— Maximum number of results to return (default100)--timeout <ms>— Per-request timeout in milliseconds (default15000)--delay <ms>— Random delay between page requests in milliseconds (default2000)--rotation <strategy>— Engine rotation strategy:failover,round-robin,random,weighted(defaultfailover)-v, --verbose— Show verbose status updates during search-q, --quiet— Suppress all terminal output except the search results or errors--config <path>— Path to a custom config file (overriding default XDG config)
Exit Codes
| Code | Meaning |
|------|---------|
| 0 | Success (results found) or partial success (some engines failed but got results) |
| 1 | Bad input (invalid flags, empty query, invalid engine name) |
| 2 | Total failure (every engine unreachable, no results at all) |
| 130| Interrupted (Ctrl+C) |
Respect & Responsibility
This tool queries public search engines and open SearXNG relays.
- Respect robots.txt and terms of service of target sites you discover.
- Rate-limit responsibly — built-in delays between pages are intentional.
- Do not use for unauthorized access — discovery is not authorization.
- Use for: defensive security research, asset inventory, OSINT, journalism.
License
MIT
