Files
@ de6652eaf965
Branch filter:
Location: FVDE/ennstatus/ennstatus/templates/status/macros.html - annotation
de6652eaf965
3.7 KiB
text/html
Use configuration variables for onion addresses, as these are more prone to change
9bfee64f690e 9bfee64f690e 9bfee64f690e 9bfee64f690e 9bfee64f690e 9bfee64f690e 9bfee64f690e 9bfee64f690e 5da13e8942c1 5da13e8942c1 5da13e8942c1 5da13e8942c1 5da13e8942c1 5da13e8942c1 5da13e8942c1 5da13e8942c1 5da13e8942c1 5da13e8942c1 9bfee64f690e 9bfee64f690e 9bfee64f690e 9bfee64f690e 9bfee64f690e 9bfee64f690e 9bfee64f690e a0b053baa567 a0b053baa567 a0b053baa567 a0b053baa567 a0b053baa567 feb2e94d533a 365524643d78 de6652eaf965 365524643d78 5ee60a4a2fb2 365524643d78 365524643d78 9bfee64f690e 9bfee64f690e 4463175b5e6d 611cfc0f2f41 4463175b5e6d 4463175b5e6d 9bfee64f690e 9bfee64f690e fc8bb776c685 9bfee64f690e c34648b1a4d6 9bfee64f690e 9bfee64f690e 3abda675c94a 9bfee64f690e 9bfee64f690e 9bfee64f690e 9bfee64f690e 9bfee64f690e 9bfee64f690e 9bfee64f690e 9bfee64f690e fbc229d3812b 1ade31ac2528 9bfee64f690e 611cfc0f2f41 611cfc0f2f41 4078d793b48d fc8bb776c685 611cfc0f2f41 e899769da849 e899769da849 e899769da849 e899769da849 e899769da849 611cfc0f2f41 4078d793b48d 9bfee64f690e 9bfee64f690e 9bfee64f690e a0b053baa567 af07a4cf2b54 5da13e8942c1 4078d793b48d c34648b1a4d6 c34648b1a4d6 9bfee64f690e 9bfee64f690e 9bfee64f690e 9bfee64f690e 9bfee64f690e 9bfee64f690e 1ade31ac2528 1ade31ac2528 1ade31ac2528 1ade31ac2528 1ade31ac2528 1ade31ac2528 9bfee64f690e | {% macro colorize_status(status) %}
{% if status == "Online" %}
{% set color = "text-success" %}
{% elif status == "Unknown" %}
{% set color = "text-warning" %}
{% else %}
{% set color = "text-danger" %}
{% endif %}
<p class={{ color }}>{{ status }}</p>
{% endmacro %}
{% macro colorize_obfs(obfs) %}
{% if obfs %}
{% set color = "text-success" %}
{% else %}
{% set color = "text-danger" %}
{% endif %}
<p class={{ color }}>{{ obfs }}</p>
{% endmacro %}
{% macro create_country(country) %}
{% set country_class = "flag-" + country|lower|replace(' ', '-') %}
<i class={{ country_class }}></i> {{ country|title }}
{% endmacro %}
{% macro create_fingerprint(fingerprint, server_type) %}
{% if server_type in ('Exit', 'Relay') %}
{% set url_type = 'relay' %}
{% else %}
{% set url_type = 'bridge' %}
{% endif %}
{% if '.onion' in request.url_root %}
{% set url_root = '//%s' % config['ENNSTATUS_GLOBE_ONION_ADDRESS'] %}
{% else %}
{% set url_root = '//globe.enn.lu' %}
{% endif %}
<a href="{{ url_root }}/#/{{ url_type }}/{{ fingerprint }}">{{ fingerprint|upper}}</a>
{% endmacro %}
{% macro create_name(name) %}
<a href="http://{{ name|lower }}.enn.lu">{{ name }}</a>
{% endmacro %}
{% macro create_server_table(server_type, servers) %}
{% if server_type in ('Exit', 'Relay') %}
{% set headers = ('#', 'Name', 'IP', 'IP6', 'Server Status', 'Tor Status', 'Country', 'Fingerprint', 'Last Updated (UTC)') %}
{% else %}
{% set headers = ('#', 'Name', 'Server Status', 'Tor Status', 'Country', 'Fingerprint', 'OBFS', 'FTEProxy', 'Flashproxy', 'meek', 'Last Updated (UTC)') %}
{% endif %}
<h2>{{ server_type }}</h2>
<table class="table table-bordered table-striped">
<thead>
<tr>
{% for name in headers %}
<th>{{ name }}</th>
{% endfor %}
</tr>
</thead>
<tbody>
{% for server in servers|sort(attribute='server_name')|sort(attribute='country') %}
<tr {% if server['server_name'] in config['ENNSTATUS_BRIDGE_PROGRAM'] %}class="info"{% endif %}>
<td>{{ loop.index }}</td>
{% if server_type in ('Exit', 'Relay') %}
<td>{{ create_name(server['server_name']) }}</td>
<td>{{ server['ip'] }}</td>
<td>{{ server.get('ip6', 'N/A') }}</td>
{% else %}
{% if server['server_name'] in config['ENNSTATUS_BRIDGE_PROGRAM'] %}
<td><a href="{{ url_for('root.bridgeprogram') }}">{{ server['server_name'] }}</a></td>
{% else %}
<td>{{ server['server_name'] }}</td>
{% endif %}
{% endif %}
{% for status in (server['server_status'], server['tor_status']) %}
<td>{{ colorize_status(status) }}</td>
{% endfor %}
<td>{{ create_country(server['country']) }}</td>
<td>{{ create_fingerprint(server['fingerprint'], server['server_type']) }}</td>
{% if server_type == 'Bridge' %}
<td>{{ colorize_obfs(server['obfs']) }}</td>
<td>{{ colorize_obfs(server['fteproxy']) }}</td>
<td>{{ colorize_obfs(server['flashproxy']) }}</td>
<td>{{ colorize_obfs(server['meek']) }}</td>
{% endif %}
<td>{{ server['last_updated'] }}</td>
</tr>
{% endfor %}
</tbody>
</table>
{% if server_type == 'Bridge' %}
<div class="alert alert-info alert-dismissible" role="alert">
<button type="button" class="close" data-dismiss="alert"><span aria-hidden="true">×</span><span class="sr-only">Close</span></button>
<p>See our <a class="alert-link" href="{{ url_for('root.bridgeprogram') }}">bridge program</a>, if you want to fund some bridges!</p>
</div>
{% endif %}
{% endmacro %}
|