rkn-block-checker
Diagnose RKN/TSPU internet blocks layer by layer (DNS, TCP, TLS, HTTP)
What is it?
What it is
A lightweight command‑line diagnostic tool that probes a list of sites through DNS, TCP, TLS, and HTTP to determine whether a connection is blocked by Russian censorship (RKN/TSPU) and, if so, which layer of the stack is affected.
Why it exists
Users need to know not just that a site is unreachable but why it is blocked—DNS poisoning, TCP reset, TLS DPI on SNI, or ISP‑served HTTP stubs. By identifying the exact failure point, they can choose appropriate circumvention, report issues, or understand their network environment.
Who should use it
Users in regions subject to RKN/TSPU censorship (e.g., Russia) who want to diagnose network blocking, researchers studying internet censorship, and developers needing programmable output for monitoring.
Who should avoid it
Users not affected by RKN/TSPU mechanisms, those seeking circumvention tools rather than diagnostics, and users uncomfortable with command-line interfaces.
How it works
A quick walkthrough in plain English
How rkn-block-checker works
Step 1 of 3
You interact with it
Open rkn-block-checker, send a request, or connect it to your stack.
Features
Advantages
- Fast, one‑command diagnosis without configuration
- Provides layer‑specific failure information for targeted circumvention
- Automatable via JSON and jq for scripting
- Parallel execution reduces total runtime
- Privacy‑first design limits footprint
- No external telemetry or data leaks
- Extensible with custom target lists
- Clear confidence levels aid interpretation
- Open source allows community review and contribution
Disadvantages
- IPv4 only; IPv6 paths not examined
- Built‑in target lists are small, may miss narrow blocks
- No retry logic or longitudinal monitoring
- No built‑in UI beyond CLI
- Limited to RKN/TSPU‑style censorship patterns
- Requires Python 3.10+, may not run on older systems
- Potential false positives on sites with multiple A‑records before set‑based DNS comparison
- No support for HTTP/2 or newer protocols
- Cannot detect all types of middlebox filtering (e.g., deep packet inspection beyond TLS SNI)
Installation
native
pip install rkn-block-checker
FAQ
What is RKN Block Checker and what does it help me find?
RKN Block Checker is a CLI tool that probes a list of sites to determine whether the network you’re on is in a Roskomnadzor‑blocked zone. It walks DNS → TCP → TLS → HTTP for each target and reports which layer failed, giving you a clear picture of whether DNS poisoning, TCP reset, TLS DPI, or an ISP stub page is blocking access.
How does the tool decide which type of block is occurring?
It performs four sequential probes: system DNS vs Cloudflare DoH (to detect DNS poisoning), a plain TCP handshake on port 443 (to catch TCP resets), a TLS handshake with SNI (to spot TLS DPI), and an HTTP GET (to detect stub pages or 451 responses). The first probe that fails determines the verdict: DNS_BLOCK, TCP_RESET, TLS_BLOCK, or HTTP_STUB.
Can I use it to check just one URL or a custom list of sites?
Yes. Use `rkn-check --url <URL>` to probe a single site or repeat the flag for multiple URLs. For custom lists, provide a text or JSON file with `--white-file` or `--black-file`. The built‑in lists are skipped in ad‑hoc mode.
What information is included in the JSON output and how can I use it?
With `--json` the tool emits an object containing `self_info` (your public IP, ISP, location) and two arrays: `whitelist` and `blacklist`. Each entry includes the full probe trace—DNS results, TCP/TLS timings, HTTP status, verdict, confidence, and notes—so you can programmatically analyze which layer failed and why.
Why does the tool use a generic Chrome User‑Agent by default and what does the `--identify` flag do?
The default UA blends the request with normal web traffic to avoid easy fingerprinting by ISPs or VPN logs. If you want the tool to identify itself (useful when probing your own infrastructure), pass `--identify` to switch to a self‑identifying UA (`rkn-block-checker/<ver>`).
Featured in Videos
YouTube tutorials and walkthroughs for rkn-block-checker
Alternatives
Similar projects ranked by category, topics, and text overlap.