3 <title>fedi-block-api{% if domain %} {{domain}}{% endif %}</title>
6 background-color: #000022;
9 font-family: "Open Sans", "Roboto", sans-serif;
12 background-color: #1c1c3c;
19 background-color: #1c1c3c;
27 background-color: #2d2d4d;
30 table tr:nth-of-type(2n) {
31 background-color: #1c1c3c;
36 .block_level table td:nth-of-type(1), .block_level table td:nth-of-type(2),
37 .block_level table td:nth-of-type(4), .block_level table td:nth-of-type(5) {
41 background-color: #2d2d4d;
49 text-decoration: none;
55 input[type="text"], input[type="submit"] {
63 input[type="text"]:hover {
67 input[type="submit"] {
71 input[type="submit"]:hover {
76 text-decoration: underline dotted;
83 <h1>Top {{blockers}} defederating instances</h1>
85 <h1>Top {{blocked}} defederated instances</h1>
87 <div class="scoreboard">
91 <th>Defederations</th>
92 {% for entry in scores %}
94 <td>{{loop.index}}</td>
96 <img src="https://proxy.duckduckgo.com/ip3/{{entry['domain']}}.ico" width=16/>
97 <b><a href="/?{% if blockers %}reverse{% elif blocked %}domain{% endif %}={{entry['domain']}}" rel="nofollow noopener noreferrer">{{entry['domain']}}</a></b>
98 <a class="listlink" href="https://{{entry['domain']}}">↗</a>
100 <td>{{entry['highscore']}}</td>
105 {% elif reason or domain or reverse %}
107 <h1>Instances that use "{{reason}}" in their reason</h1>
109 <h1>Instances that are blocked by {{reverse}}</h1>
111 <h1>Instances that block {{domain}}</h1>
113 {% for block_level in blocks %}
114 <div class="block_level" id="{{block_level}}">
115 <h2>{{block_level}} ({{blocks[block_level]|length}})</h2>
118 <th>{% if block_level == 'accept' %}Accepted{% else %}Blocked{% endif %}</th>
122 {% for block in blocks[block_level] %}
125 <img src="https://proxy.duckduckgo.com/ip3/{{block['blocker']}}.ico" width=16/>
126 <b><a href="https://{{block['blocker']}}" rel="nofollow noopener noreferrer">{{block['blocker']}}</a></b>
129 <img src="https://proxy.duckduckgo.com/ip3/{{domain or block['blocked']}}.ico" width=16/>
130 <b><a href="https://{{domain or block['blocked']}}" rel="nofollow noopener noreferrer">{{block['blocked']}}</a></b>
132 <td>{{block['reason']}}</td>
133 <td>{{block['first_added']}}</td>
134 <td>{{block['last_seen']}}</td>
141 <h1>Enter a Domain</h1>
143 <input type="text" name="domain" placeholder="example.com" />
144 <input type="submit" value="Submit" />
146 <h1>Enter a Reason</h1>
148 <input type="text" name="reason" placeholder="free speech" />
149 <input type="submit" value="Submit" />
151 <h1>Reverse search</h1>
153 <input type="text" name="reverse" placeholder="example.com" />
154 <input type="submit" value="Submit" />
157 <a href="./scoreboard?blockers=50">top 50 defederating</a> / <a href="./scoreboard?blocked=50">defederated instances</a>
160 known instances: {{info.known_instances}}<br/>
161 indexed instances: {{info.indexed_instances}}<br/>
162 blocks recorded: {{info.blocks_recorded}}<br/>
163 source code: <a href="https://git.kiwifarms.net/mint/fedi-block-api">git.kiwifarms.net/mint/fedi-block-api</a> (<a href="https://gitgud.io/mintplg/fedi-block-api">mirror</a>)<br/><br/>