The dpi-checkers repository is a collection of tools written primarily in Go designed to detect and analyze Deep Packet Inspection (DPI) censorship mechanisms used by Internet Service Providers and data center operators. The project provides both standalone applications and web-based checkers that allow users to identify whether their network connection is subject to DPI filtering and to characterize the specific censorship methods and parameters being employed.
The repository's primary offering is DPI-CH, a comprehensive DPI analysis tool written in Go that operates outside browser sandboxes, providing significantly more flexibility than web-based alternatives. DPI-CH is available as precompiled binaries for Windows, macOS, and Linux, with Android support planned. The tool features extremely flexible configuration options and includes detailed documentation for users seeking to understand their network's censorship landscape. According to GitGenius activity tracking, the repository maintains a median issue and pull request response latency of 2.8 hours with a mean of 16.8 hours, indicating active and responsive maintenance.
Beyond the comprehensive DPI-CH tool, the repository includes several specialized web-based checkers focused on Russian network environments. The TCP 16-20 checker detects a specific blocking method used in Russia and performs host alive checks using popular web services hosted on provider subnets. This checker runs directly in browsers and accepts optional parameters for customization, including timeout settings, custom hosts, and provider names. The IPv4 Whitelisted Subnets checker identifies IPv4 subnets from censorship whitelists by testing CIDR blocks and subnet ranges. It provides three operational modes: caching suitable subnets to local browser storage, checking whether subnets are whitelisted, and exporting results to CSV files. This checker includes configurable parameters for timeout values, sample sizes, and prefix filtering to optimize performance across potentially lengthy test runs.
The TCP 16-20 Domain Whitelist Checker (DWC) operates as a specialized tool for discovering whitelisted domains on DPI systems employing TCP 16-20 blocking methods. This tool requires Python 3, the curl utility, and a specially configured server on restricted networks to function.
The project's contributor ecosystem shows concentrated activity from hyperion-cs with 218 tracked events, followed by TestPolygon with 18 events and Runnin4ik with 15 events. The most frequently discussed topic across 62 tracked issues and pull requests relates to TCP 16-20 blocking methods, with eight dedicated issues. The repository maintains connections to several other significant open-source projects including home-assistant/core, apernet/hysteria, and dbeaver/dbeaver through overlapping contributor networks.
The repository emphasizes that all content is provided strictly for research and educational purposes, with users bearing sole responsibility for ensuring their usage complies with applicable laws and regulations in their jurisdictions. The project maintains an active community presence through a Telegram group and encourages contributions via pull requests and issue reporting, with English designated as the language for international communication.