<% _.each(relay.get('or_addresses'),
function(or_address) { %><%= $.trim(or_address) %>
<% }); %>
<% _.each(relay.get('unreachable_or_addresses'),
function(or_address) { %><%= $.trim(or_address) %>
<% }); %>
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) %><% });} %>
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
<% _.each(relay.get('exit_policy'), function(line) { %>
<%= $.trim(line) %><% }); %>
<% 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<% } %>
<% 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<% } %>
<%= relay.get('fingerprint') %>
<%= flag[0] %>
<% }); %>
<%= flag[0] %>
<% }); %>
<%= propertyCount==0 ? 'none' : '' %>
<% 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<% } %>
<%= relay.get('countryname') %> (
)<% } else { %>Unknown<% } %>
Latest server descriptor Latest extra-info descriptor
<% } %>Information for relays was published: <%= relay.get('relaysPublished') %> UTC.
Onionoo version: <%= relay.get('onionooVersion') %>/<%= relay.get('buildRevision') %>