{"id":3517150,"name":"github.com/sensepost/ruler","ecosystem":"go","description":"","homepage":"https://github.com/sensepost/ruler","licenses":"CC0-1.0","normalized_licenses":["CC0-1.0"],"repository_url":"https://github.com/sensepost/ruler","keywords_array":[],"namespace":"github.com/sensepost","versions_count":2,"first_release_published_at":"2017-03-23T08:58:53.000Z","latest_release_published_at":"2017-04-06T12:37:02.000Z","latest_release_number":"v2.0.18+incompatible","last_synced_at":"2026-10-06T04:53:15.231Z","created_at":"2022-04-10T21:45:19.105Z","updated_at":"2026-10-06T04:53:15.232Z","registry_url":"https://pkg.go.dev/github.com/sensepost/ruler","install_command":"go get github.com/sensepost/ruler","documentation_url":"https://pkg.go.dev/github.com/sensepost/ruler#section-documentation","metadata":null,"repo_metadata":{"id":41176450,"uuid":"66006898","full_name":"sensepost/ruler","owner":"sensepost","description":"A tool to abuse Exchange services","archived":false,"fork":false,"pushed_at":"2024-06-10T11:03:07.000Z","size":7656,"stargazers_count":2311,"open_issues_count":14,"forks_count":356,"subscribers_count":94,"default_branch":"master","last_synced_at":"2026-10-05T22:24:17.172Z","etag":null,"topics":["exchange","mapi","pentesting","shells"],"latest_commit_sha":null,"homepage":null,"language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/sensepost.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":"2016-08-18T15:05:13.000Z","updated_at":"2026-10-02T21:14:45.000Z","dependencies_parsed_at":"2024-06-09T10:42:05.655Z","dependency_job_id":"57ff9fb4-bce6-4cb2-aee5-80ac6cc41ba5","html_url":"https://github.com/sensepost/ruler","commit_stats":{"total_commits":256,"total_committers":9,"mean_commits":"28.444444444444443","dds":0.16796875,"last_synced_commit":"1e5ee2d80fd0452e2c898aa3a2073edf54640f42"},"previous_names":[],"tags_count":21,"template":false,"template_full_name":null,"purl":"pkg:github/sensepost/ruler","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sensepost%2Fruler","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sensepost%2Fruler/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sensepost%2Fruler/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sensepost%2Fruler/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/sensepost","download_url":"https://codeload.github.com/sensepost/ruler/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sensepost%2Fruler/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":343170754,"owners_count":38070948,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-10-03T21:59:58.778Z","status":"online","status_checked_at":"2026-10-06T02:00:06.537Z","response_time":86,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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"},"owner_record":{"login":"sensepost","name":"SensePost","uuid":"1193973","kind":"organization","description":"Orange Cyberdefense's Ethical Hacking Team","email":"research@sensepost.com","website":"https://sensepost.com/","location":"The World","twitter":"sensepost","company":null,"icon_url":"https://avatars.githubusercontent.com/u/1193973?v=4","repositories_count":135,"last_synced_at":"2026-10-05T11:53:49.149Z","metadata":{"has_sponsors_listing":false,"funding":null},"html_url":"https://github.com/sensepost","funding_links":[],"total_stars":34245,"followers":933,"following":0,"created_at":"2022-11-03T09:56:53.075Z","updated_at":"2026-10-05T11:53:49.162Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/sensepost","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/sensepost/repositories"},"tags":[{"name":"2.4.1-unicode","sha":"17df01d8d82a8cd6817e164b318194a0dacbe24e","kind":"commit","published_at":"2021-02-19T09:21:01.000Z","download_url":"https://codeload.github.com/sensepost/ruler/tar.gz/2.4.1-unicode","html_url":"https://github.com/sensepost/ruler/releases/tag/2.4.1-unicode","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sensepost/ruler@2.4.1-unicode","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sensepost%2Fruler/tags/2.4.1-unicode","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sensepost%2Fruler/tags/2.4.1-unicode/manifests"},{"name":"2.4.1","sha":"1e5ee2d80fd0452e2c898aa3a2073edf54640f42","kind":"commit","published_at":"2021-02-19T09:07:52.000Z","download_url":"https://codeload.github.com/sensepost/ruler/tar.gz/2.4.1","html_url":"https://github.com/sensepost/ruler/releases/tag/2.4.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sensepost/ruler@2.4.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sensepost%2Fruler/tags/2.4.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sensepost%2Fruler/tags/2.4.1/manifests"},{"name":"2.5.0","sha":"19abcd8f95799938cda5cea8c628a000bf8f7479","kind":"commit","published_at":"2020-05-03T09:51:17.000Z","download_url":"https://codeload.github.com/sensepost/ruler/tar.gz/2.5.0","html_url":"https://github.com/sensepost/ruler/releases/tag/2.5.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sensepost/ruler@2.5.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sensepost%2Fruler/tags/2.5.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sensepost%2Fruler/tags/2.5.0/manifests"},{"name":"2.4.0","sha":"19abcd8f95799938cda5cea8c628a000bf8f7479","kind":"commit","published_at":"2020-05-03T09:51:17.000Z","download_url":"https://codeload.github.com/sensepost/ruler/tar.gz/2.4.0","html_url":"https://github.com/sensepost/ruler/releases/tag/2.4.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sensepost/ruler@2.4.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sensepost%2Fruler/tags/2.4.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sensepost%2Fruler/tags/2.4.0/manifests"},{"name":"2.3","sha":"2180df17f0ea02cd7e146e20d07d70a5f5c68d33","kind":"commit","published_at":"2020-02-17T18:04:28.000Z","download_url":"https://codeload.github.com/sensepost/ruler/tar.gz/2.3","html_url":"https://github.com/sensepost/ruler/releases/tag/2.3","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sensepost/ruler@2.3","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sensepost%2Fruler/tags/2.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sensepost%2Fruler/tags/2.3/manifests"},{"name":"2.2.0","sha":"c30f363f0f470080eaaaee89e27d39d29ad0d28d","kind":"commit","published_at":"2017-11-01T13:04:41.000Z","download_url":"https://codeload.github.com/sensepost/ruler/tar.gz/2.2.0","html_url":"https://github.com/sensepost/ruler/releases/tag/2.2.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sensepost/ruler@2.2.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sensepost%2Fruler/tags/2.2.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sensepost%2Fruler/tags/2.2.0/manifests"},{"name":"2.1.9","sha":"8f146e464dd3631ca12c8d02c6a611785bdf5fb8","kind":"commit","published_at":"2017-10-11T07:32:20.000Z","download_url":"https://codeload.github.com/sensepost/ruler/tar.gz/2.1.9","html_url":"https://github.com/sensepost/ruler/releases/tag/2.1.9","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sensepost/ruler@2.1.9","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sensepost%2Fruler/tags/2.1.9","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sensepost%2Fruler/tags/2.1.9/manifests"},{"name":"2.1.8","sha":"36a59184db4631c3b006bc364cb6d42abb68ed87","kind":"commit","published_at":"2017-08-10T10:27:23.000Z","download_url":"https://codeload.github.com/sensepost/ruler/tar.gz/2.1.8","html_url":"https://github.com/sensepost/ruler/releases/tag/2.1.8","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sensepost/ruler@2.1.8","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sensepost%2Fruler/tags/2.1.8","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sensepost%2Fruler/tags/2.1.8/manifests"},{"name":"2.1.7","sha":"a54ca8f36f926af10d6f832cf6c665b4e9f55463","kind":"commit","published_at":"2017-06-07T08:16:25.000Z","download_url":"https://codeload.github.com/sensepost/ruler/tar.gz/2.1.7","html_url":"https://github.com/sensepost/ruler/releases/tag/2.1.7","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sensepost/ruler@2.1.7","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sensepost%2Fruler/tags/2.1.7","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sensepost%2Fruler/tags/2.1.7/manifests"},{"name":"2.1.6","sha":"afa66ee5a8a88d018787867820b7ae6fe4b3ffae","kind":"commit","published_at":"2017-05-11T14:03:21.000Z","download_url":"https://codeload.github.com/sensepost/ruler/tar.gz/2.1.6","html_url":"https://github.com/sensepost/ruler/releases/tag/2.1.6","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sensepost/ruler@2.1.6","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sensepost%2Fruler/tags/2.1.6","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sensepost%2Fruler/tags/2.1.6/manifests"},{"name":"2.1.5","sha":"25dbf0a9d7e9cfa6db7c0637230dfa82693594cc","kind":"commit","published_at":"2017-05-05T12:59:51.000Z","download_url":"https://codeload.github.com/sensepost/ruler/tar.gz/2.1.5","html_url":"https://github.com/sensepost/ruler/releases/tag/2.1.5","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sensepost/ruler@2.1.5","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sensepost%2Fruler/tags/2.1.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sensepost%2Fruler/tags/2.1.5/manifests"},{"name":"2.1.4","sha":"8622fd64989f766d2a523cb556ac1e91f1466e05","kind":"commit","published_at":"2017-05-04T13:46:16.000Z","download_url":"https://codeload.github.com/sensepost/ruler/tar.gz/2.1.4","html_url":"https://github.com/sensepost/ruler/releases/tag/2.1.4","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sensepost/ruler@2.1.4","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sensepost%2Fruler/tags/2.1.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sensepost%2Fruler/tags/2.1.4/manifests"},{"name":"2.1.3","sha":"23a63108786245043bc033c45df14f2701c6f358","kind":"commit","published_at":"2017-05-03T15:03:33.000Z","download_url":"https://codeload.github.com/sensepost/ruler/tar.gz/2.1.3","html_url":"https://github.com/sensepost/ruler/releases/tag/2.1.3","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sensepost/ruler@2.1.3","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sensepost%2Fruler/tags/2.1.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sensepost%2Fruler/tags/2.1.3/manifests"},{"name":"2.1.1","sha":"2d0fadcadd137f49ae3b75e29916b5bbfd85464c","kind":"commit","published_at":"2017-05-01T15:08:45.000Z","download_url":"https://codeload.github.com/sensepost/ruler/tar.gz/2.1.1","html_url":"https://github.com/sensepost/ruler/releases/tag/2.1.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sensepost/ruler@2.1.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sensepost%2Fruler/tags/2.1.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sensepost%2Fruler/tags/2.1.1/manifests"},{"name":"2.1.0","sha":"d8988c3bf1dbc1ee5210898e549b29204842a1ab","kind":"commit","published_at":"2017-05-01T11:09:27.000Z","download_url":"https://codeload.github.com/sensepost/ruler/tar.gz/2.1.0","html_url":"https://github.com/sensepost/ruler/releases/tag/2.1.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sensepost/ruler@2.1.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sensepost%2Fruler/tags/2.1.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sensepost%2Fruler/tags/2.1.0/manifests"},{"name":"v2.0.18","sha":"31a6680dd5a0d15c066d41633d516f8afe545c9d","kind":"commit","published_at":"2017-04-06T12:37:02.000Z","download_url":"https://codeload.github.com/sensepost/ruler/tar.gz/v2.0.18","html_url":"https://github.com/sensepost/ruler/releases/tag/v2.0.18","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sensepost/ruler@v2.0.18","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sensepost%2Fruler/tags/v2.0.18","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sensepost%2Fruler/tags/v2.0.18/manifests"},{"name":"v2.0.17","sha":"ce41c301a770901ced3e420e5c3c606fc2c0e29d","kind":"commit","published_at":"2017-03-23T08:58:53.000Z","download_url":"https://codeload.github.com/sensepost/ruler/tar.gz/v2.0.17","html_url":"https://github.com/sensepost/ruler/releases/tag/v2.0.17","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sensepost/ruler@v2.0.17","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sensepost%2Fruler/tags/v2.0.17","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sensepost%2Fruler/tags/v2.0.17/manifests"},{"name":"v2.1","sha":"ddea6a38664dca0575548ab79cce02b1cd2723ac","kind":"commit","published_at":"2016-12-13T18:54:18.000Z","download_url":"https://codeload.github.com/sensepost/ruler/tar.gz/v2.1","html_url":"https://github.com/sensepost/ruler/releases/tag/v2.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sensepost/ruler@v2.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sensepost%2Fruler/tags/v2.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sensepost%2Fruler/tags/v2.1/manifests"},{"name":"v2.0","sha":"8996f5bd6a0e4b34ed0f62a0f126563d172e4d10","kind":"commit","published_at":"2016-12-01T18:08:16.000Z","download_url":"https://codeload.github.com/sensepost/ruler/tar.gz/v2.0","html_url":"https://github.com/sensepost/ruler/releases/tag/v2.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sensepost/ruler@v2.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sensepost%2Fruler/tags/v2.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sensepost%2Fruler/tags/v2.0/manifests"},{"name":"v1.5","sha":"914ce334382b98b02c84e4a08b5e018c21116ff1","kind":"commit","published_at":"2016-11-18T11:32:05.000Z","download_url":"https://codeload.github.com/sensepost/ruler/tar.gz/v1.5","html_url":"https://github.com/sensepost/ruler/releases/tag/v1.5","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sensepost/ruler@v1.5","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sensepost%2Fruler/tags/v1.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sensepost%2Fruler/tags/v1.5/manifests"},{"name":"v1.0","sha":"08ac92e0520a3831a48077f287f49a2cc07fef00","kind":"commit","published_at":"2016-09-06T08:05:13.000Z","download_url":"https://codeload.github.com/sensepost/ruler/tar.gz/v1.0","html_url":"https://github.com/sensepost/ruler/releases/tag/v1.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sensepost/ruler@v1.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sensepost%2Fruler/tags/v1.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sensepost%2Fruler/tags/v1.0/manifests"}]},"repo_metadata_updated_at":"2026-10-06T04:52:48.520Z","dependent_packages_count":0,"downloads":null,"downloads_period":null,"dependent_repos_count":0,"rankings":{"downloads":null,"dependent_repos_count":9.297010515822919,"dependent_packages_count":8.17154093257566,"stargazers_count":1.4888961270338155,"forks_count":1.5164399402780175,"docker_downloads_count":0.6597399077063655,"average":4.226725484683355},"purl":"pkg:golang/github.com/sensepost/ruler","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/go/github.com/sensepost/ruler","docker_dependents_count":2,"docker_downloads_count":1548,"usage_url":"https://repos.ecosyste.ms/usage/go/github.com/sensepost/ruler","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/go/github.com/sensepost/ruler/dependencies","status":null,"funding_links":[],"critical":null,"issue_metadata":{"last_synced_at":"2026-09-27T12:49:23.376Z","issues_count":80,"pull_requests_count":30,"avg_time_to_close_issue":10859038.552238805,"avg_time_to_close_pull_request":1601251.0,"issues_closed_count":67,"pull_requests_closed_count":27,"pull_request_authors_count":7,"issue_authors_count":68,"avg_comments_per_issue":3.0375,"avg_comments_per_pull_request":0.7,"merged_pull_requests_count":23,"bot_issues_count":0,"bot_pull_requests_count":0,"past_year_issues_count":0,"past_year_pull_requests_count":0,"past_year_avg_time_to_close_issue":null,"past_year_avg_time_to_close_pull_request":null,"past_year_issues_closed_count":0,"past_year_pull_requests_closed_count":0,"past_year_pull_request_authors_count":0,"past_year_issue_authors_count":0,"past_year_avg_comments_per_issue":null,"past_year_avg_comments_per_pull_request":null,"past_year_bot_issues_count":0,"past_year_bot_pull_requests_count":0,"past_year_merged_pull_requests_count":0,"issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/sensepost%2Fruler/issues","maintainers":[{"login":"staaldraad","count":12,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/staaldraad"}],"active_maintainers":[]},"versions_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/packages/github.com%2Fsensepost%2Fruler/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/packages/github.com%2Fsensepost%2Fruler/version_numbers","latest_version_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/packages/github.com%2Fsensepost%2Fruler/latest_version","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/packages/github.com%2Fsensepost%2Fruler/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/packages/github.com%2Fsensepost%2Fruler/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/packages/github.com%2Fsensepost%2Fruler/codemeta","maintainers":[]}