Commit Graph
41 Commits
Author SHA1 Message Date
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 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 299f833f39 blockcheck2.sh: temp files sweeper fix 2026-10-20 09:56:13 +03:00
maxsupermanhd 44fbf1b18e blockcheck2: request pacing 2026-10-19 01:49:03 +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 0f65389571 blockcheck2: CURL_PAD_KB=>CURL_PAD. split padding into smaller headers 2026-09-18 10:54:36 +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
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 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 a8d24607a5 blockcheck2: --wf-dup-check not needed anymore 2026-08-15 16:54:32 +03:00
bol-van 5e84833269 blockcheck2: optimize 2026-08-15 15:42:52 +03:00
bol-van fbeb124cf8 blockcheck2: use --wf-raw-filter in Windows instead of --ipset to limit target IP addresses 2026-08-15 12:08:09 +03:00
bol-van 80bb86e833 blockcheck2: unify messages 2026-07-23 13:46:31 +03:00
bol-van d7e6e3fb60 blockcheck2: disable tls1.3 and quic tests in batch mode if curl does not support them 2026-07-23 13:45:17 +03:00
bol-van ea047535b9 blockcheck2: revert cygstart method as it brings more problems than profit 2026-07-23 12:50:57 +03:00
bol-van a3202599aa blockcheck2: optimize signal trap/untrap 2026-07-22 21:26:05 +03:00
bol-van b8f142253b blockcheck2: wait for cygwin pid in case of signal 2026-07-22 21:13:48 +03:00
bol-van ccb6e9b534 blockcheck2: wait up to 2 seconds for the winws2 pidfile to appear 2026-07-22 20:21:36 +03:00
bol-van 3d4828d61f blockcheck2: graceful shutdown on QUIT signal 2026-07-22 13:13:34 +03:00
bol-van 0020a8de6a blockcheck2: graceful shutdown on TERM signal 2026-07-22 13:10:27 +03:00
bol-van 6f63dbc3a8 blockcheck2: use kill -f in cygwin to speed up kill 2026-07-22 09:49:43 +03:00
bol-van e6b22f3868 blockcheck2: remove spaces in assignment 2026-07-21 20:09:41 +03:00
bol-van c73af75881 blockcheck2: use instead of in killwait 2026-07-21 20:01:27 +03:00
bol-van 889d120235 blockcheck2: fix non-working 'wait' after cygstart 2026-07-21 19:53:41 +03:00
bol-van b78b52c4cd blockcheck2: use cygstart in windows to avoid fork problems (without cygwin rebase) 2026-07-20 20:42:29 +03:00
bol-van c5325fc267 blockcheck fix 2026-06-25 07:01:41 +03:00
bol-van 1cffa0f5ec blockcheck2: --wf-tcp-empty=1 required for some methods 2026-01-22 14:58:33 +03:00
bol-van db050b9ba1 blockcheck2: fix broken iptables rule 2026-01-19 16:42:17 +03:00
bol-van d84dfaf61d blockcheck2, winws: multiple instances compat 2026-01-17 18:03:06 +03:00
bol-van 14359afb93 AI inspired fixes 2026-01-16 13:52:46 +03:00
bol-van c62f49fa86 blockcheck2: move ttl limiters to def.in 2025-12-20 16:47:47 +03:00
bol-van 2b5eb3cd2d blockcheck2: remove newline print if test function absent 2025-12-07 14:31:56 +03:00
bol-van 2c35e8949a blockcheck2: fix brokern http3 test 2025-12-07 14:01:54 +03:00
bol-van ea6e1e0853 blockcheck2: change qnum to allow parallel run with blockcheck1 for different domains 2025-12-07 09:46:32 +03:00
bol-van ee031db3a1 blockcheck2: fix broken DNS cache 2025-12-04 14:57:00 +03:00
bol-van 97e16b5611 blockcheck2: fix -wf winws parameters 2025-11-30 15:25:53 +03:00
bol-van ef300e5d21 blockcheck 2025-11-30 15:03:52 +03:00