{% extends "skeleton.html" -%}
{% block title -%}Tor Relays :: {{ relay['nickname'] }}{% endblock -%}
{% block body -%}
Home :: Relay "{{ relay['nickname'] }}"
- Nickname
- {{ relay['nickname']|escape }}
- OR Address
{% for address in relay['or_addresses'] -%}
{{ address }}
{% endfor -%}
- Contact
{% if relay['contact'] -%}
- {{
relay['contact']|escape }}
{% else -%}
- none
{% endif -%}
- Dir Address
{% if relay['dir_address'] -%}
- {{
relay['dir_address']|escape }}
{% else -%}
- none
{% endif -%}
- Exit Address
{% if relay['exit_address'] -%}
- {{ relay['exit_address']|escape }}
{% else -%}
- none
{% endif -%}
- Observed Bandwidth
{% 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 -%}
- {{ obs_bandwidth }}
- IPv4 Exit Policy Summary
-
{% if relay['exit_policy_summary'] -%}
{%- set v4_summary = relay['exit_policy_summary'].items() -%}
{% for k, v in v4_summary -%}
{{ k|escape }}: {{ '\n ' + v|join('\n ')|escape }}
{% endfor -%}
{% else -%}
none
{% endif -%}
- IPv6 Exit Policy Summary
-
{% if relay['exit_policy_v6_summary'] -%}
{%- set v6_summary = relay['exit_policy_v6_summary'].items() -%}
{% for k, v in v6_summary -%}
{{ k|escape }}: {{ '\n ' + v|join('\n ')|escape }}
{% endfor -%}
{% else -%}
none
{% endif -%}
- Exit Policy
{% for policy in relay['exit_policy'] -%}
{{ policy|escape }}
{% endfor -%}
{% if relay['effective_family']|length > 1 -%}
- Effective Family Members (view)
{% else -%}
- Effective Family Members
{% endif -%}
{% for e_relay in relay['effective_family'] -%}
{% if relay['effective_family']|length > 1 -%}
{{ e_relay|escape }}
{% else -%}
{{ e_relay|escape }}
{% endif -%}
{% endfor -%}
- Alleged Family Members
-
{% if relay['alleged_family'] -%}
{% for a_relay in relay['alleged_family'] -%}
{% if relay['alleged_family']|length > 1 -%}
{{ a_relay|escape }}
{% else -%}
{{ a_relay|escape }}
{% endif -%}
{% endfor -%}
{% else -%}
none
{% endif -%}
- Fingerprint
{{ relay['fingerprint']|escape }}
- Flags
-
{% for flag in relay['flags'] -%}
{% if flag != 'StaleDesc' -%}
{{ flag|escape }}
{% endif -%}
{% endfor -%}
- Host Name
-
{% if relay['verified_host_names'] -%}
{{
relay['verified_host_names']|join('\n')|escape }}
{% elif relay['unverified_host_names'] -%}
{{
relay['unverified_host_names']|join('\n')|escape }}
{% else -%}
none
{% endif -%}
- Country
-
{% if relay['country'] -%}
{{ relay['country_name']|escape }}
{% else -%}
unknown
{% endif -%}
- AS Number
-
{% if relay['as'] -%}
{{ relay['as']|escape
}}
{% else -%}
unknown
{% endif -%}
- AS Name
-
{% if relay['as_name'] -%}
{{ relay['as_name']|escape }} (BGP)
{% else -%}
unknown
{% endif -%}
- First Seen
- {{ relay['first_seen']|escape }}
- Last Restarted
- {{ relay['last_restarted']|escape }}
- Consensus Weight
- {{ relay['consensus_weight_fraction']|escape }} ({{
relay['consensus_weight']|escape }})
- Platform
-
{{
relay['platform'] }}
{% endblock -%}