Forward the rules database to the 2017.12.6 release.

Triples the number of the rules. Suffix trees are a good idea.
master
vi 2017-12-11 04:29:19 +01:00
parent 72e984ebcb
commit b42958031a
4 changed files with 502 additions and 23 deletions

3
.gitmodules vendored
View File

@ -1,4 +1,3 @@
[submodule "vendor/https-everywhere"] [submodule "vendor/https-everywhere"]
path = vendor/https-everywhere path = vendor/https-everywhere
url = https://git.torproject.org/https-everywhere.git url = https://github.com/EFForg/https-everywhere.git
branch = 4.0

View File

@ -9,12 +9,12 @@ connections when possible."
```haskell ```haskell
λ: :m + Data.HTTPSEverywhere.Rules Network.URI λ: :m + Data.HTTPSEverywhere.Rules Network.URI
λ: rulesets <- getRulesets λ: rules <- getRulesets
λ: let Just eff = parseURI "http://www.eff.org/document/eff-and-aclu-amicus-brief-klayman" λ: let Just it = parseURI "http://httpsnow.org"
λ: rewriteURL rulesets eff λ: rewriteURL rules it
https://www.eff.org/document/eff-and-aclu-amicus-brief-klayman https://httpsnow.org
λ: :m + Network.HTTP.Client Network.HTTP.Client.TLS Control.Applicative Control.Lens λ: :m + Network.HTTP.Client Network.HTTP.Client.TLS Control.Applicative Control.Lens
λ: (req, hub) <- (,) <*> getUri <$> parseUrl "https://github.com/fmap/https-everywhere-rules" λ: (req, hub) <- (,) <*> getUri <$> parseUrl "https://github.com/fmap/https-everywhere-rules"
λ: newManager tlsManagerSettings >>= httpNoBody req <&> destroyCookieJar . responseCookieJar >>= mapM (rewriteCookie rulesets hub) λ: newManager tlsManagerSettings >>= httpNoBody req <&> destroyCookieJar . responseCookieJar >>= mapM (rewriteCookie rules hub)
[Cookie {cookie_name = "_gh_sess", cookie_value = "eyJzZXNzaW9uX2lkIjoiNjBlM2FiOTIxNTdhZTNhNDE5YWQ0ZTk4ZWQzNDRjMjEiLCJzcHlfcmVwbyI6ImZtYXAvaHR0cHMtZXZlcnl3aGVyZS1ydWxlcyIsInNweV9yZXBvX2F0IjoxNDA4ODk2OTM2LCJfY3NyZl90b2tlbiI6IktkbTlwN2JqNGptVmhrYjFIUm9BbkV0a1JTQXRDUXJid2g4VWo4N1g0Q1U9In0%3D--d378daa262b8c12bb82246d5de6b3adc353a3db7", cookie_expiry_time = 3013-12-25 00:00:00 UTC, cookie_domain = "github.com", cookie_path = "/", cookie_creation_time = 2014-08-24 16:15:37.815144 UTC, cookie_last_access_time = 2014-08-24 16:15:37.815144 UTC, cookie_persistent = False, cookie_host_only = True, cookie_secure_only = True, cookie_http_only = True},Cookie {cookie_name = "logged_in", cookie_value = "no", cookie_expiry_time = 2034-08-24 16:15:36 UTC, cookie_domain = "github.com", cookie_path = "/", cookie_creation_time = 2014-08-24 16:15:37.815144 UTC, cookie_last_access_time = 2014-08-24 16:15:37.815144 UTC, cookie_persistent = True, cookie_host_only = False, cookie_secure_only = True, cookie_http_only = True}] [Cookie {cookie_name = "_gh_sess", cookie_value = "eyJzZXNzaW9uX2lkIjoiNjBlM2FiOTIxNTdhZTNhNDE5YWQ0ZTk4ZWQzNDRjMjEiLCJzcHlfcmVwbyI6ImZtYXAvaHR0cHMtZXZlcnl3aGVyZS1ydWxlcyIsInNweV9yZXBvX2F0IjoxNDA4ODk2OTM2LCJfY3NyZl90b2tlbiI6IktkbTlwN2JqNGptVmhrYjFIUm9BbkV0a1JTQXRDUXJid2g4VWo4N1g0Q1U9In0%3D--d378daa262b8c12bb82246d5de6b3adc353a3db7", cookie_expiry_time = 3013-12-25 00:00:00 UTC, cookie_domain = "github.com", cookie_path = "/", cookie_creation_time = 2014-08-24 16:15:37.815144 UTC, cookie_last_access_time = 2014-08-24 16:15:37.815144 UTC, cookie_persistent = False, cookie_host_only = True, cookie_secure_only = True, cookie_http_only = True},Cookie {cookie_name = "logged_in", cookie_value = "no", cookie_expiry_time = 2034-08-24 16:15:36 UTC, cookie_domain = "github.com", cookie_path = "/", cookie_creation_time = 2014-08-24 16:15:37.815144 UTC, cookie_last_access_time = 2014-08-24 16:15:37.815144 UTC, cookie_persistent = True, cookie_host_only = False, cookie_secure_only = True, cookie_http_only = True}]
``` ```

View File

@ -34,108 +34,588 @@ data-files:
-- find rules -name '*.xml' | sed 's/^[^.]*//' | sort -u | sed 's/^/*/' -- find rules -name '*.xml' | sed 's/^[^.]*//' | sort -u | sed 's/^/*/'
-- --
-- If you have a better idea, LMK. -- If you have a better idea, LMK.
*.0o0.ooo.xml,
*.academy.xml,
*.ac.at.xml,
*.ac.il.xml,
*.ac.in.xml,
*.ac.jp-mixedcontent.xml,
*.ac.jp-problematic.xml,
*.ac.jp.xml,
*.ac.nz.xml,
*.ac.th.xml, *.ac.th.xml,
*.ac.uk-falsemixed.xml,
*.ac.uk.xml, *.ac.uk.xml,
*.arizona.edu.xml, *.ac.xml,
*.ad.jp.xml,
*.ad.xml,
*.aero.xml,
*.ae.xml,
*.af.xml,
*.agency.xml,
*.ag.xml,
*.ai.xml,
*.al-problematic.xml,
*.al.xml,
*.amung.us.xml,
*.am.xml,
*.AM.xml,
*.aq.xml,
*.ar.xml,
*.Ar.xml,
*.asia.xml,
*.Asia.xml,
*.asn.au.xml,
*.as.xml, *.as.xml,
*.at-mixedcontent.xml,
*.at.xml, *.at.xml,
*.auction.xml,
*.Au.xml,
*.az.xml,
*.bankia.es.xml,
*.bank.xml,
*.bayern.xml,
*.bbyo.org.xml, *.bbyo.org.xml,
*.be-falsemixed.xml,
*.be-mixed.xml,
*.berlin.xml,
*.best.xml,
*.be.xml,
*.bg.xml, *.bg.xml,
*.BG.xml,
*.Bitcoin.cz.xml, *.Bitcoin.cz.xml,
*.biz-mixedcontent.xml,
*.biz.xml, *.biz.xml,
*.Biz.xml,
*.BKA.gv.at.xml, *.BKA.gv.at.xml,
*.blue.xml,
*.Boutique.xml,
*.browserscope.org.xml,
*.br.xml,
*.bs.xml, *.bs.xml,
*.bund.de.xml,
*.by.xml,
*.bz.xml,
*.camera.xml,
*.ca-problematic.xml,
*.cash.xml,
*.cat.xml, *.cat.xml,
*.ca.xml, *.ca.xml,
*.Ca.xml,
*.cc.xml, *.cc.xml,
*.CC.xml, *.CC.xml,
*.Chevronwp7.com.xml, *.cd.xml,
*.cf.xml,
*.chat.xml,
*.Chat.xml,
*.ch-falsemixed.xml,
*.ch-problematic.xml,
*.ch.xml, *.ch.xml,
*.city.xml,
*.ci.xml,
*.click.xml,
*.club.xml,
*.cl.xml,
*.cm.xml,
*.CM.xml,
*.cn-mixedcontent.xml,
*.cn.xml,
*.CN.xml,
*.co.at.xml,
*.codes.xml,
*.co-falsemixed.xml,
*.coffee.xml,
*.Coffee.xml,
*.co.id.xml,
*.co.il.xml,
*.co.in.xml,
*.co.jp-mixed.xml,
*.co.jp.xml,
*.co.kr.xml,
*.com-API.xml,
*.com.ar.xml,
*.com.au-falsemixed.xml,
*.com.au-problematic.xml,
*.com.au.xml, *.com.au.xml,
*.com-breakchat.xml, *.com.bd.xml,
*.com-break.xml, *.com.bh.xml,
*.com_blogs.xml,
*.com.br.xml,
*.com-CIties.xml,
*.com-clients.xml, *.com-clients.xml,
*.com.cn.xml,
*.com.eg.xml,
*.com-expired.xml, *.com-expired.xml,
*.com-falsemixed.xml, *.com-falsemixed.xml,
*.com-noscript.xml, *.com.gr.xml,
*.com.hk.xml,
*.com.lb.xml,
*.com-mismatches.xml,
*.com-mixedcontent.xml,
*.com-mixed.xml,
*.com-Mixed.xml,
*.Community.xml,
*.com.mu.xml,
*.com.mx.xml,
*.com.my.xml,
*.com.ng.xml,
*.com.om.xml,
*.com.ph.xml,
*.com-problematic.xml,
*.com-Problematic.xml,
*.com.pt.xml,
*.computer.xml,
*.com.qa.xml,
*.com-resources.xml,
*.com.ru.xml,
*.com.sa.xml,
*.com.sg.xml,
*.com_Subdomains_Complex.xml,
*.com_Subdomains.xml,
*.com.tr.xml, *.com.tr.xml,
*.com.tw-falsemixed.xml,
*.com.tw.xml, *.com.tw.xml,
*.com.ua.xml,
*.com.vn.xml,
*.com.xml, *.com.xml,
*.Com.xml, *.Com.xml,
*.COM.xml,
*.co.nz-problematic.xml,
*.co.nz.xml,
*.cool.xml,
*.coop.xml, *.coop.xml,
*.co.th.xml, *.co.th.xml,
*.Co.th.xml,
*.co.tt.xml,
*.co.uk-falsemixed.xml,
*.co.uk-mixedcontent.xml,
*.co.uk-mixed.xml,
*.co.uk-problematic.xml,
*.co.uk-resources.xml,
*.co.uk.xml, *.co.uk.xml,
*.co.xml, *.co.xml,
*.co.za.xml, *.co.za.xml,
*.cr.xml,
*.cx.xml,
*.CX.xml,
*.cz-falsemixed.xml,
*.cz_sk_pl.xml,
*.cz_sk.xml,
*.cz.xml, *.cz.xml,
*.CZ.xml,
*.dashitz.com.xml,
*.decathlon.es.xml,
*.de-falsemixed.xml, *.de-falsemixed.xml,
*.demandprogress.org.xml, *.de-mixed.xml,
*.de-mixedcontent.xml, *.de-problematic.xml,
*.de.xml, *.de.xml,
*.DE.xml,
*.digital.xml,
*.Digital.xml,
*.direct.xml,
*.dj.xml,
*.dk-falsemixed.xml,
*.dk-mixedcontent.xml,
*.dk-problematic.xml,
*.dk-resources.xml,
*.dk.xml, *.dk.xml,
*.ebm.fi.xml, *.domains.xml,
*.Domains.xml,
*.earth.xml,
*.ec.xml,
*.edgesuite.net.xml,
*.edu.au.xml,
*.edu.cn.xml,
*.edu-falsemixed.xml,
*.edu.gh.xml,
*.edu.hel.fi.xml,
*.edu.hk.xml,
*.edu-mixedcontent.xml,
*.edu.mx.xml,
*.edu-problematic.xml,
*.edu-self-signed.xml,
*.edu.sg.xml,
*.edu.tr.xml,
*.edu.tw-falsemixed.xml,
*.edu.tw.xml,
*.edu.xml, *.edu.xml,
*.ee.xml,
*.elgg.org.xml,
*.email.xml,
*.Email.xml,
*.English.Purdue.edu.xml, *.English.Purdue.edu.xml,
*.es.xml, *.es.xml,
*.eu-falsemixed.xml,
*.eu.xml, *.eu.xml,
*.Eu.xml,
*.expert.xml,
*.fi-mixedvideo.xml,
*.fi-problematic.xml,
*.fi.xml, *.fi.xml,
*.fm.xml, *.fm.xml,
*.FM.xml,
*.fonality.com.xml,
*.foundation.xml,
*.freifunk.net.xml,
*.fr-falsemixed.xml, *.fr-falsemixed.xml,
*.fr-mixedcontent.xml,
*.fr-problematic.xml,
*.fr.xml, *.fr.xml,
*.fsdn.com.xml, *.gal.xml,
*.ga.xml,
*.gc.ca.xml,
*.gd.xml,
*.gg.xml,
*.gi.xml,
*.gob.ar-falsemixed.xml,
*.gob.ar.xml,
*.go.jp.xml, *.go.jp.xml,
*.gouv.fr.xml,
*.gov.au.xml,
*.gov.cv.xml,
*.gov-falsemixed.xml,
*.gov.gi.xml,
*.gov.hk.xml,
*.gov.hu.xml,
*.gov.ie.xml,
*.gov.in.xml,
*.gov-mixedcontent.xml,
*.gov.pk.xml,
*.gov.pl.xml,
*.gov.pt.xml,
*.gov-resources.xml,
*.gov.ru.xml,
*.gov.sa.xml,
*.gov.sg.xml,
*.govt.nz.xml, *.govt.nz.xml,
*.gov.tr.xml,
*.gov.tw.xml,
*.gov.uk-falsemixed.xml,
*.gov.uk-mixedcontent.xml,
*.gov.uk-problematic.xml,
*.gov.uk-resources.xml,
*.gov.uk.xml,
*.gov.xml, *.gov.xml,
*.iet.unipi.it.xml, *.gq.xml,
*.group.xml,
*.gr.xml,
*.guru.xml,
*.gv.at.xml,
*.gwr.com.xml,
*.gy-problematic.xml,
*.gy.xml,
*.help.xml,
*.hk.xml,
*.HK.xml,
*.hostingas.lt.xml,
*.host.xml,
*.how.xml,
*.ht.xml,
*.hu_incomplete.xml,
*.hu.xml,
*.id.au.xml,
*.id.lv.xml,
*.id.xml,
*.ie-falsemixed.xml,
*.ie-problematic.xml,
*.ie.xml, *.ie.xml,
*.IE.xml,
*.ifcdn.com.xml,
*.im.xml,
*.IM.xml,
*.info.xml, *.info.xml,
*.Intevation.org.xml,
*.in.th.xml,
*.int.xml, *.int.xml,
*.in.xml,
*.In.xml,
*.IN.xml, *.IN.xml,
*.io.xml, *.io.xml,
*.IO.xml,
*.ir-expired.xml,
*.ir.xml,
*.is-falsemixed.xml,
*.is.xml, *.is.xml,
*.Is.xml,
*.it.xml, *.it.xml,
*.It.xml,
*.jobandtalent.com.xml,
*.jobs.xml,
*.Jobs.xml,
*.jo.xml,
*.jp-falsemixed.xml,
*.jp.xml, *.jp.xml,
*.kr.xml,
*.kuluttajavirasto.fi.xml,
*.kursuslogin.dk.xml, *.kursuslogin.dk.xml,
*.kz.xml,
*.land.xml,
*.Land.xml,
*.La.xml,
*.lc.xml,
*.legal.xml,
*.leseweb.dk.xml, *.leseweb.dk.xml,
*.lgbt.xml,
*.link.xml,
*.live.xml,
*.li.xml, *.li.xml,
*.london.xml,
*.lt.xml,
*.luup.info.xml,
*.lu.xml,
*.Lu.xml,
*.lv.xml,
*.ly-mismatches.xml,
*.ly.xml, *.ly.xml,
*.materialise.xml,
*.matfyz.cz.xml,
*.ma.xml,
*.md.xml,
*.mediamarkt.es.xml,
*.media.xml,
*.me-falsemixed.xml,
*.metoffice.gov.uk.xml,
*.me.xml, *.me.xml,
*.mitre.org.xml, *.Me.xml,
*.mff.cuni.cz.xml,
*.mg.xml,
*.mijndomeinreseller.nl.xml,
*.mil.xml,
*.mobi.xml,
*.mod.uk.xml,
*.moe.xml,
*.Monash.xml,
*.mp.xml,
*.ms.xml,
*.Ms.xml,
*.mu-problematic.xml,
*.mu.xml,
*.mx.xml,
*.my.xml,
*.nagoya.xml,
*.name.xml, *.name.xml,
*.nc.xml,
*.ne.jp.xml,
*.net.au.xml,
*.net.br.xml,
*.net.cn.xml,
*.net-falsemixed.xml, *.net-falsemixed.xml,
*.netgate.com.xml,
*.net.pl.xml,
*.net-problematic.xml,
*.Net-Registry.xml,
*.net-resources.xml,
*.net.sa.xml,
*.net-self-signed.xml, *.net-self-signed.xml,
*.net.ua.xml,
*.net.uk.xml,
*.network.xml,
*.net.xml, *.net.xml,
*.Net.xml,
*.NET.xml, *.NET.xml,
*.news.xml,
*.ngo.xml,
*.ng.xml,
*.nico.xml,
*.ninja.xml,
*.nl-cacert.xml,
*.nl.xml, *.nl.xml,
*.NL.xml,
*.no-falsemixed.xml,
*.no-problematic.xml,
*.no.xml, *.no.xml,
*.org-CACert.xml, *.nu.xml,
*.nz.xml,
*.odpadnes.sk.xml,
*.onion.xml,
*.online.xml,
*.onl.xml,
*.ON_UK.xml,
*.ooo.xml,
*.org.au-problematic.xml,
*.org.au.xml,
*.org.br.xml,
*.org.cn.xml,
*.org.de.xml,
*.org.ec.xml,
*.org-falsemixed.xml, *.org-falsemixed.xml,
*.org.hk.xml,
*.org-mismatches.xml,
*.org-mixedcontent.xml,
*.org.mx.xml,
*.org.nz.xml,
*.org.pe.xml,
*.org.pl.xml,
*.org-problematic.xml,
*.org.qa.xml,
*.org-resources.xml,
*.org.ru.xml, *.org.ru.xml,
*.org-self-signed.xml, *.org-self-signed.xml,
*.org.tr.xml,
*.org.tw.xml,
*.org.uk-falsemixed.xml,
*.org.uk.xml, *.org.uk.xml,
*.org_Way_Back_Machine.xml,
*.org.xml, *.org.xml,
*.Org.xml,
*.ORG.xml,
*.or.id.xml,
*.or.jp.xml,
*.or.kr.xml,
*.or.ug.xml,
*.ovh.xml,
*.paris.xml,
*.patatje.eu.xml,
*.pepephone.com.xml,
*.pe.xml,
*.pics.xml,
*.pizza.xml,
*.pk.xml,
*.pl-falsemixed.xml,
*.pl-mismatches.xml,
*.pl-mixedcontent.xml,
*.pl-problematic.xml,
*.pl.ua.xml,
*.pl.xml, *.pl.xml,
*.pm.xml,
*.police.uk-mixedcontent.xml,
*.police.uk-resources.xml,
*.police.uk.xml,
*.pp.se.xml,
*.premii.com.xml,
*.press.xml,
*.priv.at.xml,
*.proteste.pt.xml, *.proteste.pt.xml,
*.pro.xml, *.pro.xml,
*.pr.xml,
*.pt.xml, *.pt.xml,
*.Python.org.xml, *.pub.xml,
*.pw.xml,
*.red.xml,
*.report.xml,
*.Resource.Org.xml, *.Resource.Org.xml,
*.re.xml,
*.rnl.tecnico.ulisboa.pt.xml,
*.rocks.xml,
*.Rossia.Org.xml,
*.ro.xml,
*.rs.xml,
*.ru.com.xml,
*.ru-falsemixed.xml,
*.ru-mixedcontent.xml,
*.ru.net.xml,
*.ru-problematic.xml,
*.rus.ec.xml,
*.ru.xml, *.ru.xml,
*.Ru.xml,
*.RU.xml,
*.sberbank.sk.xml,
*.schuldt.info.xml,
*.science.xml,
*.scot.xml,
*.sc.xml,
*.se-falsemixed.xml,
*.self.com.xml,
*.se-problematic.xml,
*.se.xml, *.se.xml,
*.sexy.xml,
*.sg.xml,
*.sh.xml, *.sh.xml,
*.si-resources.xml,
*.site.xml,
*.si.xml,
*.sk_cz.xml,
*.sk.xml, *.sk.xml,
*.snoobi.com.xml, *.sl.xml,
*.sm.xml,
*.social.xml,
*.software.xml,
*.solutions.xml,
*.so.xml,
*.space.xml,
*.Space.xml,
*.staywellsolutionsonline.com.xml,
*.store.xml,
*.st.xml, *.st.xml,
*.St.xml,
*.surftown.com.xml, *.surftown.com.xml,
*.su.xml, *.su.xml,
*.swiss.xml,
*.sx-falsemixed.xml,
*.sx.xml, *.sx.xml,
*.systems.xml,
*.Systems.xml,
*.taipei.xml,
*.tatrabanka.sk.xml,
*.technology.xml,
*.tech.xml,
*.tf.xml,
*.theory.xml, *.theory.xml,
*.tk.xml,
*.tld_Subdomains.xml,
*.tl.xml,
*.tm.xml,
*.Today.xml,
*.tokyo.xml,
*.Tools.xml,
*.to.xml, *.to.xml,
*.toypics.net.xml,
*.Trade.xml,
*.training-falsemixed.xml,
*.training.xml,
*.Travel.xml,
*.trust.xml,
*.ttias.be.xml,
*.tt.xml,
*.tv.xml, *.tv.xml,
*.TV.xml,
*.tw.xml,
*.ua-problematic.xml,
*.ua.xml,
*.ubi.com.xml,
*.uk.com.xml,
*.uk-falsemixed.xml,
*.uk.net.xml,
*.uk.xml,
*.UK.xml,
*.umblr.com.xml,
*.us-mixedcontent.xml,
*.us.xml, *.us.xml,
*.Us.xml,
*.US.xml,
*.utechsoft.com.xml,
*.utwente.nl.xml,
*.utwente.xml, *.utwente.xml,
*.uz.xml,
*.vc.xml,
*.vellum.cz.xml,
*.Ventures.xml,
*.vg.xml,
*.virtadpt.net.xml, *.virtadpt.net.xml,
*.xml *.vn.xml,
*.wa.gov.xml,
*.wales.xml,
*.Wales.xml,
*.wbgames.com.xml,
*.website.xml,
*.wf.xml,
*.wiki.xml,
*.works.xml,
*.ws.xml,
*.WS.xml,
*.wtf.xml,
*.xml,
*.xn--p1ai.xml,
*.xxx.xml,
*.xyz.xml,
*.yandex.xml,
*.yaziba.net.xml,
*.yp.to.xml,
*.yt.xml,
*.zaragoza.es.xml,
*.zdravie.sk.xml,
*.zone.xml,
*.Zone.xml
library library
exposed-modules: exposed-modules:

@ -1 +1 @@
Subproject commit b649f85d92758b13a96074b6bf83e33d73d6bf83 Subproject commit 57ef135c0de2e277775c64c48d54eac886b56dd4