npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

gdorkpro

v1.0.0

Published

Multi-engine OSINT search CLI — query Google, Bing, Yandex, Brave, DuckDuckGo and more with max depth

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 gdorkpro

From source (Termux / local)

git clone <repo>
cd gdorkpro
npm install
npm link          # makes `gdorkpro` available globally

Windows

npm install -g gdorkpro
gdorkpro --help

Quick 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 dorks

Engines

| 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.com

Run 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:8080

Browse public instances: https://searx.space


Dork Templates

gdorkpro dorks

Categories:

  • File Exposure — PDFs, SQL dumps, config files, logs, backups, spreadsheets
  • Open Directoriesintitle:"index of", parent directories
  • Login Pages — admin panels, login pages, phpMyAdmin, control panels
  • Sensitive Info — API keys, AWS credentials, private keys, passwords
  • Site Reconsite:, 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 path

Config is stored at:

  • Linux/macOS: ~/.config/gdorkpro/config.json
  • Windows: %APPDATA%\gdorkpro\config.json
  • Termux: ~/.config/gdorkpro/config.json

Tor Usage

  1. 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
  2. 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.json

CLI 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, default 2)
  • -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 (default table)
  • -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 .csv file for batch runs
  • --limit <n> — Maximum number of results to return (default 100)
  • --timeout <ms> — Per-request timeout in milliseconds (default 15000)
  • --delay <ms> — Random delay between page requests in milliseconds (default 2000)
  • --rotation <strategy> — Engine rotation strategy: failover, round-robin, random, weighted (default failover)
  • -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