Open data: VPN and proxy availability in Russia by operator
Freedom Checker measures, from physical nodes inside Russia, which VPN protocols and proxies work on each mobile and wired operator. Everything the public table shows is also published as an open data package: live snapshots refreshed every cycle, and an archive of daily cuts since 27 August 2026. The licence is CC BY 4.0.
This is neither a survey of services nor somebody else's data. The nodes sit in three macro-regions (European Russia, Siberia, the Far East) and are connected like an ordinary subscriber: a wired ISP plus mobile operators through eSIM profiles on the node's modem. Filtering in Russia is applied per operator, so a data-centre measurement would show a different picture. How it works is on the methodology page and in the description of the nodes and modems.
What is inside
The unit of data is one measurement: region × operator × service × target → result. For every combination the record says whether the target page (Instagram, YouTube, Telegram, WhatsApp, a site outside the whitelists) opened through that service on that operator. A direct baseline — the same check without a tunnel — separates blocking from problems with the target itself.
| Regions | eu — European Russia, sib — Siberia, ea — the Far East |
|---|---|
| Operators | wired and mobile; every row carries the connection type (wired / mobile) |
| Result | ok — the target opened; otherwise the stage at which it failed. The stage matters more than the failure itself: it separates "the tunnel did not come up" from "the tunnel is up but the target did not answer" |
| Cadence | one combination is re-checked about every four hours (measured median 4.6 h); the aggregation window is stated in every row |
| Not included | node addresses and identifiers, service configurations and keys, personal data — there is none by design |
Live snapshots
Rebuilt at the end of every measurement cycle and at least hourly; this is what the site reads.
| snapshot.json | every region in full: the VPN table by operator, the list of live proxies, the time of each check |
|---|---|
| snapshot-lite.json | the default region only, ~44 KB — what the home page loads |
| tor.json | Tor transports (direct, obfs4, Snowflake, meek) by operator over the last day, plus a daily history |
| /status/ | the same cut as a server-rendered table, no JavaScript — for crawlers and script-free reading |
The dataset on GitHub
Once a day the part of the live snapshot that changes is extracted and committed to the open repository freedomcomedelivery/ateo.digital (dataset page). The format is long — one CSV row = one measurement — which reads equally well in pandas and in grep and does not break when a new operator or target appears.
| data/latest.csv | the latest cut |
|---|---|
| data/daily/ | the daily archive — full list below |
| data/summary-latest.json | summary: share of successful checks per region and operator |
| docs/schema.md | fields and values |
| docs/methodology.md | how the data is obtained and what to treat with care |
| scripts/build.py | the generator: the dataset is reproducible from the public snapshot |
Daily archive
Each file is a CSV for one date (UTC) with the same header in every file. The list is generated when this page is built, from the dataset repository, and grows with every new cut.
47 daily cuts from 27 August 2026 to 12 October 2026, 25 145 measurements in total. The number in each link's tooltip is the measurement count for that day.
October 2026
1 · 2 · 3 · 4 · 5 · 6 · 7 · 8 · 9 · 10 · 11 · 12
September 2026
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
August 2026
27 · 28 · 29 · 30 · 31
Same files in the repository: data/daily/.
How to cite
The data is released under CC BY 4.0: use it, modify it and republish it, commercially too, with attribution. A link to freedomchecker.ateo.digital or to this page is enough; in academic work — "Freedom Checker / Ateo Digital, open dataset of VPN and proxy availability by Russian operator, date of the cut".
Handle with care: rows with different aggregation windows are not directly comparable; a missing row means no measurement, not a failure; a failure on a mobile operator is not always blocking — that is what the direct baseline is for. Facts about the services themselves (jurisdiction, prices) are the services' own claims; only availability is measured.
Questions about the data and suggestions: @Ateo_help_bot.