{"id":13528190,"url":"https://github.com/mozilla/http-observatory","last_synced_at":"2025-04-09T02:07:14.095Z","repository":{"id":3828986,"uuid":"51037508","full_name":"mozilla/http-observatory","owner":"mozilla","description":"Mozilla HTTP Observatory","archived":false,"fork":false,"pushed_at":"2024-10-22T09:18:12.000Z","size":5395,"stargazers_count":1862,"open_issues_count":91,"forks_count":170,"subscribers_count":68,"default_branch":"main","last_synced_at":"2024-10-29T09:42:28.437Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"https://observatory.mozilla.org/","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mpl-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/mozilla.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","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-02-03T23:09:17.000Z","updated_at":"2024-10-28T01:55:48.000Z","dependencies_parsed_at":"2024-01-13T22:23:03.318Z","dependency_job_id":"f435266c-e567-483e-b99c-c56282ec9beb","html_url":"https://github.com/mozilla/http-observatory","commit_stats":{"total_commits":491,"total_committers":28,"mean_commits":"17.535714285714285","dds":"0.39511201629327897","last_synced_commit":"695eff1b0a3ba362b473f14c6d6c569e88c14f48"},"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mozilla%2Fhttp-observatory","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mozilla%2Fhttp-observatory/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mozilla%2Fhttp-observatory/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mozilla%2Fhttp-observatory/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/mozilla","download_url":"https://codeload.github.com/mozilla/http-observatory/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247631833,"owners_count":20970069,"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-01T06:02:17.201Z","updated_at":"2025-04-09T02:07:14.068Z","avatar_url":"https://github.com/mozilla.png","language":"Python","readme":"\u003e [!IMPORTANT]\n\u003e\n\u003e ## ⚠️ Deprecation Announcement for Mozilla HTTP Observatory\n\u003e\n\u003e Dear Mozilla Observatory Users,\n\u003e\n\u003e This code repository is now deprecated. There is a [Node/Javascript based replacement available](https://github.com/mdn/mdn-http-observatory/), that has updated scoring and backs the [HTTP Observatory service on MDN](https://developer.mozilla.org/en-US/observatory).\n\u003e\n\u003e ### 🛠️ What This Means\n\u003e\n\u003e * No Further Updates: We will no longer be providing updates, bug fixes, or new features for this repository.\n\u003e * Limited Support: Official support will be discontinued.\n\u003e * Archival: The repository will be archived soon, making it read-only.\n\u003e\n\u003e 🔍 Alternatives and Recommendations\n\u003e\n\u003e We recommend transitioning to [HTTP Observatory](https://github.com/mdn/mdn-http-observatory/), maintained by [MDN](https://developer.mozilla.org).\n\u003e\n\u003e 📦 Migration Guide\n\u003e\n\u003e To assist you in transitioning, we have prepared a [Migration Guide](https://github.com/mdn/mdn-http-observatory/blob/main/README.md#migrating-from-the-public-v1-api-to-the-v2-api) that covers steps to migrate your existing setup to the alternative.\n\n# Mozilla HTTP Observatory\n\nThe Mozilla HTTP Observatory is a set of tools to analyze your website and inform you if you are utilizing the many available methods to secure it.\n\nIt is split into three projects:\n\n* [http-observatory](https://github.com/mozilla/http-observatory) - scanner/grader\n* [observatory-cli](https://github.com/mozilla/observatory-cli) - command line interface\n* [http-observatory-website](https://github.com/mozilla/http-observatory-website) - web interface\n\n## Scanning sites with the HTTP Observatory\n\nSites can be scanned using:\n\n* [observatory.mozilla.org](https://observatory.mozilla.org/) - the online interface\n* [observatory-cli](https://github.com/mozilla/observatory-cli) - the official node.js command line interface\n* [java-http-observatory-api](https://github.com/stoennies/java-http-observatory-api) - a third party java library and command line interface\n\n## Development\n\n### Prerequisites\n\n* Python 3.11\n* Git\n* pip\n\n#### Notes\n\nThese instructions assume that you have a working Python3.11 development environment with `pip` installed and capable of building requirements, which may require installing an additional python OS package (`-dev`, `-devel`).\n\n```bash\n# Clone the code\n$ git clone https://github.com/mozilla/http-observatory.git\n$ cd http-observatory\n# Install poetry\n$ pip install poetry\n# Install the project dependencies and scripts\n$ poetry install\n# Activate the virtual environment\n$ poetry shell\n# Install the pre-commit hooks\n$ pre-commit install\n# copy and edit the config file\n$ cp httpobs/conf/httpobs.conf ~/.httpobs.conf\n$ nano ~/.httpobs.conf\n# start the dev server\n$ httpobs-server\n```\n\n### Running tests\n\n```bash\nnosetests httpobs/tests --with-coverage --cover-package=httpobs\n```\n\n## Running a scan from the local codebase, without DB, for continuous integration\n\n```bash\n# Install the HTTP Observatory\n$ git clone https://github.com/mozilla/http-observatory.git\n$ cd http-observatory\n$ pip install poetry\n$ poetry install\n```\n\n### Using the scanner function calls\n\n```python\n\u003e\u003e\u003e from httpobs.scanner import scan\n\u003e\u003e\u003e scan('observatory.mozilla.org')  # a scan with default options\n\u003e\u003e\u003e scan('observatory.mozilla.org',  # all the custom options\n         http_port=8080,             # http server runs on port 8080\n         https_port=8443,            # https server runs on port 8443\n         path='/foo/bar',            # don't scan /, instead scan /foo/bar\n         cookies={'foo': 'bar'},     # set the \"foo\" cookie to \"bar\"\n         headers={'X-Foo': 'bar'},   # send an X-Foo: bar HTTP header\n         verify=False)               # treat self-signed certs as valid for tests like HSTS\n```\n\n### The same, but with the local CLI\n\n```bash\n$ poetry shell\n$ httpobs-local-scan --http-port 8080 --https-port 8443 --path '/foo/bar' \\\n    --cookies '{\"foo\": \"bar\"}' --headers '{\"X-Foo\": \"bar\"}' --no-verify mozilla.org\n```\n\n## Authors\n\n* April King\n\n## License\n\n* Mozilla Public License Version 2.0\n","funding_links":[],"categories":["Python"],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmozilla%2Fhttp-observatory","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmozilla%2Fhttp-observatory","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmozilla%2Fhttp-observatory/lists"}