{"id":16841351,"url":"https://github.com/thebeanogamer/hstsparser","last_synced_at":"2025-07-30T19:33:38.377Z","repository":{"id":36124671,"uuid":"219775794","full_name":"thebeanogamer/hstsparser","owner":"thebeanogamer","description":"A tool to parse Firefox and Chrome HSTS databases into forensic artifacts!","archived":false,"fork":false,"pushed_at":"2024-07-06T00:33:02.000Z","size":372,"stargazers_count":26,"open_issues_count":9,"forks_count":2,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-07-11T07:25:48.256Z","etag":null,"topics":["chrome","dfir","firefox","forensics","hsts"],"latest_commit_sha":null,"homepage":"https://blog.daniel-milnes.uk/hsts-for-forensics-you-can-run-but-you-cant","language":"Python","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/thebeanogamer.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":"2019-11-05T15:16:35.000Z","updated_at":"2024-12-30T22:24:36.000Z","dependencies_parsed_at":"2024-04-07T20:21:40.549Z","dependency_job_id":"2fbdce16-4e8e-4871-bfcb-c06639b6c1c6","html_url":"https://github.com/thebeanogamer/hstsparser","commit_stats":{"total_commits":66,"total_committers":7,"mean_commits":9.428571428571429,"dds":0.6818181818181819,"last_synced_commit":"16826dbf074da4e621287a36c0231cf890f53a9a"},"previous_names":[],"tags_count":12,"template":false,"template_full_name":null,"purl":"pkg:github/thebeanogamer/hstsparser","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thebeanogamer%2Fhstsparser","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thebeanogamer%2Fhstsparser/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thebeanogamer%2Fhstsparser/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thebeanogamer%2Fhstsparser/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/thebeanogamer","download_url":"https://codeload.github.com/thebeanogamer/hstsparser/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thebeanogamer%2Fhstsparser/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":267928985,"owners_count":24167431,"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","status":"online","status_checked_at":"2025-07-30T02:00:09.044Z","response_time":70,"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"}},"keywords":["chrome","dfir","firefox","forensics","hsts"],"created_at":"2024-10-13T12:41:37.113Z","updated_at":"2025-07-30T19:33:38.302Z","avatar_url":"https://github.com/thebeanogamer.png","language":"Python","funding_links":[],"categories":["\u003ca id=\"ecb63dfb62722feb6d43a9506515b4e3\"\u003e\u003c/a\u003e新添加"],"sub_categories":[],"readme":"# HSTS Parser\n\n[![Lint Codebase](https://github.com/thebeanogamer/hstsparser/actions/workflows/lint.yaml/badge.svg)](https://github.com/thebeanogamer/hstsparser/actions/workflows/lint.yaml) [![Build Releases](https://github.com/thebeanogamer/hstsparser/actions/workflows/build.yaml/badge.svg)](https://github.com/thebeanogamer/hstsparser/actions/workflows/build.yaml) [![Licence](https://img.shields.io/github/license/thebeanogamer/hstsparser)](./LICENSE) ![Python 3.11.x](https://img.shields.io/badge/python-3.11.x-yellow.svg) [![PyPI](https://img.shields.io/pypi/v/hstsparser)](https://pypi.org/project/hstsparser) [![Downloads](https://pepy.tech/badge/hstsparser)](https://pepy.tech/project/hstsparser) [![Copr build status](https://copr.fedorainfracloud.org/coprs/thebeanogamer/hstsparser/package/hstsparser/status_image/last_build.png)](https://copr.fedorainfracloud.org/coprs/thebeanogamer/hstsparser/package/hstsparser/)\n\nHSTS Parser is a simple tool to parse Firefox and Chrome's HSTS databases into actually helpful forensic artifacts! You can read more about the research behind this tool and potential uses for it over on [my blog](https://blog.daniel-milnes.uk/hsts-for-forensics-you-can-run-but-you-cant)!\n\n## Installation\n\nHSTS Parser can be installed via pip, or as a native executable.\n\n### From PyPi\n\nIf you already have Python installed, you can install HSTS Parser using pip.\n\n```bash\npip install hstsparser\n```\n\n### On Fedora\n\n[![Fedora package](https://img.shields.io/fedora/v/hstsparser/f38?label=Fedora%2038\u0026link=https%3A%2F%2Fpackages.fedoraproject.org%2Fpkgs%2Fhstsparser%2Fhstsparser%2F)](https://packages.fedoraproject.org/pkgs/hstsparser/hstsparser/) [![Fedora package](https://img.shields.io/fedora/v/hstsparser/rawhide?label=Fedora%20Rawhide\u0026link=https%3A%2F%2Fpackages.fedoraproject.org%2Fpkgs%2Fhstsparser%2Fhstsparser%2F)](\u003chttps://packages.fedoraproject.org/pkgs/hstsparser/hstsparser/\u003e)\n\nHSTS Parser is available for Fedora 38+.\n\n```bash\ndnf install hstsparser\n```\n\n### On Windows\n\nWindows binaries are published by GitHub Actions CI for each release of HSTS Parser. You can download these on the [releases page](https://github.com/thebeanogamer/hstsparser/releases/latest).\n\n## Usage\n\nAll of the below documentation is written for the Python version rather than the standalone executable, but the commands will be the same.\n\n```shell\n$ hstsparser -h\nusage: hstsparser [-h] [-w WORDLIST] [--csv CSV] (--firefox | --chrome) FILE\n\nProcess HSTS databases\n\npositional arguments:\n  FILE         The path to the database to be processed\n\noptional arguments:\n  -h, --help   show this help message and exit\n  -w WORDLIST  The path to a file containing a wordlist for bruteforcing hashes\n  --csv CSV    Output to a CSV file\n  --firefox    Process a Firefox database\n  --chrome     Process a Chrome database\n```\n\n### Examples\n\n#### Firefox\n\n```shell\nhstsparser --firefox SiteSecurityServiceState.txt\n```\n\n#### Chrome\n\n```shell\nhstsparser --chrome TransportSecurity\n```\n\n#### Chrome with Wordlist\n\n```shell\nhstsparser -w wordlist.txt --chrome TransportSecurity\n```\n\n## Screenshots\n\n### Firefox\n\n![Screenshot of Firefox Processing](https://blog.daniel-milnes.uk/content/images/2019/11/image-3.png)\n\n### Chrome with Wordlist\n\n![Screenshot of Chrome Processing with a wordlist](https://blog.daniel-milnes.uk/content/images/2019/11/image-4.png)\n\n## Links\n\n- [My Blog Post](https://blog.daniel-milnes.uk/hsts-for-forensics-you-can-run-but-you-cant)\n- [MDN - HSTS](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Strict-Transport-Security)\n- [Chromium - HSTS](https://www.chromium.org/hsts)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fthebeanogamer%2Fhstsparser","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fthebeanogamer%2Fhstsparser","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fthebeanogamer%2Fhstsparser/lists"}