Open Probe Network

Help measure internet censorship

Run a lightweight probe from anywhere in the world. Test connectivity to 62 websites every 15 minutes. Your measurements help build the most comprehensive censorship dataset on earth.

Get Started in 30 Seconds

Python (pip)
pip install voidly-probe
voidly-probe --consent

Python 3.8+ • Zero dependencies • No root required

Docker
docker run -d --name voidly-probe -v voidly-data:/data/.voidly emperormew2/voidly-probe:latest

Auto-registers (auto-consents) • Runs in background • 12MB image

After running: Your Node ID and token are saved to ~/.voidly/node.json. You'll need these to claim your spot on the leaderboard.
Open source on GitHub|MIT License • Zero dependencies
Installation requires a computer with Python or Docker.

How It Works

1
Install
pip install or Docker — takes 10 seconds
2
Register
Auto-detects your country and gets a unique node ID
3
Probe
Tests 62 websites for DNS, HTTP, TLS, and SNI blocking every 15 min
4
Contribute
Results feed into Voidly's censorship intelligence network

Detection Methods

DNS Poisoning
Compares system DNS with Cloudflare DoH to detect injected responses
TCP Reset
Detects connection resets mid-handshake — common in China and Iran
SNI Filtering
Tests TLS handshakes to catch Server Name Indication blocking
HTTP Redirect
Identifies redirects to block pages with entity fingerprinting
TLS Certificate
SHA256 cert fingerprinting catches MITM certificate injection
Block Page ID
Fingerprints 13+ blocking entities (Iran TIC, Roskomnadzor, GFW...)

Voidly Core Nodes

16 always-on nodes testing every 5 minutes — the backbone of the network

Community Leaderboard

Ranked by score (probes × trust weight). What is trust? ⓘ

Loading...

Running a node? Link your identity to appear on the leaderboard.

Claim Your Node →

Privacy

What we collect

  • Domain tested + blocked/accessible status
  • Latency and blocking method detected
  • Your country and city (detected once)
  • SHA256 hash of your IP (for dedup only)

What we don't collect

  • No browsing data or history
  • No passwords or personal information
  • No traffic beyond the 62 test domains
  • Your raw IP address is never stored

All data published under CC BY 4.0 for censorship research. Config stored at ~/.voidly/node.json — delete to unregister.

Frequently Asked Questions

Where's my Node ID and token?
Run: cat ~/.voidly/node.json — your nodeId and nodeToken are both in that file. You'll need them to claim your node on the leaderboard.
How much bandwidth does it use?
About 50KB per cycle (~200 probes/day). Total usage is under 5MB/day — less than loading a single web page.
Can I run it on a VPS or server?
Yes! Docker is recommended for servers: docker run -d emperormew2/voidly-probe. Works on any Linux VPS.
What if I lose my token?
Delete ~/.voidly/node.json and restart the probe — it will re-register with a new Node ID. Or run: voidly-probe --unregister

Developer API

Community probe data is available through the same API

GET
/v1/community/nodes
List all community nodes
GET
/v1/community/leaderboard
Top contributors
GET
/v1/probe/network
Full network status (includes community)