{"id":13589140,"url":"https://github.com/ethicalhackingplayground/hrekt","last_synced_at":"2025-04-23T08:38:50.701Z","repository":{"id":158795783,"uuid":"634275214","full_name":"ethicalhackingplayground/hrekt","owner":"ethicalhackingplayground","description":"A really fast http prober.","archived":false,"fork":false,"pushed_at":"2024-02-01T00:54:07.000Z","size":59,"stargazers_count":39,"open_issues_count":3,"forks_count":7,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-04-17T22:10:20.875Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Rust","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/ethicalhackingplayground.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,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2023-04-29T15:53:05.000Z","updated_at":"2024-10-23T20:11:09.000Z","dependencies_parsed_at":"2024-02-01T01:50:18.463Z","dependency_job_id":null,"html_url":"https://github.com/ethicalhackingplayground/hrekt","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ethicalhackingplayground%2Fhrekt","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ethicalhackingplayground%2Fhrekt/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ethicalhackingplayground%2Fhrekt/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ethicalhackingplayground%2Fhrekt/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ethicalhackingplayground","download_url":"https://codeload.github.com/ethicalhackingplayground/hrekt/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":250400475,"owners_count":21424377,"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-01T16:00:23.847Z","updated_at":"2025-04-23T08:38:50.666Z","avatar_url":"https://github.com/ethicalhackingplayground.png","language":"Rust","funding_links":["https://www.buymeacoffee.com/SBhULWm","https://www.paypal.com/paypalme/cyberlixpty"],"categories":["Projects","Rust"],"sub_categories":[],"readme":"\u003ch1 align=\"center\"\u003ehrekt\r\n  \u003cbr\u003e\r\n\u003c/h1\u003e\r\n\r\n\u003ch4 align=\"center\"\u003eA really fast http prober.\u003c/h4\u003e\r\n\r\n\u003cp align=\"center\"\u003e\r\n  \u003ca href=\"/LICENSE\"\u003e\u003cimg src=\"https://img.shields.io/badge/license-MIT-blue.svg\"/\u003e\u003c/a\u003e\r\n  \u003ca href=\"https://www.rust-lang.org/\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/2ed8a73e5c5d21391f6dfc3ed93f70470c1d4ccf32824d96f943420163df9963/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f4c616e67756167652d527573742d3138313731373f636f6c6f723d726564\"/\u003e\u003c/a\u003e\r\n  \u003ca href=\"https://github.com/ethicalhackingplayground/hrekt/issues\"\u003e\u003cimg src=\"https://img.shields.io/badge/contributions-welcome-brightgreen.svg?style=flat\"\u003e\u003c/a\u003e\r\n  \u003ca href=\"https://twitter.com/z0idsec\"\u003e\u003cimg src=\"https://img.shields.io/twitter/follow/z0idsec.svg?logo=twitter\"\u003e\u003c/a\u003e\r\n  \u003ca href=\"https://discord.gg/MQWCem5b\"\u003e\u003cimg src=\"https://img.shields.io/discord/862900124740616192.svg?logo=discord\"\u003e\u003c/a\u003e\r\n  \u003cbr\u003e\r\n\u003c/p\u003e\r\n\r\n---\r\n\r\n\u003cp align=\"center\"\u003e\r\n  \u003ca href=\"#installation\"\u003eInstall\u003c/a\u003e •\r\n  \u003ca href=\"#usage\"\u003eUsage\u003c/a\u003e •\r\n  \u003ca href=\"#examples\"\u003eExamples\u003c/a\u003e •\r\n  \u003ca href=\"#fyi\"\u003eFYI\u003c/a\u003e •\r\n  \u003ca href=\"#contributing\"\u003eContributing\u003c/a\u003e •\r\n  \u003ca href=\"#license\"\u003eLicense\u003c/a\u003e •\r\n  \u003ca href=\"https://discord.gg/MQWCem5b\"\u003eJoin Discord\u003c/a\u003e \r\n\u003c/p\u003e\r\n\r\n---\r\n\r\n## Installation\r\n\r\n#### Fresh Installs\r\n```bash\r\ncargo build -r\r\nmv target/release/hrekt /bin/hrekt\r\n```\r\n\r\n#### Already been installed\r\n```bash\r\ncargo build -r\r\nmv target/release/hrekt /\u003cuser\u003e/.cargo/bin/\r\n```\r\n\r\n\r\nMake sure to replace `\u003cuser\u003e` with your username.\r\n\r\nor \r\n\r\n#### Installer\r\n```bash\r\nchmod +x install.sh ; ./install.sh\r\n```\r\n\r\n## For Windows Users\r\n\r\nIf you want to install hrekt on Windows, you are required to install `perl` \u0026 `rust`\r\n\r\n#### Dependencies\r\n- Perl: [https://strawberryperl.com/](https://strawberryperl.com/)\r\n- Rust: [https://www.rust-lang.org/learn/get-started](https://www.rust-lang.org/learn/get-started)]\r\n\r\nThen you should be able to run\r\n\r\n```bash\r\ncargo install --path .\r\n```\r\n\r\nWhich will than build and compile the binary to `target/release/hrekt.exe`\r\n\r\nCan only be compiled locally right now.\r\n\r\n\r\n## Usage\r\n\r\n```bash\r\nUsage: hrekt [OPTIONS]\r\n\r\nOptions:\r\n  -r, --rate \u003crate\u003e\r\n          Maximum in-flight requests per second\r\n          \r\n          [default: 1000]\r\n\r\n  -c, --concurrency \u003cconcurrency\u003e\r\n          The amount of concurrent requests\r\n          \r\n          [default: 100]\r\n\r\n  -t, --timeout \u003ctimeout\u003e\r\n          The delay between each request\r\n          \r\n          [default: 3]\r\n\r\n  -w, --workers \u003cworkers\u003e\r\n          The amount of workers\r\n          \r\n          [default: 1]\r\n\r\n  -p, --ports \u003cports\u003e\r\n          the ports to probe default ports are (80,443)\r\n          \r\n          [default: 80,443]\r\n\r\n      --title\r\n          display the page titles\r\n\r\n      --tech-detect\r\n          display the technology used\r\n\r\n      --status-code\r\n          display the status-codes\r\n\r\n      --server\r\n          displays the server\r\n\r\n      --content-type\r\n          displays the content type\r\n\r\n      --content-length\r\n          displays the content length\r\n\r\n  -x, --path \u003cpath\u003e\r\n          probe the specified path\r\n          \r\n          [default: ]\r\n\r\n      --body-regex \u003cbody-regex\u003e\r\n          regex to be used to match a specific pattern in the response\r\n          \r\n          [default: ]\r\n\r\n      --header-regex \u003cheader-regex\u003e\r\n          regex to be used to match a specific pattern in the header\r\n          \r\n          [default: ]\r\n\r\n  -l, --follow-redirects\r\n          follow http redirects\r\n\r\n  -q, --silent\r\n          suppress output\r\n\r\n  -h, --help\r\n          Print help (see a summary with '-h')\r\n\r\n  -V, --version\r\n          Print version\r\n```\r\n\r\n---\r\n\r\n\r\n## Demonstration\r\n\r\n[![asciicast](https://asciinema.org/a/XekxthZdgxO5luq7wTDvOxamq.svg)](https://asciinema.org/a/XekxthZdgxO5luq7wTDvOxamq)\r\n\r\n---\r\n\r\n## Examples\r\n\r\n#### Display titles\r\n\r\n```bash\r\ncat subs.txt | hrekt --title\r\n```\r\n\r\n#### Probe ports\r\n\r\n```bash\r\ncat subs.txt | hrekt --ports 443,80,9200 \r\n```\r\n\r\n#### Display technologies\r\n\r\n```bash\r\ncat subs.txt | hrekt --tech-detect\r\n```\r\n\r\n#### Probe the response body\r\n\r\n```bash\r\ncat subs.txt | hrekt --body-regex 'href=\"\\/content\\/dam.*'\r\n```\r\n\r\n#### Probe the headers\r\n\r\n```bash\r\ncat subs.txt | hrekt --header-regex 'Server:.*'\r\n```\r\n\r\n#### Probe the path\r\n\r\n```bash\r\ncat subs.txt | hrekt --path /v1/api\r\n```\r\n\r\n#### Multiple Flags\r\n\r\n```bash\r\ncat subs.txt | hrekt --path /etc.clientlibs --tech-detect --title --body-regex 'href=\"\\/content\\/dam.*'\r\n```\r\n\r\n## FYI\r\nIt's advisable to only use tech detection when needed, as it tends to result in slow discoveries because we use chromium based detection.\r\n\r\n---\r\n\r\nIf you find any cool bugs, it would be nice if I have some sorta appreciation such as shouting me out on your Twitter, buying me a coffee or donating to my Paypal.\r\n  \r\n[![BuyMeACoffee](https://img.shields.io/badge/Buy%20Me%20a%20Coffee-ffdd00?style=for-the-badge\u0026logo=buy-me-a-coffee\u0026logoColor=black)](https://www.buymeacoffee.com/SBhULWm) [![PayPal](https://img.shields.io/badge/PayPal-00457C?style=for-the-badge\u0026logo=paypal\u0026logoColor=white)](https://www.paypal.com/paypalme/cyberlixpty)\r\n\r\nI hope you enjoy\r\n\r\n## Contributing\r\n\r\nPull requests are welcome. For major changes, please open an issue first\r\nto discuss what you would like to change.\r\n\r\nPlease make sure to update tests as appropriate.\r\n\r\n\r\n## License\r\n\r\nHrekt is distributed under [MIT License](https://github.com/ethicalhackingplayground/hrekt/blob/main/LICENSE)\r\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fethicalhackingplayground%2Fhrekt","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fethicalhackingplayground%2Fhrekt","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fethicalhackingplayground%2Fhrekt/lists"}