π This repository contains checkers that allow you to determine if your βhomeβ ISP has DPI, as well as the specific methods (and their parameters) the censor uses for limitations.
RU :: TCP 16-20 => https://hyperion-cs.github.io/dpi-checkers/ru/tcp-16-20
Allows to detect TCP 16-20 blocking method in Russia. The tests use publicly available APIs of popular services hosted by providers whose subnets are potentially subject to limitations. The testing process runs right in your browser and the source code is available. VPN should be disabled during the check.
This checker has optional GET parameters:
name | type | default | description |
---|---|---|---|
timeout | int | 5000 |
Timeout for connecting/fetching data from endpoint (in ms). |
url | string | β | A custom endpoint to check in addition to the default ones (e.g. your steal-oneself server). The testing endpoint should allow cross-origin requests and provide at least 64KB of data (over the network, including compression, etc.). When not specified, the times and provider options are ignored. |
times | int | 1 |
How many times to access the endpoint in a single HTTP connection (keep-alived). |
provider | string | Custom | Provider name (you can set any name). |
See here for details on this blocking method.
RU :: TCP 16-20 DWC (domain whitelist checker)
Allows to find out whitelisted items on DPIs where TCP 16-20 blocking method is applied. This kind of information can be interesting in its own right as well as useful for bypassing limitations.
A list of domains is required as input. Also requires Python 3, the curl utility, and a specially configured server on "limited" networks. See here for details (ready-to-use results are also available for download there).
We would be happy if you could help us improve our checkers through PR or by creating issues. Also you can star the repository so you don't lose the checkers. The repository is available here.