{"id":36461559,"url":"https://github.com/rix4uni/techfinder","last_synced_at":"2026-04-20T04:06:04.413Z","repository":{"id":252500645,"uuid":"840648998","full_name":"rix4uni/techfinder","owner":"rix4uni","description":"A high-performance technology detection tool built with Go, leveraging the projectdiscovery wappalyzergo library to identify web technologies and frameworks.","archived":false,"fork":false,"pushed_at":"2025-11-19T11:19:24.000Z","size":56,"stargazers_count":6,"open_issues_count":0,"forks_count":1,"subscribers_count":1,"default_branch":"main","last_synced_at":"2026-01-15T06:10:08.004Z","etag":null,"topics":["bug-bounty","bugbounty","bugbountytips","hacking","infosec","osint","osint-resources","osint-tool","penetration-testing","pentest-tool","pentesting","recon","reconnaissance","security","security-tools","technology","threat-intelligence"],"latest_commit_sha":null,"homepage":"","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/rix4uni.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2024-08-10T09:02:12.000Z","updated_at":"2026-01-13T11:20:15.000Z","dependencies_parsed_at":"2024-08-10T09:05:26.499Z","dependency_job_id":"bb6ffbeb-899f-4ad4-9c0f-3a229a3ca712","html_url":"https://github.com/rix4uni/techfinder","commit_stats":null,"previous_names":["rix4uni/techx","rix4uni/techfinder"],"tags_count":8,"template":false,"template_full_name":null,"purl":"pkg:github/rix4uni/techfinder","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rix4uni%2Ftechfinder","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rix4uni%2Ftechfinder/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rix4uni%2Ftechfinder/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rix4uni%2Ftechfinder/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/rix4uni","download_url":"https://codeload.github.com/rix4uni/techfinder/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rix4uni%2Ftechfinder/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32032306,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-20T00:18:06.643Z","status":"online","status_checked_at":"2026-04-20T02:00:06.527Z","response_time":94,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["bug-bounty","bugbounty","bugbountytips","hacking","infosec","osint","osint-resources","osint-tool","penetration-testing","pentest-tool","pentesting","recon","reconnaissance","security","security-tools","technology","threat-intelligence"],"created_at":"2026-01-11T23:56:07.999Z","updated_at":"2026-04-20T04:06:04.408Z","avatar_url":"https://github.com/rix4uni.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"## techfinder\n\nA high-performance technology detection tool built with Go, leveraging the [rix4uni/wappalyzergo](https://github.com/rix4uni/wappalyzergo) library to identify web technologies and frameworks — including dynamically loaded JS frameworks like **React, Next.js, Vue, Svelte, Framer Motion** and more via headless browser support.\n\n## 🚀 Features\n\n- **🧠 Headless Detection (default)**: Uses a real headless Chrome browser to detect technologies loaded dynamically via JavaScript (React, Next.js, Framer Motion, Swiper, etc.)\n- **⚡ Fast Static Mode**: High-speed HTTP-only detection for large-scale scans without browser overhead\n- **🔧 Multi-threaded**: Concurrent processing for maximum throughput\n- **📄 Multiple Output Formats**: Plain text, JSON, and CSV support\n- **🎯 Tech Matching**: Filter \u0026 alert on specific technologies\n- **💬 Discord Integration**: Send detections directly to Discord\n- **♻️ Crash-Safe Resume**: Default-on resume with `resume.cfg`; use `--no-resume` to start fresh\n\n## 📦 Installation\n\n### Using Go Install\n```\ngo install github.com/rix4uni/techfinder@latest\n```\n\n### Download Prebuilt Binaries\n```\nwget https://github.com/rix4uni/techfinder/releases/download/v0.0.8/techfinder-linux-amd64-0.0.8.tgz\ntar -xvzf techfinder-linux-amd64-0.0.8.tgz\nrm -rf techfinder-linux-amd64-0.0.8.tgz\nmv techfinder ~/go/bin/techfinder\n```\n\nOr download [binary release](https://github.com/rix4uni/techfinder/releases) for your platform.\n\n### Compile from Source\n```\ngit clone --depth 1 https://github.com/rix4uni/techfinder.git\ncd techfinder; go install\n```\n\n## 🔧 Usage\n```\nA high-performance technology detection tool built with Go, leveraging the rix4uni wappalyzergo library to identify web technologies and frameworks.\n\nUsage:\n  techfinder [flags]\n\nFlags:\nOUTPUT:\n   -o, -output string  File to save output (default is stdout)\n   -json               Output in JSON format\n   -csv                Output in CSV format\n\nRATE-LIMIT:\n   -t, -threads int  Number of threads to use (default 50)\n\nCONFIGURATIONS:\n   -H, -user-agent string        Custom User-Agent header for HTTP requests (default \"Mozilla/5.0 ...\")\n   -discord                      Send Matched tech to Discord\n   -id string                    Discord id to send the notification (default \"alivesubdomain\")\n   -pc, -provider-config string  provider config path (default \"/root/.config/notify/provider-config.yaml\")\n   -no-resume                    Disable resume functionality and start scanning fresh\n\nMATCHERS:\n   -mt, -match-tech string  Send matched tech output to Discord (comma-separated, file) (default \"/root/.config/techfinder/technologies.txt\")\n\nDEBUG:\n   -verbose  Enable verbose output for debugging purposes\n   -version  Print the version of the tool and exit\n   -silent   silent mode\n\nOPTIMIZATIONS:\n   -retries int            Number of retry attempts for failed HTTP requests (default 1)\n   -timeout int            HTTP request timeout in seconds (default 15)\n   -headless-timeout int   Headless browser timeout in seconds (browser launch + navigation + JS execution) (default 30)\n   -rd, -retriesDelay int  Delay in seconds between retry attempts\n   -i, -insecure           Disable TLS verification\n   -delay value            duration between each http request (eg: 200ms, 1s) (default -1ns)\n   -rate int               Maximum requests per second (0 = unlimited)\n   -mode string            Detection mode: 'best' uses headless browser for JS/DOM fingerprinting (default), 'fast' uses static HTTP only (default \"best\")\n```\n\n## 🧠 Detection Modes\n\ntechfinder supports two detection modes controlled by the `-mode` flag:\n\n### `-mode best` (Default — Headless Browser)\n\nLaunches a real headless Chrome browser for every target, executes page JavaScript, and evaluates:\n- **JS globals** (e.g. `window.React.version`, `window.__NEXT_DATA__`)\n- **DOM selectors** (e.g. `.swiper`, `[data-framer]`)\n- Fully rendered HTML after JS hydration\n\nThis catches technologies invisible to static HTTP requests.\n\n```bash\necho \"https://www.cetus.zone\" | techfinder -mode best -silent\n```\n```\nURL: https://www.cetus.zone\nCount: 17\nTechnologies: [Amazon CloudFront, Amazon Web Services, Framer Motion, HSTS, LottieFiles, Netlify, Next.js App Router, Next.js:14.2.16, Node.js, Open Graph, Priority Hints, React, Svelte, SvelteKit, Swiper, Vite, Webpack]\n```\n\n### `-mode fast` (Static HTTP Only)\n\nUses plain HTTP GET requests only — no browser, no JS execution. Best for large-scale scanning where speed matters more than completeness.\n\n```bash\necho \"https://www.cetus.zone\" | techfinder -mode fast -silent\n```\n```\nURL: https://www.cetus.zone\nCount: 4\nTechnologies: [Amazon CloudFront, Amazon Web Services, HSTS, Netlify]\n```\n\n\u003e **Note:** In `best` mode, if headless Chrome fails for a URL (e.g. network timeout, browser not installed), techfinder reports the error and skips the URL. There is no fallback to static detection — fix the headless environment or use `-mode fast` for static-only detection.\n\n## 📊 Output Examples\n\nSingle URL:\n```bash\necho \"https://hackerone.com\" | techfinder\n```\n\nMultiple URLs:\n```bash\ncat urls.txt | techfinder\n```\n\nStart fresh without resuming:\n```bash\ncat urls.txt | techfinder --no-resume\n```\n\n## Plain text\n```bash\ncat urls.txt | techfinder -mode fast\nURL: https://hackerone.com\nCount: 14\nTechnologies: [Cloudflare, Drupal:10, Fastly, Google Tag Manager, HSTS, MariaDB, Marketo Forms:2, Nginx, Optimizely, PHP, Pantheon, TrustArc, Varnish, YouTube]\n\nURL: https://bugcrowd.com\nCount: 16\nTechnologies: [Bootstrap, Fastly, HSTS, MariaDB, Marketo Forms:2, MySQL, Nginx, OneTrust, PHP, Pantheon, Slick, Varnish, WordPress, Yoast SEO:22.8, jQuery, jQuery UI]\n\nURL: https://www.intigriti.com\nCount: 4\nTechnologies: [CookieYes, DatoCMS, HSTS, Vercel]\n```\n\n## JSON format\n```bash\ncat urls.txt | techfinder -json\n{\n  \"host\": \"https://hackerone.com\",\n  \"count\": 14,\n  \"tech\": [\n    \"Cloudflare\",\n    \"Drupal:10\",\n    \"Fastly\",\n    \"Google Tag Manager\",\n    \"HSTS\",\n    \"MariaDB\",\n    \"Marketo Forms:2\",\n    \"Nginx\",\n    \"Optimizely\",\n    \"PHP\",\n    \"Pantheon\",\n    \"TrustArc\",\n    \"Varnish\",\n    \"YouTube\"\n  ]\n}\n```\n\n## CSV format\n```bash\ncat urls.txt | techfinder -csv\nhost,count,tech\nhttps://bugcrowd.com,16,\"Bootstrap, Fastly, HSTS, MariaDB, Marketo Forms:2, MySQL, Nginx, OneTrust, PHP, Pantheon, Slick, Varnish, WordPress, Yoast SEO:22.8, jQuery, jQuery UI\"\nhttps://www.intigriti.com,4,\"CookieYes, DatoCMS, HSTS, Vercel\"\nhttps://hackerone.com,14,\"Cloudflare, Drupal:10, Fastly, Google Tag Manager, HSTS, MariaDB, Marketo Forms:2, Nginx, Optimizely, PHP, Pantheon, TrustArc, Varnish, YouTube\"\n```\n\n## ⚙️ Configuration Flags\n\n### Output Options\n| Flag | Description | Default |\n|------|-------------|---------|\n| `-o, -output` | Save output to file | stdout |\n| `-json` | Output in JSON format | false |\n| `-csv` | Output in CSV format | false |\n\n### Rate Limiting\n| Flag | Description | Default |\n|------|-------------|---------|\n| `-t, -threads` | Number of concurrent threads | 50 |\n| `-delay` | Delay between HTTP requests (e.g., 200ms, 1s) | -1ns |\n| `-retries` | Retry attempts for failed requests | 1 |\n| `-rd, -retriesDelay` | Delay between retries (seconds) | 0 |\n| `-rate` | Maximum requests per second (0 = unlimited) | 0 |\n\n### HTTP Configuration\n| Flag | Description | Default |\n|------|-------------|---------|\n| `-H, -user-agent` | Custom User-Agent string | Mozilla/5.0 (Windows NT 10.0...) |\n| `-timeout` | HTTP request timeout in seconds | 15 |\n| `-headless-timeout` | Headless browser timeout (launch + navigation + JS) | 30 |\n| `-i, -insecure` | Disable TLS verification | false |\n| `--no-resume` | Disable resume; start fresh | false |\n\n### Detection Mode\n| Flag | Description | Default |\n|------|-------------|---------|\n| `-mode` | `best` = headless browser (JS/DOM), `fast` = static HTTP only | `best` |\n| `-headless-timeout` | Timeout for headless browser operations (seconds) | 30 |\n\n### Matchers \u0026 Notifications\n| Flag | Description | Default |\n|------|-------------|---------|\n| `-mt, -match-tech` | Match specific technologies (file or comma-separated) | - |\n| `-discord` | Send results to Discord | false |\n| `-id` | Discord channel ID for notifications | alivesubdomain |\n| `-pc, -provider-config` | Notify provider config path | ~/.config/notify/provider-config.yaml |\n\n### Debug \u0026 Info\n| Flag | Description |\n|------|-------------|\n| `-verbose` | Enable verbose debugging output |\n| `-silent` | Enable silent mode |\n| `-version` | Show version information |\n\n## 🔍 Advanced Usage\n\n### Technology Matching\n```bash\n# Match specific technologies\necho \"https://example.com\" | techfinder -mt \"wordpress,php,nginx,react,nextjs\"\n\n# Use match file\necho \"https://example.com\" | techfinder -mt technologies.txt\n```\n\n### Discord Integration\n```bash\n# Send results to Discord\ncat urls.txt | techfinder -discord -id \"tech-scans\"\n```\n\n### Save Results to File\n```bash\n# JSON output to file\ncat urls.txt | techfinder -json -o results.json\n\n# CSV output to file\ncat urls.txt | techfinder -csv -o results.csv\n```\n\n## 🛠️ Performance Tuning\n\nFor large-scale scans where speed is critical, use `-mode fast` to skip headless Chrome:\n```bash\n# Fast static mode — no browser overhead\ncat large_targets.txt | techfinder -mode fast -t 200 -timeout 10 -retries 2 -rate 500\n```\n\nFor accuracy-focused scans on a smaller set of targets, use the default headless mode:\n```bash\n# Best accuracy — headless browser per URL\ncat targets.txt | techfinder -mode best -t 20 -timeout 15 -headless-timeout 45\n```\n\n## ♻️ Resume \u0026 Interrupt Handling\n\n- Default-on resume saves progress to a `resume.cfg` in the current directory:\n\n```\nscanned=300000\n```\n\n- Re-run the same command in the same directory to resume; the scanner skips the first `scanned` items and continues.\n- Use `--no-resume` to start from scratch.\n- On successful completion, `resume.cfg` is deleted automatically.\n- On CTRL+C, pending tasks are cancelled gracefully and progress is saved before exiting with a helpful resume hint.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frix4uni%2Ftechfinder","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Frix4uni%2Ftechfinder","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frix4uni%2Ftechfinder/lists"}