Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/projectdiscovery/chaos-client
Go client to communicate with Chaos DB API.
https://github.com/projectdiscovery/chaos-client
cli
Last synced: about 14 hours ago
JSON representation
Go client to communicate with Chaos DB API.
- Host: GitHub
- URL: https://github.com/projectdiscovery/chaos-client
- Owner: projectdiscovery
- License: mit
- Created: 2020-05-07T02:39:31.000Z (over 4 years ago)
- Default Branch: main
- Last Pushed: 2024-04-22T11:07:19.000Z (7 months ago)
- Last Synced: 2024-04-22T11:41:34.845Z (7 months ago)
- Topics: cli
- Language: Go
- Homepage: https://chaos.projectdiscovery.io
- Size: 240 KB
- Stars: 594
- Watchers: 24
- Forks: 86
- Open Issues: 4
-
Metadata Files:
- Readme: README.md
- License: LICENSE.md
Awesome Lists containing this project
- awesome-bugbounty-tools - chaos-client - Go client to communicate with Chaos DNS API. (Recon / Subdomain Enumeration)
- WebHackersWeapons - chaos-client - client?label=%20)||![linux](/images/linux.png)![macos](/images/apple.png)![windows](/images/windows.png)[![Go](/images/go.png)](/categorize/langs/Go.md)| (Weapons / Tools)
- awesome-hacking-lists - projectdiscovery/chaos-client - Go client to communicate with Chaos DB API. (Go)
README
Chaos ClientGo client to communicate with Chaos dataset API.
## Installation
```bash
go install -v github.com/projectdiscovery/chaos-client/cmd/chaos@latest
```## Usage
```bash
chaos -h
```This will display help for the tool. Here are all the switches it supports.
```console
-key string projectdiscovery cloud (pdcp) api key
-d string domain to search for subdomains
-count show statistics for the specified domain
-silent make the output silent
-o string file to write output to (optional)
-dL string file containing domains to search for subdomains (optional)
-json print output as json
-version show version of chaos
-v, -verbose verbose mode
-up, -update update chaos to latest version
-duc, -disable-update-check disable automatic chaos update check
```You can also set the API key as an environment variable in your bash profile.
```bash
export PDCP_API_KEY=xxxxx
```### How to avail `PDCP_API_KEY`
You can get your API key by either signing up or logging in at [cloud.projectdiscovery.io](https://cloud.projectdiscovery.io?ref=api_key).
## Running chaos
In order to get subdomains for a domain, use the following command.
```bash
chaos -d uber.com -silentrestaurants.uber.com
testcdn.uber.com
approvalservice.uber.com
zoom-logs.uber.com
eastwood.uber.com
meh.uber.com
webview.uber.com
kiosk-api.uber.com
utmbeta-staging.uber.com
getmatched-staging.uber.com
logs.uber.com
dca1.cfe.uber.com
cn-staging.uber.com
frontends-primary.uber.com
eng.uber.com
guest.uber.com
kiosk-home-staging.uber.com
```π‘ Notes
------ **The API is rate-limited to 60 request / min / ip**
- Chaos API **only** supports domain name to query.## Chaos as a library
`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.### Example
```go
package mainimport (
"os"
"github.com/projectdiscovery/chaos-client/internal/runner"
"github.com/projectdiscovery/chaos-client/pkg/chaos"
)func main() {
var results []chaos.Result
opts := &runner.Options{
Domain: "projectdiscovery.io",
APIKey: os.Getenv("PDCP_API_KEY"),
OnResult: func(result interface{}) {
if val, ok := result.(chaos.Result); !ok {
results = append(results, val)
}
},
}runner.RunEnumeration(opts)
}```
π‘ NoteTo run the program, you need to set the `PDCP_API_KEY` environment variable to your Chaos API key.
π¨βπ» Community
-----You 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.
Thanks again for your contribution and keeping the community vibrant. :heart: