github anton48/vk-turn-proxy-ios v1.0-build21
build 21

latest releases: v1.0-build380, v1.0-build364, v1.0-build354...
4 months ago

Adaptive captcha heuristics — informed by analysis of 31 real sessions across VK's different captcha modes.

Optimization #1: Skip-checkbox-if-HTML-slider (captcha_pow.go)

When the captcha page's window.init.data.show_captcha_type is "slider", VK is in slider-only mode and captchaNotRobot.check will return status=ERROR anyway. Burn the checkbox path proactively and skip the check — saves ~3 seconds (2.5s artificial delay + HTTP round-trip) on every solveCaptchaPoW call in that mode.

Dormant when VK is in checkbox mode (HTML="checkbox") — which is the current mode. Applies automatically if/when VK switches back.

Optimization #2: Adaptive retry on consecutive empty show_captcha_type (creds.go)

The maxPoWRetries=3 loop now tracks how many PoW attempts in a row came back with show_captcha_type="" from the checkbox check. After two such attempts it short-circuits to the WebView fallback instead of burning a third captcha cycle. Saves ~3-5 seconds and one API round-trip on LTE sessions where VK has no slider ready for the client's IP reputation.

Across 31 reviewed sessions there are 0 counterexamples — the transition from empty hint to "slider" hint always happens by attempt 2 when it happens at all.

Other

  • solveCaptchaPoW and callCaptchaNotRobotAPI signature change: both now return (token, lastShowCaptchaType, err). The hint is threaded up to creds.go for the retry decision.
  • Verified on build 21: WiFi and LTE, both at 1 PoW attempt → slider → success.

Don't miss a new vk-turn-proxy-ios release

NewReleases is sending notifications on new releases.