import datetime
import json
import logging
+import os.path
import pydantic
import tornado.httpclient
import typing
return NotImplemented
+ # URL
+
+ def url(self, *args, **kwargs):
+ """
+ Composes a download URL for this list
+ """
+ return os.path.join("https://dnsbl.ipfire.org/lists/%s" % self.slug, *args)
+
# Sources
async def get_sources(self):
{% block title %}{{ _("IPFire DNSBL") }} - {{ list }}{% end block %}
{% block container %}
+ {% import urllib.parse %}
+
<section class="hero is-dark">
<div class="hero-body">
<div class="container">
<a>{% module IPFireLogo() %}</a>
</li>
+ <li data-tab="abp">
+ <a>{{ _("Adblock Plus, uBlock Origin, etc.") }}</a>
+ </li>
+
<li data-tab="rpz">
<a>{{ _("Request Policy Zone (RPZ)") }}</a>
</li>
</div>
</div>
+ <div id="abp" class="tab-content is-hidden">
+ <div class="content">
+ {# Compose the subscription URL #}
+ {% set url = "https://subscribe.adblockplus.org/?%s" % \
+ urllib.parse.urlencode({
+ "location" : list.url("abp.txt"),
+ "title" : "IPFire DNSBL - %s" % list,
+ })
+ %}
+
+ <a class="button is-primary is-small" href="{{ url }}">
+ {{ _("Subscribe") }}
+ </a>
+ </div>
+ </div>
+
<div id="rpz" class="tab-content is-hidden">
<div class="content">
<p>