{"id":13541776,"url":"https://github.com/projectdiscovery/chaos-client","last_synced_at":"2025-04-12T22:16:42.119Z","repository":{"id":37739863,"uuid":"261932070","full_name":"projectdiscovery/chaos-client","owner":"projectdiscovery","description":"Go client to communicate with Chaos DB API. ","archived":false,"fork":false,"pushed_at":"2025-04-07T13:28:16.000Z","size":759,"stargazers_count":702,"open_issues_count":9,"forks_count":97,"subscribers_count":26,"default_branch":"main","last_synced_at":"2025-04-12T22:16:37.304Z","etag":null,"topics":["cli"],"latest_commit_sha":null,"homepage":"https://chaos.projectdiscovery.io","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/projectdiscovery.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.md","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}},"created_at":"2020-05-07T02:39:31.000Z","updated_at":"2025-04-10T21:08:25.000Z","dependencies_parsed_at":"2024-01-14T08:54:06.386Z","dependency_job_id":"cb18caa0-5c68-4a86-95f2-6802ba7eeb8e","html_url":"https://github.com/projectdiscovery/chaos-client","commit_stats":{"total_commits":184,"total_committers":24,"mean_commits":7.666666666666667,"dds":0.6413043478260869,"last_synced_commit":"17a19d75e790394de3b8efbafcb8157f455a5a0b"},"previous_names":[],"tags_count":16,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/projectdiscovery%2Fchaos-client","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/projectdiscovery%2Fchaos-client/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/projectdiscovery%2Fchaos-client/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/projectdiscovery%2Fchaos-client/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/projectdiscovery","download_url":"https://codeload.github.com/projectdiscovery/chaos-client/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248637787,"owners_count":21137538,"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":["cli"],"created_at":"2024-08-01T10:00:56.951Z","updated_at":"2025-04-12T22:16:42.095Z","avatar_url":"https://github.com/projectdiscovery.png","language":"Go","funding_links":[],"categories":["Go","Recon","Weapons","Go (531)","信息搜集"],"sub_categories":["Subdomain Enumeration","Tools"],"readme":"\u003ch1 align=\"center\"\u003e\nChaos Client\n\u003c/h1\u003e\n\u003ch4 align=\"center\"\u003eGo client to communicate with Chaos dataset API.\u003c/h4\u003e\n\n\u003cp align=\"center\"\u003e\n\u003cimg src=\"https://img.shields.io/github/go-mod/go-version/projectdiscovery/chaos-client\"\u003e\n\u003ca href=\"https://github.com/projectdiscovery/chaos-client/releases\"\u003e\u003cimg src=\"https://img.shields.io/github/downloads/projectdiscovery/chaos-client/total\"\u003e\n\u003ca href=\"https://github.com/projectdiscovery/chaos-client/graphs/contributors\"\u003e\u003cimg src=\"https://img.shields.io/github/contributors-anon/projectdiscovery/chaos-client\"\u003e\n\u003ca href=\"https://github.com/projectdiscovery/chaos-client/releases/\"\u003e\u003cimg src=\"https://img.shields.io/github/release/projectdiscovery/chaos-client\"\u003e\n\u003ca href=\"https://discord.gg/projectdiscovery\"\u003e\u003cimg src=\"https://img.shields.io/discord/695645237418131507.svg?logo=discord\"\u003e\u003c/a\u003e\n\u003ca href=\"https://twitter.com/pdchaos\"\u003e\u003cimg src=\"https://img.shields.io/twitter/follow/pdchaos.svg?logo=twitter\"\u003e\u003c/a\u003e\n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003ca href=\"https://github.com/projectdiscovery/chaos-client/blob/main/README.md\"\u003eEnglish\u003c/a\u003e •\n  \u003ca href=\"https://github.com/projectdiscovery/chaos-client/blob/main/README_CN.md\"\u003e中文\u003c/a\u003e \n\u003c/p\u003e\n\n## Installation\n\n```bash\ngo install -v github.com/projectdiscovery/chaos-client/cmd/chaos@latest\n```\n\n## Usage\n\n```bash\nchaos -h\n```\n\nThis will display help for the tool. Here are all the switches it supports.\n\n```console\n   -key string                  projectdiscovery cloud (pdcp) api key\n   -d string                    domain to search for subdomains\n   -count                       show statistics for the specified domain\n   -silent                      make the output silent\n   -o string                    file to write output to (optional)\n   -dL string                   file containing domains to search for subdomains (optional)\n   -json                        print output as json\n   -version                     show version of chaos\n   -v, -verbose                 verbose mode\n   -up, -update                 update chaos to latest version\n   -duc, -disable-update-check  disable automatic chaos update check\n```\n\nYou can also set the API key as an environment variable in your bash profile. \n\n```bash\nexport PDCP_API_KEY=xxxxx\n```\n\n### How to avail `PDCP_API_KEY`\n\nYou can get your API key by either signing up or logging in at [cloud.projectdiscovery.io](https://cloud.projectdiscovery.io?ref=api_key).\n\n## Running chaos\n\nIn order to get subdomains for a domain, use the following command.\n\n```bash\nchaos -d uber.com -silent\n\nrestaurants.uber.com\ntestcdn.uber.com\napprovalservice.uber.com\nzoom-logs.uber.com\neastwood.uber.com\nmeh.uber.com\nwebview.uber.com\nkiosk-api.uber.com\nutmbeta-staging.uber.com\ngetmatched-staging.uber.com\nlogs.uber.com\ndca1.cfe.uber.com\ncn-staging.uber.com\nfrontends-primary.uber.com\neng.uber.com\nguest.uber.com\nkiosk-home-staging.uber.com\n```\n\n💡 Notes\n-----\n\n- **The API is rate-limited to 60 request / min / ip**\n- Chaos API **only** supports domain name to query.\n\n## Chaos as a library\n`Chaos` can be utilized as a library for subdomain enumeration by instantiating the `Options` struct and populating it with the same options that would be specified via CLI.\n\n### Example\n```go\npackage main\n\nimport (\n\t\"os\"\n\t\"github.com/projectdiscovery/chaos-client/internal/runner\"\n\t\"github.com/projectdiscovery/chaos-client/pkg/chaos\"\n)\n\nfunc main() {\n\tvar results []chaos.Result\n\topts := \u0026runner.Options{\n\t\tDomain: \"projectdiscovery.io\",\n\t\tAPIKey: os.Getenv(\"PDCP_API_KEY\"),\n\t\tOnResult: func(result interface{}) {\n\t\t\tif val, ok := result.(chaos.Result); !ok {\n\t\t\t\tresults = append(results, val)\n\t\t\t}\n\t\t},\n\t}\n\n\trunner.RunEnumeration(opts)\n}\n\n```\n💡 Note\n\nTo run the program, you need to set the `PDCP_API_KEY` environment variable to your Chaos API key.\n\n👨‍💻 Community\n-----\n\nYou are welcomed to join our [Discord Community](https://discord.gg/projectdiscovery). You can also follow us on [Twitter](https://twitter.com/pdchaos) to keep up with everything related to chaos project.\n\n\nThanks again for your contribution and keeping the community vibrant. :heart:\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fprojectdiscovery%2Fchaos-client","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fprojectdiscovery%2Fchaos-client","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fprojectdiscovery%2Fchaos-client/lists"}