<% if(!aggregates) { %> <% if(error == 0) { %>
No Results found!

No Tor relays matched your query :(

Return to home page

<% } else if (error == 2) { %>
Backend error!

Relay Search is unable to get a response from its backend server. This probably means that the backend server is unavailable right now. This can also happen, however, if you did not format your query correctly. Please have a look at the About page that explains what type of search queries are supported by Relay Search.

<% } else if (error == 3) { %>
JavaScript Error!

There is a problem with your javascript environment, you may have noscript enabled on the remote onionoo backend. Try temporarily allowing noscript to connect to the backend IP address. If the problem persits consult the bugtracker.

<% } else if (error == 4) { %>
Query error!

The backend server reports a problem with your query. Please have a look at the About page that explains what type of search queries are supported by Relay Search.

<% } else if (error == 5) { %>
No query submitted!

The search query was found to be empty, which is not supported. You must enter a search query in order to generate results. Please have a look at the About page that explains what type of search queries are supported by Relay Search.

<% } %> <% } else { %> <% if (aType == "version") { %><% } %> <% _.each(aggregates, function(aggregate) { %> <% if (aType == "version") { %> <% } %> <% if ((typeof aggregate.country) == "string") { %> <% } else { %> <% if ((typeof aggregate.as) == "string") { %> <% } else { %> <% } %> <% } %> <% if ((typeof aggregate.as) == "string") { %> <% } else { %> <% if ((typeof aggregate.country) == "string") { %> <% } else { %> <% } %> <% } %> <% } else { %> 0 <% } %> <% } else { %> 0 <% } %> <% }); %>
VersionCountry Autonomous System Consensus Weight Advertised Bandwidth Guard Probability Middle Probability Exit Probability Relays Guard Exit
3<% } else { %>2<% } %>">Total                
<%= aggregate.version %> <%= (aggregate.version) ? "version:" + aggregate.version + " " : "" %><% if (query.indexOf("country:") == -1) { %>country:<%= aggregate.country %><% } %>"> <%= countries[aggregate.country] %> "> (<%= (aggregate.version) ? "version:" + aggregate.version + " " : "" %><% if (query.indexOf("as:") == -1) { %>as:<%= aggregate.as %><% } %>"><%= aggregate.country.size %> distinct) "> (<%= (query) ? query + " " : "" %><%= (aggregate.version) ? "version:" + aggregate.version + " " : "" %>"><%= aggregate.country.size %> distinct) <%= (aggregate.version) ? "version:" + aggregate.version + " " : "" %><% if (query.indexOf("as:") == -1) { %>as:<%= aggregate.as %><% } %>"><%= aggregate.as_name %> (<%= aggregate.as %>) "> (<%= (aggregate.version) ? "version:" + aggregate.version + " " : "" %><% if (query.indexOf("country:") == -1) { %>country:<%= aggregate.country %><% } %>"><%= aggregate.as.size %> distinct) "> (<%= (query) ? query + " " : "" %><%= (aggregate.version) ? "version:" + aggregate.version + " " : "" %>"><%= aggregate.as.size %> distinct) <%= (aggregate.consensus_weight_fraction * 100).toFixed(4) %>% <%= hrBandwidth(aggregate.advertised_bandwidth) %> <%= (aggregate.guard_probability * 100).toFixed(4) %>% <%= (aggregate.middle_probability * 100).toFixed(4) %>% <%= (aggregate.exit_probability * 100).toFixed(4) %>% <% if ((typeof aggregate.as) == "string" || (typeof aggregate.country) == "string" || (typeof aggregate.version) == "string") { %> as:<%= aggregate.as %> <% } if ((typeof aggregate.country) == "string" && query.indexOf("country:") == -1) { %>country:<%= aggregate.country %> <% } %><%= (query) ? query + " " : "" %><%= (aggregate.version) ? "version:" + aggregate.version + " " : "" %>"><%= aggregate.relays %> <% } else { %> <%= aggregate.relays %> <% } %> <% if (aggregate.guards > 0) { %> as:<%= aggregate.as %> <% } if ((typeof aggregate.country) == "string" && query.indexOf("country:") == -1) { %>country:<%= aggregate.country %> <% } %><%= (query) ? query + " " : "" %><% if (query.indexOf("flag:") == -1) { %>flag:guard <% } %><%= (aggregate.version) ? "version:" + aggregate.version + " " : "" %>"><%= aggregate.guards %> <% if (aggregate.exits > 0) { %> as:<%= aggregate.as %> <% } if ((typeof aggregate.country) == "string" && query.indexOf("country:") == -1) { %>country:<%= aggregate.country %> <% } %><%= (query) ? query + " " : "" %><% if (query.indexOf("flag:") == -1) { %>flag:exit <% } %><%= (aggregate.version) ? "version:" + aggregate.version + " " : "" %>"><%= aggregate.exits %>

The aggregated search tool displays aggregated data about relays in the Tor network. It provides insight into diversity in the network and the probabilities of using relays in a particular country or AS as a guard, middle or exit relay. The results are restricted to only relays that were running at the last time the relays data was updated and do not include bridge data.

<% } %> <% if(aggregates || error == 0) { %>

Information for relays was published: <%= relaysPublished %> UTC.
Information for bridges was published: <%= bridgesPublished %> UTC.

Onionoo version: <%= onionooVersion %>/<%= buildRevision %>

<% } %>