Skip to main content

blockchecks

Asynchronous DPI (Deep Packet Inspection) strategy testing framework for nfqws2 / zapret2.

It runs thousands of desync strategies against target domains inside isolated network namespaces, using a browser-grade TLS fingerprint (JA4 via curl_cffi), and reports which combinations actually work on a given network. Results are stored in SQLite and can be exported to ready-to-use nfqws2 configuration files for Keenetic / OpenWrt / Linux routers.

Features

  • Fast: ~1 test/sec (33× faster than the reference blockcheck.sh) via asyncio + a reused netns pool.
  • Accurate: browser-grade JA4 TLS fingerprint (Chrome BoringSSL), content validation, DPI fake-detection.
  • TCP + UDP: TCP strategy families, HTTP :80, QUIC/HTTP3, and Discord Voice UDP endpoint discovery (STUN + IP Discovery).
  • Resilient: checkpoint/resume, SQLite state, adaptive priority queue.
  • Tooling: static strategy validator (offline, 9+ rules), custom Lua registry, MCP server for LLM agents.
  • Portable: installs on x86_64, arm64 and armv7l (Raspberry Pi 2+) without compiling native dependencies.

Requirements

  • Linux with root (needed for network namespaces + iptables)
  • Python 3.10+
  • nfqws2 / zapret2 (auto-fetched on first run)

Quick start

pip install blockchecks

# Smoke test — 20 strategies, adaptive queue + preflight ON by default
sudo bs scan -d discord.com --profile smoke --generate

# Full scan — ~30 strategies against discord.com
sudo bs scan -d discord.com --generate --parallel 4

# Resume after interruption (checkpoint/resume)
sudo bs scan -d discord.com --generate --resume

# Long-term mass campaign (20h series bundle)
sudo bs full --profile 20h

Run profiles (--profile smoke|fast|20h) bundle common flag sets for scan, pair, and full. Protective features are ON by default — disable with --no-adaptive, --no-preflight (or use --quick for prolog-only), --no-ech, --no-wssize.

Export a router config

# default: ~/.local/share/blockcheckS/export/nfqws2_<ts>.conf (+ raw, user.list)
bc-nfconf --db logs/run.db --out-dir /path/to/out

# optional: add an IP filter from the DNS cache (no DNS needed on the router)
bc-nfconf --db logs/run.db --out-dir /path/to/out --ipset

Documentation

License

MIT — see LICENSE.

Disclaimer

This software is an open-source analytical tool for educational, academic and network-research purposes, intended for network administrators and systems engineers to study DPI behaviors. Use entirely at your own risk.

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

blockchecks-1.4.1.tar.gz (471.4 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

blockchecks-1.4.1-py3-none-any.whl (506.3 kB view details)

Uploaded Python 3

File details

Details for the file blockchecks-1.4.1.tar.gz.

File metadata

  • Download URL: blockchecks-1.4.1.tar.gz
  • Upload date:
  • Size: 471.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/7.0.0 CPython/3.12.3

File hashes

Hashes for blockchecks-1.4.1.tar.gz
Algorithm Hash digest
SHA256 8cca923ceadb52b6cfb261407ebdee8993110043fd2f53fa09cac393481a6fdd
MD5 dbe7a34f0e404295c4ac362b8e1dda99
BLAKE2b-256 59b164a0dd59d624a3d14f4453d55538ed5c3b9557a0ce4933e8a4e51076d81e

See more details on using hashes here.

File details

Details for the file blockchecks-1.4.1-py3-none-any.whl.

File metadata

  • Download URL: blockchecks-1.4.1-py3-none-any.whl
  • Upload date:
  • Size: 506.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/7.0.0 CPython/3.12.3

File hashes

Hashes for blockchecks-1.4.1-py3-none-any.whl
Algorithm Hash digest
SHA256 b2e5eff00fe1e9368f8d70dfd9d739b767120b09c7504f1ea9dbe7a9ab0ac3dd
MD5 d056fae62b29a35b70e8561bcc824e96
BLAKE2b-256 2674db4e65f1d9962ed98db87daa5cdc50ba1391d5d1ac44849b0c16c7aa5317

See more details on using hashes here.

Release history Release notifications | RSS feed

This release

1.4.1 This release

2 files

1.4.0

2 files

1.3.7

2 files

1.3.6

2 files

1.3.5

2 files

1.3.4

2 files

1.3.3

2 files

1.3.2

2 files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page