From 41593ad56f30f56b41fd04bb3904b25ae47ae722 Mon Sep 17 00:00:00 2001 From: samosvalishe Date: Wed, 29 Apr 2026 10:12:46 +0300 Subject: [PATCH] feat(captcha): port hardening from main (PoW, fingerprints, manual proxy) Brings the captcha-solver improvements from main into feat/doh while keeping the flat client/ layout (no internal/* refactor pulled in). - Persistent SavedProfile (UA + Sec-CH-UA + device JSON + browser_fp) captured during manual solve and replayed by auto/slider so VK sees a consistent fingerprint across runs. Stored under $VK_PROFILE_PATH | UserCacheDir | TempDir | CWD. - callCaptchaNotRobot: per-session adFp, sha256 debug_info, jittered connectionRtt/connectionDownlink, cursor "[]" on first check, headers switched to Origin api.vk.ru / Referer not_robot_captcha. - Slider session: per-session adFp + debugInfo, savedProfile injection, ApplyBrowserProfileFhttp + same captcha headers on every request, getContent fallback with/without captcha_settings, second componentDone before getContent (matches real widget lifecycle). - Manual proxy: strip WebView identity headers (X-Requested-With and friends), server-side rewrite of src/href/action attributes (skipping `, localOrigin, upstreamOrigin) + // Inject as early as possible — at the opening tag — so XHR/fetch + // overrides are active before any inline