You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
162 lines
4.6 KiB
162 lines
4.6 KiB
{% extends 'index.html' %}
|
|
|
|
{% block main %}
|
|
|
|
{% if error %}
|
|
<h2>{{ 'Invalid node' if error.statusCode == 400 else error.statusMessage }}</h2>
|
|
{% else %}
|
|
|
|
<div class="clearfix">
|
|
<h2 class="node-title">{{ node.type | title }}: <span class="name">{{ node | name }}</span></h2>
|
|
|
|
<section class="status">
|
|
<h3>Status:</h3>
|
|
{{ node | status }}
|
|
</section>
|
|
</div>
|
|
|
|
{% if
|
|
node.nickname or
|
|
node.fingerprint or
|
|
node.hashed_fingerprint or
|
|
node.advertised_bandwidth or
|
|
node.flags.length
|
|
%}
|
|
<section class="overview">
|
|
<h3>Overview</h3>
|
|
<i class="icon-tor"></i>
|
|
<dl>
|
|
{% if node.nickname %}
|
|
<dt>Nickname</dt>
|
|
<dd>{{ node.nickname }}</dd>
|
|
{% endif %}
|
|
{% if node.fingerprint %}
|
|
<dt>Fingerprint</dt>
|
|
<dd>{{ node.fingerprint }}</dd>
|
|
{% endif %}
|
|
{% if node.hashed_fingerprint %}
|
|
<dt>Hashed Fingerprint</dt>
|
|
<dd>{{ node.hashed_fingerprint }}</dd>
|
|
{% endif %}
|
|
{% if node.advertised_bandwidth %}
|
|
<dt>Advertised Bandwidth</dt>
|
|
<dd>{{ node | bandwidth }}</dd>
|
|
{% endif %}
|
|
{% if node.flags.length %}
|
|
<dt>Flags</dt>
|
|
{% for flag in node.flags %}
|
|
<dd class="flag"><i class="icon-{{ flag | lower }}"></i> {{ flag }}</dd>
|
|
{% endfor %}
|
|
{% endif %}
|
|
</dl>
|
|
</section>
|
|
{% endif %}
|
|
|
|
{% if bandwidth %}
|
|
<section class="bandwidth" aria-hidden="true">
|
|
<h3>Bandwidth <small>(MB/s over the last month)</small></h3>
|
|
<pre>{{ bandwidth }}</pre>
|
|
</section>
|
|
{% endif %}
|
|
|
|
<div class="columns">
|
|
|
|
{% if
|
|
node.type or
|
|
node.platform or
|
|
node.or_addresses.length or
|
|
node.dir_address or
|
|
node.transports.length or
|
|
node.exit_policy.length
|
|
%}
|
|
<section>
|
|
<h3>Config</h3>
|
|
<dl>
|
|
{% if node.type %}
|
|
<dt>Type</dt>
|
|
<dd>{{ node.type | title }}</dd>
|
|
{% endif %}
|
|
{% if node.platform %}
|
|
<dt>Platform</dt>
|
|
<dd>{{ node.platform }}</dd>
|
|
{% endif %}
|
|
{% if node.or_addresses.length %}
|
|
<dt>Or Addresses</dt>
|
|
{% for address in node.or_addresses %}
|
|
<dd>{{ address }}</dd>
|
|
{% endfor %}
|
|
{% endif %}
|
|
{% if node.dir_address %}
|
|
<dt>Dir Address</dt>
|
|
<dd>{{ node.dir_address }}</dd>
|
|
{% endif %}
|
|
{% if node.transports.length %}
|
|
<dt>Transport Protocols</dt>
|
|
{% for transportProtocol in node.transports %}
|
|
<dd>{{ transportProtocol }}</dd>
|
|
{% endfor %}
|
|
{% endif %}
|
|
{% if node.exit_policy.length %}
|
|
<dt>Exit Policy</dt>
|
|
{% for rule in node.exit_policy %}
|
|
<dd>{{ rule }}</dd>
|
|
{% endfor %}
|
|
{% endif %}
|
|
</dl>
|
|
</section>
|
|
{% endif %}
|
|
|
|
{% if
|
|
node.host_name or
|
|
node.contact or
|
|
node.country_name or
|
|
node.region_name or
|
|
node.city_name or
|
|
node.as_number or
|
|
node.as_name or
|
|
node.consensus_weight
|
|
%}
|
|
<section>
|
|
<h3>Meta</h3>
|
|
<dl>
|
|
{% if node.host_name %}
|
|
<dt>Hostname</dt>
|
|
<dd>{{ node.host_name }}</dd>
|
|
{% endif %}
|
|
{% if node.contact %}
|
|
<dt>Contact</dt>
|
|
<dd>{{ node.contact }}</dd>
|
|
{% endif %}
|
|
{% if node.country_name %}
|
|
<dt>Country</dt>
|
|
<dd>{{ node.country_name }}</dd>
|
|
{% endif %}
|
|
{% if node.region_name %}
|
|
<dt>Region</dt>
|
|
<dd>{{ node.region_name }}</dd>
|
|
{% endif %}
|
|
{% if node.city_name %}
|
|
<dt>City</dt>
|
|
<dd>{{ node.city_name }}</dd>
|
|
{% endif %}
|
|
{% if node.as_number %}
|
|
<dt>AS Number</dt>
|
|
<dd>{{ node.as_number }}</dd>
|
|
{% endif %}
|
|
{% if node.as_name %}
|
|
<dt>AS Name</dt>
|
|
<dd>{{ node.as_name }}</dd>
|
|
{% endif %}
|
|
{% if node.consensus_weight %}
|
|
<dt>Consensus Weight</dt>
|
|
<dd>{{ node.consensus_weight }}</dd>
|
|
{% endif %}
|
|
</dl>
|
|
</section>
|
|
{% endif %}
|
|
|
|
</div>
|
|
|
|
{% endif %}
|
|
|
|
{% endblock %}
|
|
|