Git Product home page Git Product logo

hstspreload.org's Introduction

Logo Chromium

Chromium is an open-source browser project that aims to build a safer, faster, and more stable way for all users to experience the web.

The project's web site is https://www.chromium.org.

To check out the source code locally, don't use git clone! Instead, follow the instructions on how to get the code.

Documentation in the source is rooted in docs/README.md.

Learn how to Get Around the Chromium Source Code Directory Structure.

For historical reasons, there are some small top level directories. Now the guidance is that new top level directories are for product (e.g. Chrome, Android WebView, Ash). Even if these products have multiple executables, the code should be in subdirectories of the product.

If you found a bug, please file it at https://crbug.com/new.

hstspreload.org's People

Contributors

agl avatar april avatar bkhushi avatar carlosjoan91 avatar christhompson avatar coliff avatar dcarley avatar dependabot[bot] avatar devonobrien avatar ericlaw1979 avatar estark37 avatar golint-fixer avatar infinitudeuk avatar injust avatar jianglai avatar jsha avatar lgarron avatar martijnc avatar nharper avatar prefixtitle avatar schweinepriester avatar scotthelme avatar teh-maxh avatar testwill avatar tjbaker avatar tkabiawu avatar vcsjones avatar xhmikosr avatar xiaoyinl avatar zeroocool avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

hstspreload.org's Issues

Managed VMs are slow to deploy

Currently, Managed VM deploys take about 5 minutes, even though the server code is only a few dozen files and can built and run (via go run) in a few seconds.
I can sometimes do other work during a deploy, but often I just have to twiddle my thumbs before I can check if the deploy worked.

Given how slow that is, it might literally be more cost-effective to buy a domain and run on a VM.

Problems redirecting to the www subdomain

Hi all. I can't figure out how to fix my .htaccess file to not throw up an error — namely, 'Error: HTTP redirects to www first.'

http://acmewidgets.com (HTTP) should immediately redirect to https://acmewidgets.com (HTTPS) before adding the www subdomain. Right now, the first redirect is to https://www.acmewidgets.com/.

My .htaccess file is as follows. Can anyone tell me what I'm doing wrong? I've experimented but it just ends up breaking my redirect. 😢

Header always set Strict-Transport-Security "max-age=31536000; includeSubDomains; preload" env=HTTPS

RewriteCond %{HTTP_HOST} ^acmewidgets.com [NC]
RewriteRule ^(.*)$ https://www.acmewidgets.com/$1 [L,R=301]

Allow servers that block port 80 to preload

The second requirement says: "Redirect from HTTP to HTTPS on the same host." I'd like to suggest changing it to "redirect from HTTP to HTTPS on the same host, or don't allow connections to port 80". The reason is that some servers may want to completely block plaintext HTTP if the domain is not visited by users directly (such as image, JavaScript hosting domains).

Implement a frontend

I've experimented both with Javascript and server-side templating.

Due to the large potential in variation for how long it takes to check a domain (latency to server, 10s timeouts for certain checks depending on server configuration), it is much better to show a spinner than to block a page load. I don't want to do any tricks that render the static content with some parts delayed, so the best solution is to go all-in on Javascript.

Given that the current site uses Javascript, I don't think this will be a problem.

The site to submit is broken

When submitting a site, loader keeps spinning for minutes and minutes. SSL checking can be slow, I know (Qualys SSL Labs), but this ends up doing nothing.

Wrong HSTS header detection when multiple redirects involved

Here is an example: http://wmfusercontent.org redirects to https://wmfusercontent.org, which then redirects to https://www.wikimedia.org. https://wmfusercontent.org sets the HSTS header with includeSubDomain and preload, which I believe satisfy all requirements for preloading, although https://www.wikimedia.org doesn't set includeSubDomain directive. But the error message says:

HTTP redirects to a page without HSTS
http://wmfusercontent.org redirects to https://wmfusercontent.org/, which does not serve a HSTS header that satisfies preload conditions. First error: No includeSubDomains directive

Could you please clarify the requirements or is the error message wrong? Thanks!

API returns preloaded "No" for subdomains where parent domain is preloaded

If I do a query for gist.github.com, it will say that it's not preloaded, even though the parent domain (github.com) is preloaded.

This is a bit confusing because the HTTP Observatory says that it's pinned (which it is, because includeSubDomains is set with preload), but the hstspreload results say that it isn't.

Also, I have just some general curmudgeonly issues about the response being "Yes" or "No", instead of a boolean. That said, a great option would be "Yes", "No", and "viaParentDomain" or something like that.

Introduce a versioned API

Motivated by #35.

Ideally, everyone would use transport_security_state_static.json as the source of truth. However, a raw download from git requires reading base 64 and stripping // comments (taking into account that there are URl strings containing //) just to get to the JSON content. And if everyone does it, it's an unnecessary load on the git server.

Anyone using Go can use preloadlist.NewFromLatest(), but not everyone uses Go.

Proposal: tell devs to use a future-proof URL like https://hstspreload.appspot.com/v2/status?domain=example.com
If we version properly, we can still change the API if needed (and send 404 Not Found or 410 Gone for old versions).

Cannot add an IPv6-only site

I'd like to add the site https://neběží.xyz (https://xn--neb-tma3u8u.xyz) to the HSTS preload list. This site is intentionally accessible only over IPv6.

When I submit the preload request via https://hstspreload.appspot.com/?domain=neb%C4%9B%C5%BE%C3%AD.xyz I get this error response:

Error: Cannot connect using TLS
We cannot connect to https://xn--neb-tma3u8u.xyz using TLS ("Get https://xn--neb-tma3u8u.xyz: dial tcp [2001:1528:132:70::ebe2]:443: connect: network is unreachable").

Running /update a second time on a fresh database results in one attempted update.

Run once:

> curl localhost:8080/update

Run again, and PutStates tries to write:

> curl localhost:8080/update
The preload list has 11360 entries.
- # of preloaded HSTS entries: 11101
- # to be added in this update: 1
- # to be removed this update: 0
[]string{"zzw.ca"}
Updating 1 entries... done.
Success. 1 domain states updated.

HTTP redirect without subdomain.

With the error message...

`http://example.com` (HTTP) should immediately redirect to
`https://example.com` (HTTPS) before adding the www subdomain. 
Right now, the first redirect is to `https://www.example.com/`.

May I ask why this needs to be the case?

The website I have in mind uses the www subdomain to give a cookie-less subdomain, and to potentially allow us to use a CDN in future (typically they use a CNAME DNS entry).

So I've setup a redirect, and from a performance point of view, I want to avoid doing two 301 redirects.

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.