Skip to content

Tor relay watcher

This page is the relay-side companion to our connection-layer work on networked freedom. It looks at how many Tor relays are operating in each watched region, which autonomous systems they sit on, how much bandwidth they contribute, and how the relay version and capability mix is changing. The number and dispersion of relays in a region is a direct indicator of that region's contribution to the global Tor network.

The default view is Taiwan — the jurisdiction we have first-hand standing in. Use the selector below to switch to Japan, South Korea, or Hong Kong, which we monitor as nearby regional reference points. Charts and tables update together.

Region:

The data is collected hourly from the Tor network and aggregated by day. The page covers three angles: relay health, network diversity, and version / flag distribution.

Health

Whether relays in the region are running, and how much bandwidth they contribute in aggregate.

  • Running and stopped relay counts1 { "description": "Tor Relays Running (count), Taiwan", "data": {"url" : "https://anoni.net/api/vega/tor/relays/running?country=tw"}, "mark": { "type": "bar", "tooltip": true }, "encoding": { "x": { "field": "created_at", "type": "temporal", "timeUnit": "yearmonthdate", "axis": {"format": "%m/%d"}, "title": "Date" }, "y": {"field": "count", "type": "quantitative", "title": "Count"}, "color": { "field": "running", "title": "State", "scale": { "domain": [false, true], "range": ["#ff6384", "#36a2eb"] }, "legend": { "labelExpr": "datum.label == 'true' ? 'Running' : 'Stopped'" } } } }

  • Daily total bandwidth contributed2 { "description": "Tor Relays Running (observed_bandwidth), Taiwan", "data": {"url" : "https://anoni.net/api/vega/tor/relays/running?country=tw"}, "transform": [ {"filter": "datum.running == true"}, {"calculate": "datum.observed_bandwidth/1000000", "as": "observed_bandwidth"} ], "mark": { "type": "area", "tooltip": true, "interpolate": "monotone", "point": true, "line": true }, "encoding": { "x": { "field": "created_at", "type": "temporal", "timeUnit": "yearmonthdate", "axis": {"format": "%m/%d"}, "title": "Date" }, "y": {"field": "observed_bandwidth", "type": "quantitative", "title": "Bandwidth (MB/s)"} } }

Diversity

How dispersed relays are across autonomous systems, and how relay node-types are distributed. A more dispersed picture means a more decentralization-resilient regional contribution.

  • Daily count of unique ASNs4 { "description": "Tor Relays ASN unique count, Taiwan", "data": {"url" : "https://anoni.net/api/vega/tor/relays/asn?country=tw"}, "transform": [ { "aggregate": [{"op": "count", "as": "asn_unique_count"}], "groupby": ["created_at"] } ], "mark": { "type": "line", "tooltip": true, "point": true, "interpolate": "monotone" }, "encoding": { "x": { "field": "created_at", "type": "temporal", "timeUnit": "yearmonthdate", "axis": {"format": "%m/%d"}, "title": "Date" }, "y": {"field": "asn_unique_count", "type": "quantitative", "title": "Unique ASNs"} } }

  • Node-type distribution5 { "description": "Tor Relays Node Type (count), Taiwan", "data": {"url" : "https://anoni.net/api/vega/tor/relays/node_type?country=tw"}, "mark": { "type": "bar", "tooltip": true }, "encoding": { "x": { "field": "created_at", "type": "temporal", "timeUnit": "yearmonthdate", "axis": {"format": "%m/%d"}, "title": "Date" }, "y": {"field": "count", "type": "quantitative", "title": "Count"}, "color": { "field": "node", "title": "Node type" } } }

Data date: —

ASN Name Relay count
Loading...

Version and flags

How fast relays are adopting Tor software updates, and what role flags they carry.

  • Tor version adoption3 { "description": "Tor Relays Version (count), Taiwan", "data": {"url" : "https://anoni.net/api/vega/tor/relays/version?country=tw"}, "mark": { "type": "line", "tooltip": true, "point": true, "interpolate": "monotone" }, "encoding": { "x": { "field": "created_at", "type": "temporal", "timeUnit": "yearmonthdate", "axis": {"format": "%m/%d"}, "title": "Date" }, "y": {"field": "count", "type": "quantitative", "title": "Count"}, "color": { "field": "version", "title": "Version" } } }

  • Relay flag distribution6 { "description": "Tor Relays Flags (count), Taiwan", "data": {"url" : "https://anoni.net/api/vega/tor/relays/flags?country=tw"}, "mark": { "type": "line", "tooltip": true, "point": false, "interpolate": "monotone" }, "encoding": { "x": { "field": "created_at", "type": "temporal", "timeUnit": "yearmonthdate", "axis": {"format": "%m/%d"}, "title": "Date" }, "y": {"field": "count", "type": "quantitative", "title": "Count"}, "color": { "field": "flag", "title": "Flag" } } }

Cross-region snapshot

Latest-day running and stopped counts across all four watched regions, side by side.

Data date: —

Region Running Stopped
Loading...

Want to take action?

  • Run a relay: the Tor Project relay guide is the canonical English starting point. Our community's campus-relay deployment writeup is currently in zh-TW only (如何搭建 Tor Relay); an English version is planned.
  • Underlying data: the charts on this page are served by the Pulse backend API. The schema is still being adjusted, so endpoints may change.

  1. Running and stopped counts: counts of distinct relays in the region per day, separated by reported running state. Hourly samples are de-duplicated within a day. 

  2. Daily total bandwidth: sum of observed_bandwidth across running relays in the region per day, in MB/s. Hourly samples de-duplicated within a day. 

  3. Tor version: counts of distinct Tor versions reported by relays in the region per day. Hourly samples de-duplicated. 

  4. Daily unique ASN count: number of distinct autonomous systems hosting Tor relays in the region per day. Higher numbers indicate more dispersion across providers, which generally reflects healthier decentralization. 

  5. Node-type distribution: counts by relay role (guard, middle, exit, etc.) per day. Hourly samples de-duplicated. 

  6. Flag distribution: counts of relay capability flags per day. Flags are not mutually exclusive — one relay may carry several.