Commit Graph
1353 Commits
Author SHA1 Message Date
bol-van c460884213 zapret-obfs: support cgnat in udp2icmp 2026-10-27 18:50:51 +03:00
bol-van 3570f193d5 update docs 2026-10-27 18:48:28 +03:00
bol-van 8be19e079d update docs 2026-10-27 11:23:37 +03:00
bol-van 4a33055448 nfqws2: fix UAF 2026-10-22 11:06:42 +03:00
bol-van 221d7dff24 update docs v1.0.6 2026-10-21 11:49:48 +03:00
bol-van f94b562482 blockcheck2: more sweeps 2026-10-21 11:49:22 +03:00
bol-van 6ec7ee67ce Merge pull request #315 from sasha-spb-ru/add-veryquick-scan-level
[blockcheck2] Add a separate very quick scan level
2026-10-21 09:08:59 +03:00
bol-van 98757082b8 blockcheck2: use guard timer in all OS 2026-10-20 18:40:30 +03:00
bol-van 5786448c93 update docs 2026-10-20 17:33:26 +03:00
bol-van a0028b9895 blockcheck2: optimize PACE 2026-10-20 17:10:25 +03:00
bol-van 486626d28f Merge pull request #329 from maxsupermanhd/blockcheck-pace
blockcheck2: request pacing
2026-10-20 17:05:53 +03:00
bol-van f8d08b8436 AI fixes 2026-10-20 15:28:52 +03:00
bol-van a4515beb32 update docs 2026-10-20 09:57:59 +03:00
bol-van 299f833f39 blockcheck2.sh: temp files sweeper fix 2026-10-20 09:56:13 +03:00
bol-van a0c928be45 Merge pull request #314 from sasha-spb-ru/clean-up-leftover-tmpfiles
[blockcheck2] Sweep leftover temp files from a killed/crashed run
2026-10-20 09:40:10 +03:00
bol-van f256fea2d8 fix inconsistances in docs and comments 2026-10-20 09:16:53 +03:00
bol-van 3a6f75cd3c update docs 2026-10-20 08:32:10 +03:00
maxsupermanhd 44fbf1b18e blockcheck2: request pacing 2026-10-19 01:49:03 +03:00
bol-van a1adf7b868 nfqws2: support rare partial root environment 2026-10-04 10:18:18 +03:00
bol-van ca950d838a zapret-lib: comments spelling 2026-09-29 08:18:27 +03:00
bol-van 873642573e update docs 2026-09-28 22:35:22 +03:00
Alexander Golovanov e41e4f18c7 [blockcheck2] Add a separate very quick scan level
quick is meant to be the fast option, but it only changes how repeated
attempts are handled - it still works through every variation of a
strategy regardless. For strategies built around a fake TLS handshake,
that means testing dozens of small tweaks (different TTLs, different
TCP tricks, extra padding, split positions) well past the point where
an early exit would have been possible.

The new veryquick level stops as soon as a strategy succeeds, instead
of continuing through the rest just to be thorough. It's a separate
option rather than a change to quick, so quick, standard, and force
behave exactly as they did.
2026-09-18 16:30:33 +03:00
Alexander Golovanov 03ce20156a [blockcheck2] Sweep leftover temp files from a killed/crashed run
The pad file, PARALLEL_OUT, and HDRTEMP are all already removed on
a normal exit - Ctrl+C, closing the terminal, a plain kill all clean
up after themselves. kill -9 and crashes skip that entirely, same as
for any script, and a later run has no way to know about a different
PID's leftovers - so all three can pile up in /tmp indefinitely.

Before each is used, the script now checks for existing files matching
its pattern and removes any whose PID is confirmed no longer running.
A file still owned by a live process - a second instance running
at the same time - is left alone.
2026-09-18 14:08:10 +03:00
bol-van 00f5aaa36d update docs 2026-09-18 11:30:00 +03:00
bol-van 1e329918dc update docs 2026-09-18 11:26:08 +03:00
bol-van 8a398236ac update docs 2026-09-18 11:25:13 +03:00
bol-van 074c981a37 update docs 2026-09-18 11:24:24 +03:00
bol-van 03c139f34a update docs 2026-09-18 11:21:19 +03:00
bol-van cdcb8d4711 update docs 2026-09-18 11:20:16 +03:00
bol-van 970adb5d55 update docs 2026-09-18 11:18:44 +03:00
bol-van 6535202a9a update docs 2026-09-18 11:15:43 +03:00
bol-van 9bff218b9a update docs 2026-09-18 11:14:28 +03:00
bol-van 3e3b902902 update docs 2026-09-18 11:12:24 +03:00
bol-van 0f65389571 blockcheck2: CURL_PAD_KB=>CURL_PAD. split padding into smaller headers 2026-09-18 10:54:36 +03:00
bol-van ec25da2277 blockcheck2: warn about eval failing strategies in custom list 2026-09-18 10:04:10 +03:00
bol-van 0d2227caf6 Merge pull request #313 from sasha-spb-ru/add-request-padding
[blockcheck2] Add a way to test the size-based block without a real download
2026-09-18 09:55:41 +03:00
bol-van eb42084b30 Merge pull request #311 from sasha-spb-ru/show-strategy-coverage
[blockcheck2] Add a coverage summary next to the results
2026-09-18 09:54:42 +03:00
bol-van 3b6f0cc345 Merge pull request #310 from sasha-spb-ru/fix-strategy-escaping
[blockcheck2] Stop requiring manual escaping in strategy lists
2026-09-18 09:51:38 +03:00
bol-van 28b6fb853e Merge pull request #297 from zaveshaa/fix-doubled-word
docs: fix doubled word in manual.en.md
2026-09-17 22:03:01 +03:00
bol-van bf3b30af9c Merge pull request #290 from 0-x-0-0/fix-static-analyzer-warnings
Fix -Wcast-qual and -Wlogical-op-parentheses warnings
2026-09-17 22:01:57 +03:00
Alexander Golovanov 34a95e8a41 [blockcheck2] Add a way to test the size-based block without a real download
The "16 KB" block triggers based on how much data passes through the
connection, not on what that data actually is. Testing for it usually
means pointing at a page you know is big enough to download - but that
only works if your target actually has one.

Adds CURL_PAD_KB: set it to a number and every request gets padded
with that many KB of junk data, so the block can be triggered against
any target, even a bare server with nothing to download. Off by
default, and doesn't change anything unless you turn it on.

The padding is written to a temp file and attached from there, not
built inline: a large inline value can hit low, easy-to-reach limits
on some platforms (Cygwin among them).
2026-09-17 12:57:31 +03:00
Alexander Golovanov bf64220ab8 [blockcheck2] Stop requiring manual escaping in strategy lists
Custom strategy lists are plain text, and each line gets run through
the shell - so a strategy containing certain characters (<, parentheses,
quotes) would fail unless you added quotes around it by hand. Some real,
valid strategies use exactly these characters.

Now, when a line fails for that reason, it's automatically retried in
a simpler way that doesn't care about those characters at all. You can
paste a strategy in exactly as blockcheck2 prints it and it'll just
work. Manual escaping still works too, and is tried first if you're
already doing it.
2026-09-17 11:31:30 +03:00
Alexander Golovanov adf7791367 [blockcheck2] Add a coverage summary next to the results
When testing several targets at once, the results only ever show
strategies that worked for every single one. If your targets are
a bunch of unrelated servers, that list can easily come up empty
even when several strategies each work for most of them.

Adds a second summary that lists every strategy that worked at all,
with how many targets it worked for, best first - so you can see
which one comes closest instead of getting an all-or-nothing answer.
2026-09-17 11:24:21 +03:00
bol-van 1ea7d10f6f update docs 2026-09-16 16:41:14 +03:00
bol-van 859c24d32b update docs 2026-09-16 16:22:20 +03:00
bol-van 5df635efdb nfqws2: HttpReplyLooksLikeDPIRedirect accept # and ? chars as domain end 2026-09-16 16:20:51 +03:00
bol-van 7119ffce54 zapret-lib: dissect_url accept # and ? chars as domain end 2026-09-16 16:14:48 +03:00
bol-van 2efdb70b1c nfqws2: make autolists nonempty even if loading failed 2026-09-15 21:51:18 +03:00
bol-van 692139aeea zapret-lib: dissect quic tvb values that can't fit into 52-bit mantissa into raw strings 2026-09-15 18:58:21 +03:00
bol-van 6b6c63e338 update docs v1.0.5.2 2026-09-15 15:21:18 +03:00