{"id":13840716,"url":"https://github.com/theblackturtle/fprobe","last_synced_at":"2025-07-11T09:32:54.879Z","repository":{"id":37699766,"uuid":"248890308","full_name":"theblackturtle/fprobe","owner":"theblackturtle","description":"Take a list of domains/subdomains and probe for working http/https server.","archived":false,"fork":false,"pushed_at":"2020-09-08T14:15:39.000Z","size":72,"stargazers_count":183,"open_issues_count":0,"forks_count":33,"subscribers_count":8,"default_branch":"master","last_synced_at":"2024-08-05T17:25:34.374Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/theblackturtle.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2020-03-21T02:11:38.000Z","updated_at":"2024-08-05T03:42:06.000Z","dependencies_parsed_at":"2022-08-27T06:01:26.443Z","dependency_job_id":null,"html_url":"https://github.com/theblackturtle/fprobe","commit_stats":null,"previous_names":[],"tags_count":7,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/theblackturtle%2Ffprobe","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/theblackturtle%2Ffprobe/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/theblackturtle%2Ffprobe/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/theblackturtle%2Ffprobe/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/theblackturtle","download_url":"https://codeload.github.com/theblackturtle/fprobe/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":225712656,"owners_count":17512451,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","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":[],"created_at":"2024-08-04T17:00:53.326Z","updated_at":"2024-11-21T10:30:40.584Z","avatar_url":"https://github.com/theblackturtle.png","language":"Go","funding_links":[],"categories":["Go","Go (531)"],"sub_categories":[],"readme":"# FProbe\n**FProbe** - Fast HTTP Probe\n\n## Installation\n```\nGO111MODULE=on go get -u github.com/theblackturtle/fprobe\n```\n\n## Features\n- Take a list of domains/subdomains and probe for working http/https server.\n- Optimize RAM and CPU in runtime.\n- Support special ports for each domain\n- Verbose in JSON format with some additional headers, such as `Status Code`, `Content Type`, `Location`.\n \n## Usage\n```\nUsage of fprobe:\n  -c int\n        Concurrency (default 50)\n  -cidr\n        Generate IP addresses from CIDR\n  -i string\n        Input file (default is stdin) (default \"-\")\n  -l    Use ports in the same line (google.com,2087,2086)\n  -p value\n        add additional probe (proto:port)\n  -prefer-https\n        only try plain HTTP if HTTPS fails\n  -s    skip the default probes (http:80 and https:443)\n  -t int\n        Timeout (seconds) (default 9)\n  -v    Turn on verbose\n```\n\n### Basic Usage\nStdin input\n```\n❯ cat domains.txt | fprobe\n```\n\nFile input\n```\n❯ fprobe -i domains.txt\n```\n\n### Concurrency\n```\n❯ cat domains.txt | fprobe -c 200\n```\n\n### Use inline ports\nIf you want to use special ports for each domain, you can use the `-l` flag. You can parse Nmap/Masscan output and reformat it to use this feature.\n\n**Input (domains.txt)**\n```\ngoogle.com,2087,2086,8880,2082,443,80,2052,2096,2083,8080,8443,2095,2053\nyahoo.com,2087,2086,8880,2082,443,80,2052,2096,2083,8080,8443,2095,2053\nsport.yahoo.com,2086,443,2096,2053,8080,2082,80,2083,8443,2052,2087,2095,8880\n```\n\n**Command**\n```\n❯ cat domains.txt | fprobe -l\n```\n\n### Timeout\n```\n❯ cat domains.txt | fprobe -t 10\n```\n\n### Special ports\n```\n❯ cat domains.txt | fprobe -p http:8080 -p https:8443\n```\n\n### Using to check working URLs\n```\n❯ echo 'https://google.com/path1?param=1' | fprobe\n\nhttps://google.com/path1?param=1\n```\n\n### Input CIDR\n```\n❯ echo '192.168.1.1/24' | fprobe -cidr\n```\n\n### Use the built-in port collection (Include 80, 443 by default)\n- Medium: 8000, 8080, 8443\n- Large: 81, 591, 2082, 2087, 2095, 2096, 3000, 8000, 8001, 8008, 8080, 8083, 8443, 8834, 8888\n- XLarge: 81, 300, 591, 593, 832, 981, 1010, 1311, 2082, 2087, 2095, 2096, 2480, 3000, 3128, 3333, 4243, 4567, 4711, 4712, 4993, 5000, 5104, 5108, 5800, 6543, 7000, 7396, 7474, 8000, 8001, 8008, 8014, 8042, 8069, 8080, 8081, 8088, 8090, 8091, 8118, 8123, 8172, 8222, 8243, 8280, 8281, 8333, 8443, 8500, 8834, 8880, 8888, 8983, 9000, 9043, 9060, 9080, 9090, 9091, 9200, 9443, 9800, 9981, 12443, 16080, 18091, 18092, 20720, 28017\n\n```\n❯ cat domains.txt | fprobe -p medium/large/xlarge\n```\n\n### Skip default probes\nIf you don't want to probe for HTTP on port 80 or HTTPS on port 443, you can use the `-s` flag.\n```\n❯ cat domains.txt | fprobe -s\n```\n\n### Verbose\nThe verbose output will be format in JSON format with some additional headers, such as `Status Code`, `Content Type`, `Location`.\n```\n❯ cat domains.txt | fprobe -v\n```\n```\n{\"site\":\"http://google.com\",\"status_code\":301,\"server\":\"gws\",\"content_type\":\"text/html; charset=UTF-8\",\"location\":\"http://www.google.com/\"}\n{\"site\":\"https://google.com\",\"status_code\":301,\"server\":\"gws\",\"content_type\":\"text/html; charset=UTF-8\",\"location\":\"https://www.google.com/\"}\n```\n\n## Credit\nThis tool get the idea and some line of codes from `httprobe` written by @tomnomnom.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftheblackturtle%2Ffprobe","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftheblackturtle%2Ffprobe","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftheblackturtle%2Ffprobe/lists"}