{% extends 'base.html' %} {% block title%}F-Droid Mirror Monitor{% endblock %} {% block h1%}Mirror Monitor{% endblock %} {% block nav_items %} {% endblock %} {% block content %}

Mirror Status

This site reports the status of all known, public, and active F-Droid mirrors. All data on this page reflects the status of the mirrors within the last 7 days The check script runs on a regular basis and polls for the index file.

This status data is also available in JSON format. And the historical data of the last 7 days is saved here

The last mirror check ran at {{ last_check }}. Checks have ran {{ status['num_checks_24h'] }} times in the last 24 hours at an average interval of {{ status['check_rate_24h'] }} (hh:mm).

The score is calculated as: average duration + variance + occurrences of main error + hours delay (decimal). Lower is better.

{% for mirror in status['mirrors'] %} {% if mirror['errors'] == {} %} {% if mirror['common_url'] is defined %} {% else %} {% endif %} {% endif %} {% endfor %}
Successfully Syncing Mirrors
Mirror URL Protocol Country Delay (hh:mm) Duration (s) Duration variance (s) Score
{{ mirror['common_url'] }}{{ mirror['url'] }}{{ mirror['protocol'] }} {% if mirror['countries'] is defined %} {% if mirror['countries'] | length > 1 %} Unknown {% else %} {{ mirror['countries'][0] }} {% endif %} {% else %} Unknown {% endif %} {% if mirror['delay'] is defined %} {{ mirror['delay'] }} {% endif %} {% if mirror['duration_median'] is defined %} {{ '%.02f' % mirror['duration_median'] }} {% endif %} {% if mirror['duration_variance'] is defined %} {{ '%.02f' % mirror['duration_variance'] }} {% endif %} {% if mirror['score'] is defined %} {{ mirror['score'] }} {% endif %} details
{% for mirror in status['mirrors'] %} {% if mirror['main_err_msg'] is defined %} {% if mirror['common_url'] is defined %} {% else %} {% endif %} {% endif %} {% endfor %}
Mirror Syncing Error Log
Mirror URL Protocol Country Error message Last occurred (UTC) Occurrences (last 24h)
{{ mirror['common_url'] }}{{ mirror['url'] }}{{ mirror['protocol'] }} {% if mirror['countries'] is defined %} {% if mirror['countries'] | length > 1 %} Unknown {% else %} {{ mirror['countries'][0] }} {% endif %} {% else %} Unknown {% endif %} {{ mirror['main_err_msg'] }} {{ mirror['main_err_latest'] }} {{ mirror['main_err_count'] }} details
Out of Sync Mirrors
Mirror URL Protocol Country Duration (s) Duration variance (s) Errors
{% endblock %}