add blacklist templates and generation script

pull/23/head
Paul Butler 7 years ago
parent b1f94c6cdd
commit f75d5c4575

@ -1,4 +1,7 @@
blacklists/% : src/generate_blacklist.py blacklist.json templates/%.tmpl
python $^ $@
package :
cd extension; zip barbblock.zip -r ./ -x *.git*
mv extension/barbblock.zip ./

@ -0,0 +1,161 @@
{
"name": "BarbBlock",
"version": "1.1",
"description": "Blocks requests to sites which have used legal threats to remove themselves from other blacklists.",
"last_update": "2017-08-13",
"url_base": "https://ssl.bblck.me/blacklists",
"page_url": "https://ssl.bblck.me/",
"blacklist": [
{
"issues": [1],
"takedown": "https://github.com/github/dmca/blob/master/2017/2017-08-02-LevenLabs.md",
"domains": [
"functionalclam.com"
]
},
{
"issues": [8],
"domains": [
"2znp09oa.com",
"4jnzhl0d0.com",
"6ldu6qa.com",
"82o9v830.com",
"abandonedclover.com",
"abruptroad.com",
"actuallysheep.com",
"ak0gsh40.com",
"ambitiousagreement.com",
"anxiousapples.com",
"argyresthia.com",
"awzbijw.com",
"balloontexture.com",
"baskettexture.com",
"bawdybeast.com",
"beamincrease.com",
"beamkite.com",
"boilingbeetle.com",
"boredcrown.com",
"brassrule.com",
"broadboundary.com",
"broadcastbed.com",
"calmfoot.com",
"cherrythread.com",
"chiefcurrent.com",
"chinchickens.com",
"comfortablecheese.com",
"commandwalk.com",
"concernrain.com",
"consciouscabbage.com",
"copperchickens.com",
"copycarpenter.com",
"copyrightaccesscontrols.com",
"crawlclocks.com",
"critictruck.com",
"crownclam.com",
"curtaincows.com",
"cutecushion.com",
"decisiveducks.com",
"delightdriving.com",
"differentdesk.com",
"dk4ywix.com",
"docksalmon.com",
"doubtfulrainstorm.com",
"dragzebra.com",
"elasticchange.com",
"elephantqueue.com",
"exclusivebrass.com",
"flavordecision.com",
"floodprincipal.com",
"functionalclam.com",
"futuristicfairies.com",
"fuzzyflavor.com",
"ga87z2o.com",
"giddycoat.com",
"gorgeousground.com",
"greetzebra.com",
"greyinstrument.com",
"guardedgovernor.com",
"guitarbelieve.com",
"h78xb.pw",
"hfc195b.com",
"hilariouszinc.com",
"illustriousoatmeal.com",
"incrediblesugar.com",
"ivykiosk.com",
"j93557g.com",
"jewelcheese.com",
"karisimbi.net",
"limpingline.com",
"lizardslaugh.com",
"lopsidedspoon.com",
"loudloss.com",
"lp3tdqle.com",
"lumpyleaf.com",
"matchcows.com",
"messagenovice.com",
"mixedreading.com",
"mowfruit.com",
"ovalpigs.com",
"peacepowder.com",
"photographpan.com",
"pietexture.com",
"possibleboats.com",
"practicetoothpaste.com",
"presetrabbits.com",
"profitrumour.com",
"provideplant.com",
"quaintcan.com",
"quicksandear.com",
"readgoldfish.com",
"rebelsubway.com",
"receptiveink.com",
"resolutekey.com",
"rulerabbit.com",
"saysidewalk.com",
"scarcestream.com",
"scrubsky.com",
"scrubswim.com",
"separatesilver.com",
"shakesea.com",
"shakytaste.com",
"shallowschool.com",
"shelterstraw.com",
"shiveringsail.com",
"shockingswing.com",
"simplisticnose.com",
"sinceresofa.com",
"snakesort.com",
"sneaklevel.com",
"sneakystamp.com",
"spectacularsnail.com",
"spillvacation.com",
"squeamishscarecrow.com",
"storesurprise.com",
"stormyachiever.com",
"stormyshock.com",
"stormysponge.com",
"straightnest.com",
"strivesidewalk.com",
"structuresofa.com",
"succeedscene.com",
"superficialsink.com",
"terribleturkey.com",
"thirdrespect.com",
"throattrees.com",
"tidytrail.com",
"tracedesire.com",
"trickycelery.com",
"tritetongue.com",
"truckstomatoes.com",
"unknowntray.com",
"unusualtitle.com",
"voicevegetable.com",
"wateryvan.com",
"wirecomic.com",
"xovq5nemr.com",
"zbwp6ghm.com"
]
}
]
}

@ -0,0 +1,32 @@
import argparse
import os
import json
import jinja2
def run_template_engine(blacklist_file, template_file, output_file):
template_path, template_file = os.path.split(template_file)
with open(blacklist_file) as bf:
context = json.load(bf)
result = jinja2.Environment(
loader=jinja2.FileSystemLoader(template_path or './')
).get_template(template_file).render(context)
with open(output_file, 'w') as of:
of.write(result)
def main():
parser = argparse.ArgumentParser()
parser.add_argument('blacklist')
parser.add_argument('template')
parser.add_argument('outfile')
args = parser.parse_args()
run_template_engine(args.blacklist, args.template, args.outfile)
if __name__ == '__main__':
main()

@ -0,0 +1,10 @@
[Adblock Plus 2.0]
! Version: {{ version }}
! Title: {{ name }}
! Last modified: {{ last_update }}
! Expires: 1 days
! Homepage: {{ page_url }}{% for blockset in blacklist %}
! ============== Site group {{loop.index}} =============={% for issue in blockset.issues %}
! GitHub Issue: https://github.com/paulgb/BarbBlock/issues/{{ issue }}{% endfor %}{% if blockset.takedown %}
! Takedown URL: {{ blockset.takedown }}{% endif %}{% for domain in blockset.domains %}
||{{ domain }}^{% endfor %}{% endfor %}

@ -0,0 +1,12 @@
# {{ name }}
# Version: {{ version }}
# Last Update: {{ last_update }}
# Homepage: {{ page_url }}
# Canonical URL for this file: {{ url_base }}/hosts-file.txt
{% for blockset in blacklist %}
# ============== Site group {{loop.index}} =============={% for issue in blockset.issues %}
# GitHub Issue: https://github.com/paulgb/BarbBlock/issues/{{ issue }}{% endfor %}{% if blockset.takedown %}
# Takedown URL: {{ blockset.takedown }}{% endif %}
{% for domain in blockset.domains %}
0.0.0.0 {{ domain }}{% endfor %}
{% endfor %}

@ -0,0 +1,8 @@
! Title: {{ name }}
! Homepage: {{ page_url }}
! {{ description }}
{% for blockset in blacklist %}! ============== Site group {{loop.index}} =============={% for issue in blockset.issues %}
! GitHub Issue: https://github.com/paulgb/BarbBlock/issues/{{ issue }}{% endfor %}{% if blockset.takedown %}
! Takedown URL: {{ blockset.takedown }}{% endif %}{% for domain in blockset.domains %}
||{{ domain }}{% endfor %}
{% endfor %}
Loading…
Cancel
Save