Giter Site home page Giter Site logo

sethmlarson / hstspreload Goto Github PK

View Code? Open in Web Editor NEW
9.0 3.0 6.0 13.13 MB

Chromium HSTS Preload list as a Python package and updated daily.

Home Page: https://hstspreload.org

License: BSD 3-Clause "New" or "Revised" License

Python 97.16% Shell 2.84%
hsts preload chromium http http-client https tls

hstspreload's Introduction

hstspreload

Version Downloads CI

Chromium HSTS Preload list as a Python package.

Install via python -m pip install hstspreload

See https://hstspreload.org for more information regarding the list itself.

API

The package provides a single function: in_hsts_preload() which takes an IDNA-encoded host and returns either True or False regarding whether that host should be only accessed via HTTPS.

Changelog

This package is built entirely by an automated script running once a month. If you need a release sooner of the package please reach out and I'll trigger a release manually.

This script gathers the HSTS Preload list by monitoring this file in the Chromium repository. Changes to the HSTS Preload list can be seen in the history of that file.

License

BSD-3

hstspreload's People

Contributors

apollo13 avatar dalf avatar f0ff886f avatar sethmlarson avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

hstspreload's Issues

tag releases

Would it be possible to tag releases on GitHub that correspond to PyPI releases?

I'm trying to package this for Fedora. I'd like to run the tests during the RPM build, but they aren't included in the PyPI sdist (which is fine), so I need to use a GitHub tarball, but that is more difficult without tags. I don't need all the old releases tagged, but getting the current release and future releases tagged would be awesome.

Cannot find hstspreload.bin when bundled with PyInstaller

See: https://mystb.in/cipiparicu.py

Traceback (most recent call last):
  File "main.py", line 113, in <module>
  File "click/core.py", line 764, in __call__
  File "click/core.py", line 717, in main
  File "click/core.py", line 1137, in invoke
  File "click/core.py", line 956, in invoke
  File "click/core.py", line 555, in invoke
  File "main.py", line 47, in cmd_download
  File "main.py", line 108, in extract_direct_download_links
  File "main.py", line 97, in do_download
  File "anido/stream_downloader.py", line 50, in download
  File "anido/stream_downloader.py", line 39, in stream
  File "httpx/client.py", line 820, in get
  File "httpx/client.py", line 725, in request
  File "httpx/client.py", line 324, in build_request
  File "httpx/client.py", line 164, in merge_url
  File "hstspreload/__init__.py", line 88, in in_hsts_preload
FileNotFoundError: [Errno 2] No such file or directory: '/var/folders/vr/qsr1bv8j2cs6g7zkkx3x9ggh0000gn/T/_MEI0GSWAu/hstspreload/hstspreload.bin'

Create a mode that works well with async

  • Create a public name for the binary file path.
  • Move the jump tables into the source file to reduce number of seek() calls by half.
  • Allow feeding data into a function that returns a tuple of (found, is_leaf, include_subdomain)
  • Keep the caching for the sans-I/O approach
  • Switch the sync approach to use the sans-I/O approach behind the scenes.

Question About Getting Wheels For Library :)

Hey there!

Hope all has been well!
I really dig this library that's been crafted!

I was wondering if it would ever be possible to get the binary blobs / wheels for the library:

pip3 download --only-binary=:all: hstspreload 

or via:

pip download --only-binary=:all: hstspreload 

To avoid this:

ERROR: Could not find a version that satisfies the requirement hstspreload (from versions: none)
ERROR: No matching distribution found for hstspreload

Thanks for any input / feedback!

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.