{"id":15293329,"url":"https://github.com/postmodern/ruby-feroxbuster","last_synced_at":"2025-03-24T13:44:21.072Z","repository":{"id":62559484,"uuid":"483858589","full_name":"postmodern/ruby-feroxbuster","owner":"postmodern","description":"A Ruby interface to feroxbuster, a simple, fast, recursive content discovery   tool written in Rust.","archived":false,"fork":false,"pushed_at":"2023-12-28T04:37:24.000Z","size":27,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":3,"default_branch":"main","last_synced_at":"2025-03-06T02:38:11.974Z","etag":null,"topics":["command-mapper","fferoxbuster","ruby"],"latest_commit_sha":null,"homepage":"","language":"Ruby","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/postmodern.png","metadata":{"files":{"readme":"README.md","changelog":"ChangeLog.md","contributing":null,"funding":null,"license":"LICENSE.txt","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":"2022-04-21T00:47:59.000Z","updated_at":"2022-04-21T01:07:52.000Z","dependencies_parsed_at":"2024-12-02T02:37:16.378Z","dependency_job_id":null,"html_url":"https://github.com/postmodern/ruby-feroxbuster","commit_stats":{"total_commits":10,"total_committers":1,"mean_commits":10.0,"dds":0.0,"last_synced_commit":"451be608bb364428616a051ebfefdb9d2185a533"},"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/postmodern%2Fruby-feroxbuster","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/postmodern%2Fruby-feroxbuster/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/postmodern%2Fruby-feroxbuster/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/postmodern%2Fruby-feroxbuster/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/postmodern","download_url":"https://codeload.github.com/postmodern/ruby-feroxbuster/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":245284346,"owners_count":20590306,"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":["command-mapper","fferoxbuster","ruby"],"created_at":"2024-09-30T16:46:19.726Z","updated_at":"2025-03-24T13:44:21.050Z","avatar_url":"https://github.com/postmodern.png","language":"Ruby","funding_links":[],"categories":[],"sub_categories":[],"readme":"# ruby-feroxbuster\n\n[![CI](https://github.com/postmodern/ruby-feroxbuster/actions/workflows/ruby.yml/badge.svg)](https://github.com/postmodern/ruby-gobuster/actions/workflows/ruby.yml)\n[![Gem Version](https://badge.fury.io/rb/ruby-feroxbuster.svg)](https://badge.fury.io/rb/ruby-gobuster)\n\n* [Source](https://github.com/postmodern/ruby-feroxbuster/)\n* [Issues](https://github.com/postmodern/ruby-feroxbuster/issues)\n* [Documentation](http://rubydoc.info/gems/ruby-feroxbuster/frames)\n\n## Description\n\nA Ruby interface to [feroxbuster], a simple, fast, recursive content discovery\ntool written in Rust.\n\n## Features\n\n* Provides a [Ruby interface][Feroxbuster::Command] for running the\n  `feroxbuster` command.\n* Supports [parsing][Feroxbuster::OutputFile] `feroxbuster` `.txt` and `.json`\n  output files.\n\n[Feroxbuster::Command]: https://rubydoc.info/gems/ruby-feroxbuster/Feroxbuster/Command\n[Feroxbuster::OutputFile]: https://rubydoc.info/gems/ruby-amass/Feroxbuster/OutputFile\n\n## Examples\n\nRun `feroxbuster --wordlist /path/to/wordlist.txt --url https://example.com` from Ruby:\n\n```ruby\nrequire 'feroxbuster/command'\n\nFeroxbuster::Command.run(wordlist: '/path/to/wordlist.txt', url: 'https://example.com')\n```\n\nParser an `feroxbuster` JSON file:\n\n```ruby\nrequire 'feroxbuster/output_file'\n\noutput_file = Feroxbuster::OutputFile.new('/path/to/feroxbuster.json')\noutput_file.each do |object|\n  p object\nend\n```\n\n```\n#\u003cFeroxbuster::Response:0x000056472fab3390 @url=\"https://github.com/test\", @original_url=\"https://github.com\", @path=\"/test\", @wildcard=false, @status=200, @method=\"GET\", @content_length=0, @line_count=2010, @word_count=11253, @headers={\"permissions-policy\"=\u003e\"interest-cohort=()\", \"accept-ranges\"=\u003e\"bytes\", \"referrer-policy\"=\u003e\"origin-when-cross-origin, strict-origin-when-cross-origin\", \"x-content-type-options\"=\u003e\"nosniff\", \"cache-control\"=\u003e\"max-age=0, private, must-revalidate\", \"expect-ct\"=\u003e\"max-age=2592000, report-uri=\\\"https://api.github.com/_private/browser/errors\\\"\", \"server\"=\u003e\"GitHub.com\", \"x-github-request-id\"=\u003e\"85A8:0E10:20B03E:27719A:6260B1D5\", \"transfer-encoding\"=\u003e\"chunked\", \"date\"=\u003e\"Thu, 21 Apr 2022 01:22:16 GMT\", \"strict-transport-security\"=\u003e\"max-age=31536000; includeSubdomains; preload\", \"etag\"=\u003e\"W/\\\"7c98cb0440eb94eddcfd360497fae419\\\"\", \"x-frame-options\"=\u003e\"deny\", \"content-security-policy\"=\u003e\"default-src 'none'; base-uri 'self'; block-all-mixed-content; child-src github.com/assets-cdn/worker/ gist.github.com/assets-cdn/worker/; connect-src 'self' uploads.github.com objects-origin.githubusercontent.com www.githubstatus.com collector.github.com raw.githubusercontent.com api.github.com github-cloud.s3.amazonaws.com github-production-repository-file-5c1aeb.s3.amazonaws.com github-production-upload-manifest-file-7fdce7.s3.amazonaws.com github-production-user-asset-6210df.s3.amazonaws.com cdn.optimizely.com logx.optimizely.com/v1/events translator.github.com *.actions.githubusercontent.com wss://*.actions.githubusercontent.com online.visualstudio.com/api/v1/locations github-production-repository-image-32fea6.s3.amazonaws.com github-production-release-asset-2e65be.s3.amazonaws.com insights.github.com wss://alive.github.com; font-src github.githubassets.com; form-action 'self' github.com gist.github.com objects-origin.githubusercontent.com; frame-ancestors 'none'; frame-src render.githubusercontent.com viewscreen.githubusercontent.com notebooks.githubusercontent.com; img-src 'self' data: github.githubassets.com identicons.github.com github-cloud.s3.amazonaws.com secured-user-images.githubusercontent.com/ *.githubusercontent.com; manifest-src 'self'; media-src github.com user-images.githubusercontent.com/; script-src github.githubassets.com; style-src 'unsafe-inline' github.githubassets.com; worker-src github.com/assets-cdn/worker/ gist.github.com/assets-cdn/worker/\", \"x-xss-protection\"=\u003e\"0\", \"set-cookie\"=\u003e\"logged_in=no; Path=/; Domain=github.com; Expires=Fri, 21 Apr 2023 01:22:29 GMT; HttpOnly; Secure; SameSite=Lax\", \"vary\"=\u003e\"X-Requested-With, X-PJAX-Container, Accept-Encoding, Accept, X-Requested-With\", \"content-type\"=\u003e\"text/html; charset=utf-8\"}, @extension=\"\"\u003e\n#\u003cFeroxbuster::Response:0x000056472fab20f8 @url=\"https://github.com/dev\", @original_url=\"https://github.com\", @path=\"/dev\", @wildcard=false, @status=200, @method=\"GET\", @content_length=0, @line_count=2067, @word_count=11308, @headers={\"date\"=\u003e\"Thu, 21 Apr 2022 01:22:17 GMT\", \"cache-control\"=\u003e\"max-age=0, private, must-revalidate\", \"content-security-policy\"=\u003e\"default-src 'none'; base-uri 'self'; block-all-mixed-content; child-src github.com/assets-cdn/worker/ gist.github.com/assets-cdn/worker/; connect-src 'self' uploads.github.com objects-origin.githubusercontent.com www.githubstatus.com collector.github.com raw.githubusercontent.com api.github.com github-cloud.s3.amazonaws.com github-production-repository-file-5c1aeb.s3.amazonaws.com github-production-upload-manifest-file-7fdce7.s3.amazonaws.com github-production-user-asset-6210df.s3.amazonaws.com cdn.optimizely.com logx.optimizely.com/v1/events translator.github.com *.actions.githubusercontent.com wss://*.actions.githubusercontent.com online.visualstudio.com/api/v1/locations github-production-repository-image-32fea6.s3.amazonaws.com github-production-release-asset-2e65be.s3.amazonaws.com insights.github.com wss://alive.github.com; font-src github.githubassets.com; form-action 'self' github.com gist.github.com objects-origin.githubusercontent.com; frame-ancestors 'none'; frame-src render.githubusercontent.com viewscreen.githubusercontent.com notebooks.githubusercontent.com; img-src 'self' data: github.githubassets.com identicons.github.com github-cloud.s3.amazonaws.com secured-user-images.githubusercontent.com/ *.githubusercontent.com; manifest-src 'self'; media-src github.com user-images.githubusercontent.com/; script-src github.githubassets.com; style-src 'unsafe-inline' github.githubassets.com; worker-src github.com/assets-cdn/worker/ gist.github.com/assets-cdn/worker/\", \"set-cookie\"=\u003e\"logged_in=no; Path=/; Domain=github.com; Expires=Fri, 21 Apr 2023 01:22:29 GMT; HttpOnly; Secure; SameSite=Lax\", \"permissions-policy\"=\u003e\"interest-cohort=()\", \"x-frame-options\"=\u003e\"deny\", \"server\"=\u003e\"GitHub.com\", \"accept-ranges\"=\u003e\"bytes\", \"etag\"=\u003e\"W/\\\"3ca853f280bb864544f7842cdaa124e5\\\"\", \"vary\"=\u003e\"X-Requested-With, X-PJAX-Container, Accept-Encoding, Accept, X-Requested-With\", \"referrer-policy\"=\u003e\"origin-when-cross-origin, strict-origin-when-cross-origin\", \"x-github-request-id\"=\u003e\"85AC:2947:2319C4:29E4C8:6260B1D5\", \"transfer-encoding\"=\u003e\"chunked\", \"expect-ct\"=\u003e\"max-age=2592000, report-uri=\\\"https://api.github.com/_private/browser/errors\\\"\", \"x-content-type-options\"=\u003e\"nosniff\", \"content-type\"=\u003e\"text/html; charset=utf-8\", \"x-xss-protection\"=\u003e\"0\", \"strict-transport-security\"=\u003e\"max-age=31536000; includeSubdomains; preload\"}, @extension=\"\"\u003e\n#\u003cFeroxbuster::Response:0x000056472fab0f28 @url=\"https://github.com/www\", @original_url=\"https://github.com\", @path=\"/www\", @wildcard=false, @status=200, @method=\"GET\", @content_length=0, @line_count=1813, @word_count=10399, @headers={\"content-type\"=\u003e\"text/html; charset=utf-8\", \"accept-ranges\"=\u003e\"bytes\", \"date\"=\u003e\"Thu, 21 Apr 2022 01:22:16 GMT\", \"transfer-encoding\"=\u003e\"chunked\", \"vary\"=\u003e\"X-Requested-With, X-PJAX-Container, Accept-Encoding, Accept, X-Requested-With\", \"x-xss-protection\"=\u003e\"0\", \"x-github-request-id\"=\u003e\"85B4:4678:28A012:2F9830:6260B1D5\", \"content-security-policy\"=\u003e\"default-src 'none'; base-uri 'self'; block-all-mixed-content; child-src github.com/assets-cdn/worker/ gist.github.com/assets-cdn/worker/; connect-src 'self' uploads.github.com objects-origin.githubusercontent.com www.githubstatus.com collector.github.com raw.githubusercontent.com api.github.com github-cloud.s3.amazonaws.com github-production-repository-file-5c1aeb.s3.amazonaws.com github-production-upload-manifest-file-7fdce7.s3.amazonaws.com github-production-user-asset-6210df.s3.amazonaws.com cdn.optimizely.com logx.optimizely.com/v1/events translator.github.com *.actions.githubusercontent.com wss://*.actions.githubusercontent.com online.visualstudio.com/api/v1/locations github-production-repository-image-32fea6.s3.amazonaws.com github-production-release-asset-2e65be.s3.amazonaws.com insights.github.com wss://alive.github.com; font-src github.githubassets.com; form-action 'self' github.com gist.github.com objects-origin.githubusercontent.com; frame-ancestors 'none'; frame-src render.githubusercontent.com viewscreen.githubusercontent.com notebooks.githubusercontent.com; img-src 'self' data: github.githubassets.com identicons.github.com github-cloud.s3.amazonaws.com secured-user-images.githubusercontent.com/ *.githubusercontent.com; manifest-src 'self'; media-src github.com user-images.githubusercontent.com/; script-src github.githubassets.com; style-src 'unsafe-inline' github.githubassets.com; worker-src github.com/assets-cdn/worker/ gist.github.com/assets-cdn/worker/\", \"referrer-policy\"=\u003e\"origin-when-cross-origin, strict-origin-when-cross-origin\", \"etag\"=\u003e\"W/\\\"e03d055bf6b701eb6ecf1fa7c1a137f0\\\"\", \"permissions-policy\"=\u003e\"interest-cohort=()\", \"strict-transport-security\"=\u003e\"max-age=31536000; includeSubdomains; preload\", \"x-frame-options\"=\u003e\"deny\", \"set-cookie\"=\u003e\"logged_in=no; Path=/; Domain=github.com; Expires=Fri, 21 Apr 2023 01:22:29 GMT; HttpOnly; Secure; SameSite=Lax\", \"expect-ct\"=\u003e\"max-age=2592000, report-uri=\\\"https://api.github.com/_private/browser/errors\\\"\", \"server\"=\u003e\"GitHub.com\", \"cache-control\"=\u003e\"max-age=0, private, must-revalidate\", \"x-content-type-options\"=\u003e\"nosniff\"}, @extension=\"\"\u003e\n#\u003cFeroxbuster::Response:0x000056472fabbcc0 @url=\"https://github.com/\", @original_url=\"https://github.com\", @path=\"/\", @wildcard=false, @status=200, @method=\"GET\", @content_length=0, @line_count=2596, @word_count=13002, @headers={\"cache-control\"=\u003e\"max-age=0, private, must-revalidate\", \"server\"=\u003e\"GitHub.com\", \"set-cookie\"=\u003e\"logged_in=no; Path=/; Domain=github.com; Expires=Fri, 21 Apr 2023 01:22:29 GMT; HttpOnly; Secure; SameSite=Lax\", \"permissions-policy\"=\u003e\"interest-cohort=()\", \"vary\"=\u003e\"X-PJAX, X-PJAX-Container, Accept-Language, Accept-Encoding, Accept, X-Requested-With\", \"content-security-policy\"=\u003e\"default-src 'none'; base-uri 'self'; block-all-mixed-content; child-src github.com/assets-cdn/worker/ gist.github.com/assets-cdn/worker/; connect-src 'self' uploads.github.com objects-origin.githubusercontent.com www.githubstatus.com collector.github.com raw.githubusercontent.com api.github.com github-cloud.s3.amazonaws.com github-production-repository-file-5c1aeb.s3.amazonaws.com github-production-upload-manifest-file-7fdce7.s3.amazonaws.com github-production-user-asset-6210df.s3.amazonaws.com cdn.optimizely.com logx.optimizely.com/v1/events translator.github.com *.actions.githubusercontent.com wss://*.actions.githubusercontent.com online.visualstudio.com/api/v1/locations github-production-repository-image-32fea6.s3.amazonaws.com github-production-release-asset-2e65be.s3.amazonaws.com insights.github.com wss://alive.github.com github.githubassets.com; font-src github.githubassets.com; form-action 'self' github.com gist.github.com objects-origin.githubusercontent.com; frame-ancestors 'none'; frame-src render.githubusercontent.com viewscreen.githubusercontent.com notebooks.githubusercontent.com; img-src 'self' data: github.githubassets.com identicons.github.com github-cloud.s3.amazonaws.com secured-user-images.githubusercontent.com/ *.githubusercontent.com customer-stories-feed.github.com spotlights-feed.github.com; manifest-src 'self'; media-src github.com user-images.githubusercontent.com/ github.githubassets.com; script-src github.githubassets.com; style-src 'unsafe-inline' github.githubassets.com; worker-src github.com/assets-cdn/worker/ gist.github.com/assets-cdn/worker/\", \"x-xss-protection\"=\u003e\"0\", \"expect-ct\"=\u003e\"max-age=2592000, report-uri=\\\"https://api.github.com/_private/browser/errors\\\"\", \"x-github-request-id\"=\u003e\"85B2:4670:5B88C:BE8AA:6260B1D5\", \"date\"=\u003e\"Thu, 21 Apr 2022 01:22:22 GMT\", \"strict-transport-security\"=\u003e\"max-age=31536000; includeSubdomains; preload\", \"transfer-encoding\"=\u003e\"chunked\", \"x-content-type-options\"=\u003e\"nosniff\", \"etag\"=\u003e\"W/\\\"b1bb181559a6360603ad7f0ed22c198c\\\"\", \"accept-ranges\"=\u003e\"bytes\", \"x-frame-options\"=\u003e\"deny\", \"referrer-policy\"=\u003e\"origin-when-cross-origin, strict-origin-when-cross-origin\", \"content-type\"=\u003e\"text/html; charset=utf-8\", \"content-language\"=\u003e\"en-US\"}, @extension=\"\"\u003e\n#\u003cFeroxbuster::Statistics:0x000056472fabacd0 @timeouts=0, @requests=18, @expected_per_scan=6, @total_expected=12, @errors=0, @successes=12, @redirects=0, @client_errors=6, @server_errors=0, @total_scans=2, @initial_targets=0, @links_extracted=0, @extensions_collected=0, @status_200s=12, @status_301s=0, @status_302s=0, @status_401s=0, @status_403s=0, @status_429s=0, @status_500s=0, @status_503s=0, @status_504s=0, @status_508s=0, @wildcards_filtered=0, @responses_filtered=0, @resources_discovered=4, @url_format_errors=0, @redirection_errors=0, @connection_errors=0, @request_errors=0, @directory_scan_times=[0.434531853, 0.434228035], @total_runtime=[1.6527268240000001]\u003e\n```\n\n## Requirements\n\n* [ruby] \u003e= 2.0.0\n* [feroxbuster] \u003e= 2.7.0\n* [command_mapper] ~\u003e 0.2, \u003e= 0.2.1\n\n[ruby]: https://www.ruby-lang.org/\n[command_mapper]: https://github.com/postmodern/command_mapper.rb#readme\n\n## Install\n\n```shell\n$ gem install ruby-feroxbuster\n```\n\n### gemspec\n\n```ruby\ngemspec.add_dependency 'ruby-feroxbuster', '~\u003e 0.1'\n```\n\n### Gemfile\n\n```ruby\ngem 'ruby-feroxbuster', '~\u003e 0.1'\n```\n\n## License\n\nCopyright (c) 2022 Hal Brodigan\n\nSee {file:LICENSE.txt} for license information.\n\n[feroxbuster]: https://github.com/epi052/feroxbuster#readme\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpostmodern%2Fruby-feroxbuster","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fpostmodern%2Fruby-feroxbuster","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpostmodern%2Fruby-feroxbuster/lists"}