3 <title>fedi-block-api{% if domain %} {{domain}}{% endif %}</title>
4 <link rel="alternate" type="application/rss+xml" title="RSS Feed for {{base_url}}" href="{base_url}/rss" />
7 background-color: #000022;
13 background-color: #1c1c3c;
20 background-color: #1c1c3c;
28 background-color: #2d2d4d;
31 table tr:nth-of-type(2n) {
32 background-color: #1c1c3c;
37 .block_level table td:nth-of-type(1), .block_level table td:nth-of-type(2),
38 .block_level table td:nth-of-type(4), .block_level table td:nth-of-type(5) {
42 background-color: #2d2d4d;
50 text-decoration: none;
56 input[type="text"], input[type="submit"] {
64 input[type="text"]:hover {
68 input[type="submit"] {
72 input[type="submit"]:hover {
77 text-decoration: underline dotted;
84 <h1>Top {{blockers}} defederating instances</h1>
86 <h1>Top {{blocked}} defederated instances</h1>
88 <div class="scoreboard">
92 <th>Defederations</th>
93 {% for entry in scores %}
95 <td>{{loop.index}}</td>
97 <img src="https://proxy.duckduckgo.com/ip3/{{entry['domain']}}.ico" width="16" />
98 <b><a href="../?{% if blockers %}reverse{% elif blocked %}domain{% endif %}={{entry['domain']}}" rel="nofollow noopener noreferrer">{{entry['domain']}}</a></b>
99 <a class="listlink" href="https://{{entry['domain']}}" rel="external" target="_blank">↗</a>
101 <td>{{entry['highscore']}}</td>
106 {% elif reason or domain or reverse %}
108 <h1>Instances that use "{{reason}}" in their reason</h1>
110 <h1>Instances that are blocked by {{reverse}}</h1>
112 <h1>Instances that block {{domain}}</h1>
114 {% for block_level in blocks %}
115 <div class="block_level" id="{{block_level}}">
116 <h2>{{block_level}} ({{blocks[block_level]|length}})</h2>
119 <th>{% if block_level == 'accept' %}Accepted{% else %}Blocked{% endif %}</th>
123 {% for block in blocks[block_level] %}
126 <b><a href="https://{{block['blocker']}}" rel="nofollow noopener noreferrer">{{block['blocker']}}</a></b>
127 {% if reason or domain %}<a class="listlink" href="./?reverse={{block['blocker']}}">↘</a>{% endif %}
130 <b><a href="https://{{domain or block['blocked']}}" rel="nofollow noopener noreferrer">{{block['blocked']}}</a></b>
131 {% if reason or reverse %}<a class="listlink" href="./?domain={{domain or block['blocked']}}">↘</a>{% endif %}
133 <td>{{block['reason']}}</td>
134 <td>{{block['first_added']}}</td>
135 <td>{{block['last_seen']}}</td>
142 <h1>Enter a Domain</h1>
144 <input type="text" name="domain" placeholder="example.com" required="required" />
145 <input type="submit" value="Submit" />
147 <h1>Enter a Reason</h1>
149 <input type="text" name="reason" placeholder="free speech" required="required" />
150 <input type="submit" value="Submit" />
152 <h1>Reverse search</h1>
154 <input type="text" name="reverse" placeholder="example.com" required="required" />
155 <input type="submit" value="Submit" />
158 <a href="./scoreboard?blockers=50">top 50 defederating</a> / <a href="./scoreboard?blocked=50">defederated instances</a>
161 known instances: {{info.known_instances}}<br/>
162 indexed instances: {{info.indexed_instances}}<br/>
163 blocks recorded: {{info.blocks_recorded}}<br/>
164 source code: <a href="https://git.mxchange.org/?p=fba.git;a=summary" rel="source" target="_blank">git.mxchange.org</a><br /><br />