diff options
-rw-r--r-- | allium/templates/relay-info.html | 414 | ||||
-rw-r--r-- | allium/templates/relay-list.html | 314 |
2 files changed, 364 insertions, 364 deletions
diff --git a/allium/templates/relay-info.html b/allium/templates/relay-info.html index c494a53..d8ee3be 100644 --- a/allium/templates/relay-info.html +++ b/allium/templates/relay-info.html @@ -1,129 +1,129 @@ {% extends "skeleton.html" -%} {% block title -%} - Tor Relays :: {{ relay['nickname'] }} + Tor Relays :: {{ relay['nickname'] }} {% endblock -%} {% block body -%} - <div id="content"> - <h2> - <a href="{{ path_prefix }}">Home</a> :: Relay "{{ relay['nickname'] }}" - </h2> - <div class="row"> - <div class="col-md-6"> - <dl> - <dt> - Nickname - </dt> - <dd> - {{ relay['nickname']|escape }} - </dd> - <dt> - OR Address - </dt> - <dd> - <pre class="pre-scrollable">{% for address in relay['or_addresses'] -%} +<div id="content"> +<h2> +<a href="{{ path_prefix }}">Home</a> :: Relay "{{ relay['nickname'] }}" +</h2> +<div class="row"> +<div class="col-md-6"> +<dl> +<dt> +Nickname +</dt> +<dd> +{{ relay['nickname']|escape }} +</dd> +<dt> +OR Address +</dt> +<dd> +<pre class="pre-scrollable">{% for address in relay['or_addresses'] -%} {{ address }} {% endfor -%} </pre> - </dd> - <dt> - Contact - </dt> - {% if relay['contact'] -%} - <dd> - <a href="{{ path_prefix }}contact/{{ relay['contact_md5'] }}">{{ - relay['contact']|escape }}</a> - </dd> - {% else -%} - <dd> - <a href="{{ path_prefix }}contact/{{ relay['contact_md5'] }}">none</a> - </dd> - {% endif -%} - <dt> - Dir Address - </dt> - {% if relay['dir_address'] -%} - <dd> - <a href="http://{{ relay['dir_address']|escape }}">{{ - relay['dir_address']|escape }}</a> - </dd> - {% else -%} - <dd> - none - </dd> - {% endif -%} - <dt> - Exit Address - </dt> - {% if relay['exit_address'] -%} - <dd> - {{ relay['exit_address']|escape }} - </dd> - {% else -%} - <dd> - none - </dd> - {% endif -%} - <dt> - Observed Bandwidth - </dt> - {% if relay['observed_bandwidth'] > 1000000 -%} - {% set obs_bandwidth = '%s %s'|format((relay['observed_bandwidth'] - / 1000000)|round(2, 'common'), 'MB/s') -%} - {% else -%} - {% set obs_bandwidth = '%s %s'|format((relay['observed_bandwidth'] - / 1000)|round(2, 'common'), 'KB/s') -%} - {% endif -%} - <dd> - {{ obs_bandwidth }} - </dd> - <dt> - IPv4 Exit Policy Summary - </dt> - <dd> - {% if relay['exit_policy_summary'] -%} - {%- set v4_summary = relay['exit_policy_summary'].items() -%} - <pre class="pre-scrollable">{% for k, v in v4_summary -%} +</dd> +<dt> +Contact +</dt> +{% if relay['contact'] -%} +<dd> +<a href="{{ path_prefix }}contact/{{ relay['contact_md5'] }}/">{{ +relay['contact']|escape }}</a> +</dd> +{% else -%} +<dd> +<a href="{{ path_prefix }}contact/{{ relay['contact_md5'] }}">none</a> +</dd> +{% endif -%} +<dt> +Dir Address +</dt> +{% if relay['dir_address'] -%} +<dd> +<a href="http://{{ relay['dir_address']|escape }}">{{ +relay['dir_address']|escape }}</a> +</dd> +{% else -%} +<dd> +none +</dd> +{% endif -%} +<dt> +Exit Address +</dt> +{% if relay['exit_address'] -%} +<dd> +{{ relay['exit_address']|escape }} +</dd> +{% else -%} +<dd> +none +</dd> +{% endif -%} +<dt> +Observed Bandwidth +</dt> +{% if relay['observed_bandwidth'] > 1000000 -%} +{% set obs_bandwidth = '%s %s'|format((relay['observed_bandwidth'] +/ 1000000)|round(2, 'common'), 'MB/s') -%} +{% else -%} +{% set obs_bandwidth = '%s %s'|format((relay['observed_bandwidth'] +/ 1000)|round(2, 'common'), 'KB/s') -%} +{% endif -%} +<dd> +{{ obs_bandwidth }} +</dd> +<dt> +IPv4 Exit Policy Summary +</dt> +<dd> +{% if relay['exit_policy_summary'] -%} +{%- set v4_summary = relay['exit_policy_summary'].items() -%} +<pre class="pre-scrollable">{% for k, v in v4_summary -%} {{ k|escape }}: {{ '\n ' + v|join('\n ')|escape }} {% endfor -%} </pre> - {% else -%} - <pre>none</pre> - {% endif -%} - </dd> - <dt> - IPv6 Exit Policy Summary - </dt> - <dd> - {% if relay['exit_policy_v6_summary'] -%} - {%- set v6_summary = relay['exit_policy_v6_summary'].items() -%} - <pre class="pre-scrollable">{% for k, v in v6_summary -%} +{% else -%} +<pre>none</pre> +{% endif -%} +</dd> +<dt> +IPv6 Exit Policy Summary +</dt> +<dd> +{% if relay['exit_policy_v6_summary'] -%} +{%- set v6_summary = relay['exit_policy_v6_summary'].items() -%} +<pre class="pre-scrollable">{% for k, v in v6_summary -%} {{ k|escape }}: {{ '\n ' + v|join('\n ')|escape }} {% endfor -%} </pre> - {% else -%} - <pre>none</pre> - {% endif -%} - </dd> - <dt> - Exit Policy - </dt> - <dd> - <pre class="pre-scrollable">{% for policy in relay['exit_policy'] -%} +{% else -%} +<pre>none</pre> +{% endif -%} +</dd> +<dt> +Exit Policy +</dt> +<dd> +<pre class="pre-scrollable">{% for policy in relay['exit_policy'] -%} {{ policy|escape }} {% endfor -%} </pre> - </dd> - {% if relay['effective_family']|length > 1 -%} - <dt> - Effective Family Members (<a href="{{ path_prefix }}family/{{ relay['fingerprint']|escape }}">view</a>) - </dt> - {% else -%} - <dt> - Effective Family Members - </dt> - {% endif -%} - <dd> - <pre class="pre-scrollable">{% for e_relay in relay['effective_family'] -%} +</dd> +{% if relay['effective_family']|length > 1 -%} +<dt> +Effective Family Members (<a href="{{ path_prefix }}family/{{ relay['fingerprint']|escape }}/">view</a>) +</dt> +{% else -%} +<dt> +Effective Family Members +</dt> +{% endif -%} +<dd> +<pre class="pre-scrollable">{% for e_relay in relay['effective_family'] -%} {% if relay['effective_family']|length > 1 -%} <a href="{{ e_relay|escape }}.html">{{ e_relay|escape }}</a> {% else -%} @@ -131,13 +131,13 @@ {% endif -%} {% endfor -%} </pre> - </dd> - <dt> - Alleged Family Members - </dt> - <dd> - {% if relay['alleged_family'] -%} - <pre class="pre-scrollable">{% for a_relay in relay['alleged_family'] -%} +</dd> +<dt> +Alleged Family Members +</dt> +<dd> +{% if relay['alleged_family'] -%} +<pre class="pre-scrollable">{% for a_relay in relay['alleged_family'] -%} {% if relay['alleged_family']|length > 1 -%} <a href="{{ a_relay|escape }}.html">{{ a_relay|escape }}</a> {% else -%} @@ -158,95 +158,95 @@ Fingerprint </dt> <dd> <pre>{{ relay['fingerprint']|escape }}</pre> - </dd> - <dt> - Flags - </dt> - <dd> - {% for flag in relay['flags'] -%} - {% if flag != 'StaleDesc' -%} - <a href="{{ path_prefix }}flag/{{ flag.lower()|escape }}"> - <img src="{{ path_prefix }}static/images/flags/{{ flag.lower()|escape }}.png" - title="{{ flag|escape }}" - alt="{{ flag|escape }}"> - </a> {{ flag|escape }} - {% endif -%} - {% endfor -%} - </dd> - <dt> - Host Name - </dt> - <dd> - {% if relay['verified_host_names'] -%} - <pre class="verified-hostname" title="verified hostname">{{ +</dd> +<dt> +Flags +</dt> +<dd> +{% for flag in relay['flags'] -%} +{% if flag != 'StaleDesc' -%} +<a href="{{ path_prefix }}flag/{{ flag.lower()|escape }}/"> +<img src="{{ path_prefix }}static/images/flags/{{ flag.lower()|escape }}.png" +title="{{ flag|escape }}" +alt="{{ flag|escape }}"> +</a> {{ flag|escape }} +{% endif -%} +{% endfor -%} +</dd> +<dt> +Host Name +</dt> +<dd> +{% if relay['verified_host_names'] -%} +<pre class="verified-hostname" title="verified hostname">{{ relay['verified_host_names']|join('\n')|escape }}</pre> - {% elif relay['unverified_host_names'] -%} - <pre class="unverified-hostname" title="unverified hostname">{{ +{% elif relay['unverified_host_names'] -%} +<pre class="unverified-hostname" title="unverified hostname">{{ relay['unverified_host_names']|join('\n')|escape }}</pre> - {% else -%} - <pre>none</pre> - {% endif -%} - <dt> - Country - </dt> - <dd> - {% if relay['country'] -%} - <a href="{{ path_prefix }}country/{{ relay['country']|escape }}/"> - <img src="{{ path_prefix }}static/images/cc/{{ relay['country']|escape }}.png" - title="{{ relay['country_name']|escape }}" - alt="{{ relay['country_name']|escape }}"> - </a> {{ relay['country_name']|escape }} - {% else -%} - unknown - {% endif -%} - </dd> - <dt> - AS Number - </dt> - <dd> - {% if relay['as'] -%} - <a href='{{ path_prefix }}as/{{ relay['as']|escape }}'>{{ relay['as']|escape - }}</a> - {% else -%} - unknown - {% endif -%} - <dt> - AS Name - </dt> - <dd> - {% if relay['as_name'] -%} - {{ relay['as_name']|escape }} (<a href='https://bgp.tools/{{ relay['as']|escape }}'>BGP</a>) - {% else -%} - unknown - {% endif -%} - <dt> - First Seen - </dt> - <dd> - <a href="{{ path_prefix }}first_seen/{{ relay['first_seen'].split(' ', 1)[0]|escape }}">{{ relay['first_seen']|escape }}</a> - </dd> - <dt> - Last Restarted - </dt> - <dd> - {{ relay['last_restarted']|escape }} - </dd> - <dt> - Consensus Weight - </dt> - <dd> - {{ relay['consensus_weight_fraction']|escape }} ({{ - relay['consensus_weight']|escape }}) - </dd> - <dt> - Platform - </dt> - <dd> - <a href='{{ path_prefix }}platform/{{ relay['platform']|escape }}'>{{ - relay['platform'] }}</a> - </dd> - </dl> - </div> - </div> - </div> - {% endblock -%} +{% else -%} +<pre>none</pre> +{% endif -%} +<dt> +Country +</dt> +<dd> +{% if relay['country'] -%} +<a href="{{ path_prefix }}country/{{ relay['country']|escape }}/"> +<img src="{{ path_prefix }}static/images/cc/{{ relay['country']|escape }}.png" +title="{{ relay['country_name']|escape }}" +alt="{{ relay['country_name']|escape }}"> +</a> {{ relay['country_name']|escape }} +{% else -%} +unknown +{% endif -%} +</dd> +<dt> +AS Number +</dt> +<dd> +{% if relay['as'] -%} +<a href='{{ path_prefix }}as/{{ relay['as']|escape }}/'>{{ relay['as']|escape +}}</a> +{% else -%} +unknown +{% endif -%} +<dt> +AS Name +</dt> +<dd> +{% if relay['as_name'] -%} +{{ relay['as_name']|escape }} (<a href='https://bgp.tools/{{ relay['as']|escape }}'>BGP</a>) +{% else -%} +unknown +{% endif -%} +<dt> +First Seen +</dt> +<dd> +<a href="{{ path_prefix }}first_seen/{{ relay['first_seen'].split(' ', 1)[0]|escape }}/">{{ relay['first_seen']|escape }}</a> +</dd> +<dt> +Last Restarted +</dt> +<dd> +{{ relay['last_restarted']|escape }} +</dd> +<dt> +Consensus Weight +</dt> +<dd> +{{ relay['consensus_weight_fraction']|escape }} ({{ +relay['consensus_weight']|escape }}) +</dd> +<dt> +Platform +</dt> +<dd> +<a href='{{ path_prefix }}platform/{{ relay['platform']|escape }}/'>{{ +relay['platform'] }}</a> +</dd> +</dl> +</div> +</div> +</div> +{% endblock -%} diff --git a/allium/templates/relay-list.html b/allium/templates/relay-list.html index 6c25cef..cc992c1 100644 --- a/allium/templates/relay-list.html +++ b/allium/templates/relay-list.html @@ -3,160 +3,160 @@ Tor Relays {% endblock -%} {% block body -%} - <h2> - {% block header -%} - {% endblock -%} - </h2> - <p> - {% block description -%} - {% endblock -%} - </p> - <table class="table table-condensed"> - <tr> - <th></th> - <th>Nickname</th> - <th>Contact</th> - <th>Bandwidth</th> - <th class="visible-md visible-lg">IP Address</th> - <th>AS Number</th> - <th>AS Name</th> - <th>Country</th> - <th>Platform</th> - <th class="visible-md visible-lg">Flags</th> - <th class="visible-md visible-lg">First Seen</th> - </tr> - <tbody> - {% if is_index -%} - {% set relay_list = relays.json['relay_subset'][:500] -%} - {% else -%} - {% set relay_list = relays.json['relay_subset'] -%} - {% endif -%} - {% for relay in relay_list -%} - <tr> - {% if relay['observed_bandwidth'] > 1000000 -%} - {% set obs_bandwidth = '%s %s'|format((relay['observed_bandwidth'] - / 1000000)|round(2, 'common'), 'MB/s') -%} - {% else -%} - {% set obs_bandwidth = '%s %s'|format((relay['observed_bandwidth'] / 1000)| - round(2, 'common'), 'KB/s') -%} - {% endif -%} - {% if relay['running'] -%} - <td> - <span class="circle circle-online" title="This relay is online"></span> - </td> - {% else -%} - <td> - <span class="circle circle-offline" title="This relay is offline"></span> - </td> - {% endif -%} - {% if relay['effective_family']|length > 1 -%} - <td title="{{ relay['nickname']|escape }}"> - <a href="{{ path_prefix }}relay/{{ relay['fingerprint']|escape }}.html">{{ relay['nickname']|truncate(8)|escape - }}</a> (<a href="{{ path_prefix }}family/{{ relay['fingerprint']|escape }}/">{{ - relay['effective_family']| length }}</a>) - </td> - {% else -%} - <td title="{{ relay['nickname']|escape }}"> - <a href="{{ path_prefix }}relay/{{ relay['fingerprint']|escape }}.html">{{ relay['nickname']|truncate(10)|escape - }}</a> - </td> - {% endif -%} - {% if key != 'contact' -%} - {% if relay['contact'] -%} - <td> - <code><a href="{{ path_prefix }}contact/{{ relay['contact_md5'] }}/" - title="{{ relay['contact']|escape }}">{{ relay['contact_md5'][0:8] - }}</a></code> - </td> - {% else -%} - <td title="none"> - <code>none</code> - </td> - {% endif -%} - {% else -%} - <td title="{{ relay['contact']|escape }}"> - <code>{{ relay['contact_md5'][0:8] - }}</code> - </td> - {% endif -%} - <td>{{ obs_bandwidth }}</td> - <td class="visible-md visible-lg"> - <a href="https://bgp.tools/prefix/{{ relay['or_addresses'][0].split(':', 1)[0]|escape }}">{{ - relay['or_addresses'][0].split(':', 1)[0]|escape }}</a> - </td> - {% if relay['as'] -%} - {% if key != 'as' -%} - <td> - <a href="{{ path_prefix }}as/{{ relay['as']|escape }}/">{{ - relay['as']|escape }}</a> - </td> - {% else -%} - <td>{{ relay['as']|escape }}</td> - {% endif -%} - {% else -%} - <td>Unknown</td> - {% endif -%} - {% if relay['as_name'] -%} - <td> - <a href="https://bgp.tools/{{ relay['as']|escape }}" - title="{{ relay['as_name']|escape }}">{{ - relay['as_name']|escape|truncate(length=20) }}</a> - </td> - {% else -%} - <td>Unknown</td> - {% endif -%} - {% if relay['country'] -%} - {% if key != 'country' -%} - <td> - <a href="{{ path_prefix }}country/{{ relay['country']|escape }}/"> - <img src="{{ path_prefix }}static/images/cc/{{ relay['country']|escape }}.png" - title="{{ relay['country_name']|escape }}" - alt="{{ relay['country_name']|escape }}"> - </a> - </td> - {% else -%} - <td> - <img src="{{ path_prefix }}static/images/cc/{{ relay['country']|escape }}.png" - title="{{ relay['country_name']|escape }}" - alt="{{ relay['country_name']|escape }}"> - </td> - {% endif -%} - {% else -%} - <td>X</td> - {% endif -%} - {% if key != 'platform' -%} - <td> - <a href="{{ path_prefix }}platform/{{ relay['platform']|escape }}/">{{ - relay['platform']|truncate(length=10)|escape }}</a> - </td> - {% else -%} - <td>{{ relay['platform']|truncate(length=10)|escape }}</td> - {% endif -%} - <td class="visible-md visible-lg"> - {% for flag in relay['flags'] -%} - {% if flag != 'StaleDesc' -%} - <a href="{{ path_prefix }}flag/{{ flag.lower()|escape }}"> - <img src="{{ path_prefix }}static/images/flags/{{ flag.lower()|escape }}.png" - title="{{ flag|escape }}" - alt="{{ flag|escape }}"> - </a> - {% endif -%} - {% endfor - -%} - </td> - {% if key != 'first_seen' -%} - <td class="visible-md visible-lg"> - <a href="{{ path_prefix }}first_seen/{{ relay['first_seen'].split(' ', 1)[0]|escape }}">{{ - relay['first_seen'].split(' ', 1)[0]|escape }}</a> - </td> - {% else -%} - <td class="visible-md visible-lg"> - {{ relay['first_seen'].split(' ', 1)[0]|escape - }} - </td> - {% endif -%} - </tr> - {% endfor -%} - </tbody> - </table> - {% endblock -%} +<h2> +{% block header -%} +{% endblock -%} +</h2> +<p> +{% block description -%} +{% endblock -%} +</p> +<table class="table table-condensed"> +<tr> + <th></th> + <th>Nickname</th> + <th>Contact</th> + <th>Bandwidth</th> + <th class="visible-md visible-lg">IP Address</th> + <th>AS Number</th> + <th>AS Name</th> + <th>Country</th> + <th>Platform</th> + <th class="visible-md visible-lg">Flags</th> + <th class="visible-md visible-lg">First Seen</th> +</tr> +<tbody> + {% if is_index -%} + {% set relay_list = relays.json['relay_subset'][:500] -%} + {% else -%} + {% set relay_list = relays.json['relay_subset'] -%} + {% endif -%} + {% for relay in relay_list -%} + <tr> + {% if relay['observed_bandwidth'] > 1000000 -%} + {% set obs_bandwidth = '%s %s'|format((relay['observed_bandwidth'] + / 1000000)|round(2, 'common'), 'MB/s') -%} + {% else -%} + {% set obs_bandwidth = '%s %s'|format((relay['observed_bandwidth'] / 1000)| + round(2, 'common'), 'KB/s') -%} + {% endif -%} + {% if relay['running'] -%} + <td> + <span class="circle circle-online" title="This relay is online"></span> + </td> + {% else -%} + <td> + <span class="circle circle-offline" title="This relay is offline"></span> + </td> + {% endif -%} + {% if relay['effective_family']|length > 1 -%} + <td title="{{ relay['nickname']|escape }}"> + <a href="{{ path_prefix }}relay/{{ relay['fingerprint']|escape }}.html">{{ relay['nickname']|truncate(8)|escape + }}</a> (<a href="{{ path_prefix }}family/{{ relay['fingerprint']|escape }}/">{{ + relay['effective_family']| length }}</a>) + </td> + {% else -%} + <td title="{{ relay['nickname']|escape }}"> + <a href="{{ path_prefix }}relay/{{ relay['fingerprint']|escape }}.html">{{ relay['nickname']|truncate(10)|escape + }}</a> + </td> + {% endif -%} + {% if key != 'contact' -%} + {% if relay['contact'] -%} + <td> + <code><a href="{{ path_prefix }}contact/{{ relay['contact_md5'] }}/" +title="{{ relay['contact']|escape }}">{{ relay['contact_md5'][0:8] + }}</a></code> + </td> + {% else -%} + <td title="none"> + <code>none</code> + </td> + {% endif -%} + {% else -%} + <td title="{{ relay['contact']|escape }}"> + <code>{{ relay['contact_md5'][0:8] + }}</code> + </td> + {% endif -%} + <td>{{ obs_bandwidth }}</td> + <td class="visible-md visible-lg"> + <a href="https://bgp.tools/prefix/{{ relay['or_addresses'][0].split(':', 1)[0]|escape }}">{{ + relay['or_addresses'][0].split(':', 1)[0]|escape }}</a> + </td> + {% if relay['as'] -%} + {% if key != 'as' -%} + <td> + <a href="{{ path_prefix }}as/{{ relay['as']|escape }}/">{{ + relay['as']|escape }}</a> + </td> + {% else -%} + <td>{{ relay['as']|escape }}</td> + {% endif -%} + {% else -%} + <td>Unknown</td> + {% endif -%} + {% if relay['as_name'] -%} + <td> + <a href="https://bgp.tools/{{ relay['as']|escape }}" + title="{{ relay['as_name']|escape }}">{{ + relay['as_name']|escape|truncate(length=20) }}</a> + </td> + {% else -%} + <td>Unknown</td> + {% endif -%} + {% if relay['country'] -%} + {% if key != 'country' -%} + <td> + <a href="{{ path_prefix }}country/{{ relay['country']|escape }}/"> + <img src="{{ path_prefix }}static/images/cc/{{ relay['country']|escape }}.png" + title="{{ relay['country_name']|escape }}" + alt="{{ relay['country_name']|escape }}"> + </a> + </td> + {% else -%} + <td> + <img src="{{ path_prefix }}static/images/cc/{{ relay['country']|escape }}.png" + title="{{ relay['country_name']|escape }}" + alt="{{ relay['country_name']|escape }}"> + </td> + {% endif -%} + {% else -%} + <td>X</td> + {% endif -%} + {% if key != 'platform' -%} + <td> + <a href="{{ path_prefix }}platform/{{ relay['platform']|escape }}/">{{ + relay['platform']|truncate(length=10)|escape }}</a> + </td> + {% else -%} + <td>{{ relay['platform']|truncate(length=10)|escape }}</td> + {% endif -%} + <td class="visible-md visible-lg"> + {% for flag in relay['flags'] -%} + {% if flag != 'StaleDesc' -%} + <a href="{{ path_prefix }}flag/{{ flag.lower()|escape }}/"> + <img src="{{ path_prefix }}static/images/flags/{{ flag.lower()|escape }}.png" + title="{{ flag|escape }}" + alt="{{ flag|escape }}"> + </a> + {% endif -%} + {% endfor + -%} + </td> + {% if key != 'first_seen' -%} + <td class="visible-md visible-lg"> + <a href="{{ path_prefix }}first_seen/{{ relay['first_seen'].split(' ', 1)[0]|escape }}/">{{ + relay['first_seen'].split(' ', 1)[0]|escape }}</a> + </td> + {% else -%} + <td class="visible-md visible-lg"> + {{ relay['first_seen'].split(' ', 1)[0]|escape + }} + </td> + {% endif -%} + </tr> + {% endfor -%} + </tbody> +</table> +{% endblock -%} |