rkn-block-checker 0.6.0 Adds Local Web UI and Reduces False Positives on Anti-Bot Responses
The open-source utility rkn-block-checker has been updated to version 0.6.0, bringing both improved detection accuracy and a new local web interface.
Earlier releases contained a simple list of Russian-language markers used by ISP block pages, including phrases such as “доступ ограничен” and “решению роскомнадзора”. When a target returned HTTP 429 with the text “Доступ с вашего IP временно ограничен”, the tool treated the response as a Roskomnadzor stub and reported a high-confidence block. The issue surfaced most clearly on Avito, whose anti-bot system issues 429 responses to requests lacking proper cookies even when the User-Agent mimics Chrome.
Distinguishing censorship from rate limiting
The fix adds an explicit status-code check inside core.py. If the body matches a known stub marker but the status is 429, the verdict is set to DOWN with LOW confidence and a note explaining the likely anti-bot cause. Only responses that match both the textual marker and an expected block status (200 or 451) receive the HTTP_STUB verdict with HIGH confidence.
Lightweight local Web UI
Although the project began as a pure CLI tool, users requested an easier way to examine individual checks. The new interface is served by Python’s built-in ThreadingHTTPServer and a single static HTML file containing vanilla JavaScript and CSS. No external dependencies are required. Users start the server with the command rkn-check startweb or rkn-check startweb --port 8080; the service listens on 127.0.0.1:7777 by default.
Scan results are delivered as a newline-delimited JSON stream. The browser reads the ReadableStream chunk by chunk, parses each line, and immediately updates the corresponding table row. This approach avoids both WebSocket complexity and repeated polling while still providing live feedback.
Release highlights
- Full local Web UI with charts, Russian/English localization, and on-the-fly addition of custom domains
- Improved filtering of anti-bot false positives (HTTP 429)
- One-click JSON report export directly from the browser
- Zero additional dependencies beyond a standard Python installation
The complete source code remains available under the MIT license on GitHub, and the package can be installed or upgraded via pip install rkn-block-checker.
Related articles
Personal Data in Russian Franchise Networks: Who Qualifies as Data Operator Under 152-FZ
In typical franchise models, customer personal data is collected at franchisee points, stored in the franchisor’s central system, and used for network-wide loyalty programs and marketing. The key legal question is which party determines the purposes of processing and therefore bears operator status under Federal Law No. 152-FZ. The law defines an operator as the entity that independently or jointly sets processing purposes, data composition, and actions, regardless of contractual labels. Franchisees usually act as operators when concluding contracts with customers, while franchisors become processors unless they pursue independent goals such as running loyalty schemes or sending branded advertising. When a franchisor defines its own purposes, both parties may simultaneously qualify as operators for different processing objectives, requiring separate legal bases and documentation. Proper data-processing instructions must be embedded in the commercial concession agreement and must list specific data categories, actions, security measures, and breach-notification timelines to avoid administrative fines ranging from 150,000 to 500,000 RUB.
Dynamic Sites on Yandex Cloud Storage Enable Communication Under White-List Restrictions
A developer facing mobile internet white lists explored ways to exchange encrypted messages without relying on blocked infrastructure. Initial attempts with a national messenger bot failed due to poor API documentation and account hijacking. The team then modeled the problem as three neighboring plots where Alice and Bob route messages through Eve while a slow postman handles delivery. Yandex Disk was tested as a message store accessible via direct GET and POST requests, though it required accounts and suffered from 15-25 second latency. The final approach used Yandex Cloud object storage, whose domains remained whitelisted, allowing HTML files to load and function even when only government services and select platforms were reachable.
Rawline Aggregates VK, MAX, DNS and Other Tunnels into One Multi-Platform VPN Client
Rawline is a new multi-platform client that combines various VPN protocols and non-standard transports into a single application for Android, Windows, Linux and macOS. The project is built on Throne using sing-box and Xray network cores and supports both conventional protocols and unusual transports such as VK and MAX calls, WebRTC, DNS and S3. Users can import profiles via links or QR codes, test latency, chain connections and apply per-app or per-domain routing rules. The developer paid special attention to security issues, removing unnecessary local proxy endpoints, protecting internal connections with random passwords and adding traffic ownership verification that is enabled by default on Android 10 and newer. Additional fixes were implemented after discovering that some transport bridges could be hijacked by external applications sending the first UDP packet. Source code and builds are available on GitHub.
Russia Freezes Entire Hosting Networks to Block VPN Traffic, Investigation Finds
An independent test of 435 endpoints across 154 hosting providers revealed that Russian internet providers are throttling connections to entire autonomous systems rather than individual IP addresses. Networks belonging to Hetzner, OVH, DigitalOcean, M247 and HostPapa are frozen after roughly 25 TCP packets, causing downloads to stall at around 16 KB while UDP-based WireGuard tunnels remain unaffected. The blocking is applied uniformly by multiple Russian operators including Beeline, MTS and home broadband providers, indicating a centrally distributed rule from Roskomnadzor via the TSPU filtering system. Smaller providers that rent IP space from the affected autonomous systems are also impacted, regardless of their own brand or location. Cloudflare-hosted resources currently pass the test, but the list of blocked networks has remained stable since mid-2025. The researcher published an open-source script that allows anyone to reproduce the measurements in under a minute.