Details for: <%= relay.get('nickname') %>
<% if (relay.get('running') === false) { %>
<% } else if (relay.get('overload_general_timestamp') != null) { %>
<% } else { %>
<% } %>
<% if (relay.get('new_relay') === true) {%>
This relay appears to be less than 2 weeks old.
This blog post explains the lifecycle of a new relay, and why it will not be immediately fully used to capacity.
<% } %>
<% if (relay.get('overload_general_timestamp') != null) {%>
This relay is overloaded since <%= relay.get('overload_general_datetime') %>. Please check the following support
article to find out why this is happening.
<% } %>
<% if (relay.get('version_status') === 'obsolete'
&& relay.get('version_consistent') == true) { %>
This relay is running a version of Tor that is
too old and may be missing important security fixes. If this is your relay, you
should update it as soon as possible.
<% } %>
Configuration
- Nickname
- <%= _.escape(relay.get('nickname')) %>
- OR Addresses ">
-
<% _.each(relay.get('or_addresses'),
function(or_address) { %><%= $.trim(or_address) %>
<% }); %>
<% if (relay.get('unreachable_or_addresses').length > 0) { %>
- Unreachable OR Addresses
-
<% _.each(relay.get('unreachable_or_addresses'),
function(or_address) { %><%= $.trim(or_address) %>
<% }); %>
<% } %>
- Contact
- <%= _.escape( relay.get('contact')!='undefined' ? relay.get('contact') : 'none' ) %>
- Dir Address
- <%= relay.get('dir_address') ? relay.get('dir_address') : 'none' %>
- Exit Addresses
-
<% if (relay.get('exit_addresses')) { %>
<% _.each(relay.get('exit_addresses'), function(exit_address) { %>
<%= exit_address %>
<% }); %>
<% } else { %>
none
<% } %>
-
Advertised Bandwidth
- <%= relay.get('bandwidth_hr') %>
- IPv4 Exit Policy Summary
-
<% if ('accept' in relay.get('exit_policy_summary')) { %>
accept<% _.each(relay.get('exit_policy_summary')['accept'],
function(ports) { %>
<%= $.trim(ports) %><% });} %>
<% if ('reject' in relay.get('exit_policy_summary')) { %>
reject<% _.each(relay.get('exit_policy_summary')['reject'],
function(ports) { %>
<%= $.trim(ports) %><% });} %>
- IPv6 Exit Policy Summary
-
<% if (relay.get('exit_policy_v6_summary') && ('accept' in relay.get('exit_policy_v6_summary'))) { %>
accept<% _.each(relay.get('exit_policy_v6_summary')['accept'],
function(ports) { %>
<%= $.trim(ports) %><% });} %>
<% if (relay.get('exit_policy_v6_summary') && ('reject' in relay.get('exit_policy_v6_summary'))) { %>
reject<% _.each(relay.get('exit_policy_v6_summary')['reject'],
function(ports) { %>
<%= $.trim(ports) %><% });} %>
<% if (relay.get('exit_policy_v6_summary') == null) { %>
reject
1-65535
<% } %>
- Exit Policy
-
<% _.each(relay.get('exit_policy'), function(line) { %>
<%= $.trim(line) %><% }); %>
Effective Family Members
<% if (relay.get('effective_family') !== null) { %><% } %>
<% if (relay.get('effective_family') !== null) { %><% _.each(relay.get('effective_family'), function(member) { %><% var valid = member.match(RegExp("^[A-F0-9]{40}$")); %>
<% if (valid) { %><% } %><%= member %><% if (valid) { %><% }}); %>
<% } else { %>none<% } %>
Alleged Family Members
<% if (relay.get('alleged_family') !== null) { %><% _.each(relay.get('alleged_family'), function(member) { %><% var valid = member.match(RegExp("^[A-F0-9]{40}$")); %>
<% if (valid) { %><% } %><%= member %><% if (valid) { %><% }}); %>
<% } else { %>none<% } %>
<% if (relay.get('running') === true) { %>
Properties
<% } else { %>
Last Known Properties
<% } %>
- Fingerprint
<%= relay.get('fingerprint') %>
<% if (relay.get('running') === true) { %>
- Uptime
- <%= relay.get('uptime_hrfull') %>
<% } else { %>
- Downtime
- <%= relay.get('downtime') %>
- Last Seen
- <%= relay.get('last_seen') %>
<% } %>
- Flags
- <% _.each(relay.get('flags'), function(flag) { %>
<%= flag[0] %>
<% }); %>
- Additional Flags
-
-
<% var propertyCount = 0; %>
<% _.each(relay.get('additional_flags'), function(flag) { propertyCount++; %>
<%= flag[0] %>
<% }); %>
<%= propertyCount==0 ? 'none' : '' %>
- Host Name
-
<% if (relay.get('verified_host_names') !== null) { %><% _.each(relay.get('verified_host_names'), function(host_name) { %><%= host_name %><% }); } %><% if (relay.get('unverified_host_names') !== null) { %><% _.each(relay.get('unverified_host_names'), function(host_name) { %><%= host_name %>*<% }); } %><% if(relay.get('verified_host_names') == relay.get('unverified_host_names')) { %>none<% } %>
- Country
- <% if (relay.get('country')) { %>
<%= relay.get('countryname') %> (
)<% } else { %>Unknown<% } %>
- AS Number
- <% if (relay.get('as') !== null) { %><%= _.escape(relay.get('as')) %><% } else { %>unknown<% }; %>
- AS Name
- <%= relay.get('as_name') ? _.escape(relay.get('as_name')) : "unknown" %>
- First Seen
- <%= relay.get('first_seen') %> (<%= relay.get('age') %>)
- Last Restarted
- <%= relay.get('last_restarted') %>
- Consensus Weight
- <%= relay.get('consensus_weight') %>
- Platform
- <%= _.escape(relay.get('platform')) %><% if (!relay.get('version_consistent')) { %> (version is <%= _.escape(relay.get('version')) %> in consensus)<% } %>
History
<% if (relay.get('dir_address')) { %>
Advanced
Latest server descriptor
Latest extra-info descriptor
<% } %>
Information for relays was published: <%= relay.get('relaysPublished') %> UTC.
Onionoo version: <%= relay.get('onionooVersion') %>/<%= relay.get('buildRevision') %>