aboutsummaryrefslogtreecommitdiff
path: root/allium/templates/misc-networks.html
blob: b68aab070306f0553b01603571a8d3c9e546e87e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
{% extends "skeleton.html" -%}
{% set sorted_by_label = sorted_by.split(',')[0].split('.')[1] -%}
{% block title -%}
    Tor Relays :: Networks By {{ sorted_by_label|replace('_',
    ' ')|title }}
{% endblock -%}
{% block body -%}
    <h2>
        <a href={{ path_prefix }}>Home</a> :: Networks By {{
        sorted_by_label|replace('_', ' ')|title }}
    </h2>
    <p>
        The set of all ({{ relays.json['sorted']['as']|length }}) recognized networks
        running at least one relay sorted by {{ sorted_by_label|replace('_', ' ') }}.
        This data is onionoo-derived and might be out of date with respect to other
        sources.
    </p>
    <table class="table table-condensed">
        <tr>
            <th>AS Number</th>
            <th>AS Name</th>
            <th>Country</th>
            {% if sorted_by_label == 'bandwidth' -%}
                <th>Bandwidth</th>
            {% else -%}
                <th>
                    <a href="networks-by-bandwidth.html">Bandwidth</a>
                </th>
            {% endif -%}
            {% if sorted_by_label == 'exit_count' -%}
                <th>
                    Exit / <a href="networks-by-middle-count.html">Middle</a>
                </th>
            {% elif sorted_by_label == 'middle_count' -%}
                <th>
                    <a href="networks-by-exit-count.html">Exit</a> / Middle
                </th>
            {% else -%}
                <th>
                    <a href="networks-by-exit-count.html">Exit</a> / <a href="networks-by-middle-count.html">Middle</a>
                </th>
            {% endif -%}
        </tr>
        <tbody>
            {% for k, v in relays.json['sorted']['as'].items()|sort(attribute=sorted_by,
                reverse=True) -%}
                <tr>
                    {% if v['bandwidth'] > 1000000 -%}
                        {% set obs_bandwidth = '%s %s'|format((v['bandwidth'] / 1000000)|round(2,
                        'common'), 'MB/s') -%}
                    {% else -%}
                        {% set obs_bandwidth = '%s %s'|format((v['bandwidth'] / 1000)|round(2,
                        'common'), 'KB/s') -%}
                    {% endif -%}
                    <td>
                        <a href="{{ path_prefix }}as/{{ k|escape }}/">{{ k|escape }}</a>
                    </td>
                    {% if v['as_name'] -%}
                        <td title="{{ v['as_name']|escape }}">
                            <a href="https://bgp.he.net/{{ k|escape }}">{{ v['as_name']|truncate(20)|escape }}</a>
                        </td>
                    {% else -%}
                        <td>Unknown</td>
                    {% endif -%}
                    {% if v['country'] -%}
                        <td>
                            <a href="{{ path_prefix }}country/{{ v['country']|escape }}/">
                                <img src="{{ path_prefix }}static/images/cc/{{ v['country']|escape }}.png"
                                     title="{{ v['country_name']|escape }}"
                                     alt="{{ v['country_name']|escape }}">
                            </a>
                        </td>
                    {% else -%}
                        <td>X</td>
                    {% endif -%}
                    <td>{{ obs_bandwidth }}</td>
                    <td>{{ v['exit_count'] }} / {{ v['middle_count'] }}</td>
                </tr>
            {% endfor -%}
        </tbody>
    </table>
{% endblock -%}