{% 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 }} {{ 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
}} {{ 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 -%}