Mozilla HTTP Observatory
Перейти к файлу
Andi Pieper 8b59e6e1ce
deploy force-deprecation (#545)
2024-10-22 11:18:12 +02:00
.github/workflows update master branch to main in test.yml (#518) 2024-01-17 11:07:45 +00:00
httpobs deploy force-deprecation (#545) 2024-10-22 11:18:12 +02:00
.coveragerc Have coverage display missing lines 2017-09-26 13:46:29 -05:00
.flake8 add black formatter 2024-01-03 18:07:23 +00:00
.git-blame-ignore-revs ignore formatting commits in git blame 2024-01-03 18:11:56 +00:00
.gitignore Added multiple -r flags instead of dependency chaining 2017-07-12 12:02:44 -05:00
.pre-commit-config.yaml add isort formatter 2024-01-03 18:07:35 +00:00
CODE_OF_CONDUCT.md run pre-commit against all files 2024-01-03 17:56:17 +00:00
Dockerfile migrate to poetry and upgrade deps 2023-10-06 14:28:06 +00:00
LICENSE Initial commit of the HTTP Observatory 2016-02-03 17:12:33 -06:00
README.md chore: deprecation added (#544) 2024-10-21 18:50:11 +02:00
docker-compose.yml remove separate scanner instance 2024-01-03 19:31:53 +00:00
poetry.lock Bump jinja2 from 3.1.2 to 3.1.3 (#517) 2024-01-17 10:41:10 +00:00
pyproject.toml add httpobs-regen-hsts-preload script to poetry config 2024-01-05 12:23:41 +00:00

README.md

[!IMPORTANT]

⚠️ Deprecation Announcement for Mozilla HTTP Observatory

Dear Mozilla Observatory Users,

This code repository is now deprecated. There is a Node/Javascript based replacement available, that has updated scoring and backs the HTTP Observatory service on MDN.

🛠️ What This Means

  • No Further Updates: We will no longer be providing updates, bug fixes, or new features for this repository.
  • Limited Support: Official support will be discontinued.
  • Archival: The repository will be archived soon, making it read-only.

🔍 Alternatives and Recommendations

We recommend transitioning to HTTP Observatory, maintained by MDN.

📦 Migration Guide

To assist you in transitioning, we have prepared a Migration Guide that covers steps to migrate your existing setup to the alternative.

Mozilla HTTP Observatory

The 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.

It is split into three projects:

Scanning sites with the HTTP Observatory

Sites can be scanned using:

Development

Prerequisites

  • Python 3.11
  • Git
  • pip

Notes

These 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).

# Clone the code
$ git clone https://github.com/mozilla/http-observatory.git
$ cd http-observatory
# Install poetry
$ pip install poetry
# Install the project dependencies and scripts
$ poetry install
# Activate the virtual environment
$ poetry shell
# Install the pre-commit hooks
$ pre-commit install
# copy and edit the config file
$ cp httpobs/conf/httpobs.conf ~/.httpobs.conf
$ nano ~/.httpobs.conf
# start the dev server
$ httpobs-server

Running tests

nosetests httpobs/tests --with-coverage --cover-package=httpobs

Running a scan from the local codebase, without DB, for continuous integration

# Install the HTTP Observatory
$ git clone https://github.com/mozilla/http-observatory.git
$ cd http-observatory
$ pip install poetry
$ poetry install

Using the scanner function calls

>>> from httpobs.scanner import scan
>>> scan('observatory.mozilla.org')  # a scan with default options
>>> scan('observatory.mozilla.org',  # all the custom options
         http_port=8080,             # http server runs on port 8080
         https_port=8443,            # https server runs on port 8443
         path='/foo/bar',            # don't scan /, instead scan /foo/bar
         cookies={'foo': 'bar'},     # set the "foo" cookie to "bar"
         headers={'X-Foo': 'bar'},   # send an X-Foo: bar HTTP header
         verify=False)               # treat self-signed certs as valid for tests like HSTS

The same, but with the local CLI

$ poetry shell
$ httpobs-local-scan --http-port 8080 --https-port 8443 --path '/foo/bar' \
    --cookies '{"foo": "bar"}' --headers '{"X-Foo": "bar"}' --no-verify mozilla.org

Authors

  • April King

License

  • Mozilla Public License Version 2.0