Всички публикации

FourA Digest, 24 юли до 7 август 2026 г.

Избирайте своя браузър профил за всеки request. Single вече преминава SG-Captcha и proof-of-work на eBay без Browser. Изгледът Activity е напълно преработен в Dashboard.

Акценти

Изборът на профил на браузъра вече може да се задава за всеки request. Посочете желания браузър и операционна система, а fingerprint-ът и headers ще бъдат съобразени с тях. Тази седмица Single се научи да преодолява още две защити (SG-Captcha на SiteGround и Argon2 предизвикателството на eBay), без да стартира Browser. А изгледът Activity в Dashboard вече записва това, което сте заявили, а не вътрешните процеси, които са се изпълнили.

Какво ново

Избор на профил на браузъра за всеки request

Досега unblocker: true избираше един подпис (каквато беше текущата ни стойност по подразбиране) и това беше всичко. Сега можете да посочите конкретен:

{ "url": "https://example.com", "unblocker": true, "profile": "firefox147" }

или поискайте двойка браузър и OS:

{ "url": "https://example.com", "unblocker": true, "browser": "Chrome", "os": "Windows 10" }

API отхвърля неизвестни комбинации по име и изброява какво Е налично, така че една печатна грешка не може тихо да изпрати сигнатура, която никога не сте поискали.

Пълният каталог се намира на GET /api/profiles. Той е публичен (не е нужен ключ), защото е списък с възможности, а не тайна. Към момента на писане има 79 предварителни настройки за Chrome, Firefox, Edge, Safari и Tor, на Windows, macOS, Android и iOS. Playground чете от същия списък, така че падащото меню винаги показва точно това, което вашият код може да поиска.

Защо това има значение: ако целта ви профилира заявките по OS или екипът ви прави A/B тестване кой стек преминава през определена стена, сега държите тази променлива стабилна, докато всичко останало се променя.

Single преминава SG-Captcha и eBay proof-of-work

Две защити, които преди принуждаваха пренасочване през Browser, сега се преминават в Single. eBay доставя собствено proof-of-work предизвикателство (пъзел Argon2), а SiteGround пази част от уеб пространството за споделен хостинг със SG-Captcha. И двете се решават без рендиране, което означава, че отговорът се връща под формата на единична HTTP заявка и се таксува съответно.

Сигналът за защита в отговорите също нарасна. Отговорите от Browser вече носят defenses: { present, cleared }, така че можете да видите кой доставчик е стоял пред страницата и дали сме преминали. Таксуването следва същото правило: всеки доставчик, който преминем, се отчита, независимо от марката му. Cloudflare беше единственото платено решение преди този прозорец. Akamai Bot Manager, SG-Captcha и предизвикателството на eBay сега стоят до него.

Изгледът Activity е преизграден в Dashboard

Две колони в списъка Activity в Dashboard показваха грешно нещо. HTTP методът винаги показваше POST на всеки ред (всички наши endpoint адреси са POST, така че колоната беше константа, която не ви казваше нищо). И клиентският IP адрес при Playground заявки записваше откъде е извикал Playground, а не човека, който е кликнал Run.

И двете са поправени. Колоната за метод сега показва глагола, който сте изпратили в тялото на заявката. Клиентският IP адрес в редовете на Playground сега показва IP адреса на браузъра на вписания потребител, пренасян вътре в подписан Playground token, така че API клиент да не може да го фалшифицира.

Останалата част от изгледа беше преизградена, докато бяхме там. Таблицата се побира на лаптоп, без да скрива колони, продуктовата колона се сгъва в реда на заявката, а панелът с детайли получи раздели, така че заявката, отговорът и обобщението на защитата получават свой собствен скрол.

Таксуване: 3D Secure при смяна на план

Ако издателят на вашата карта е изисквал 3DS потвърждение за промяна на плана (не само при първоначалния абонамент), тази стъпка не се изпълняваше и промяната тихо се отменяше. Вече се изпълнява. Ако сте се опитали да смените плановете през последния месец и е изглеждало, че нищо не се е случило, ето защо.

Под капака

Playground отказва да изгради response header от данните на извлечения сайт (клас бъгове за header-injection, който хванахме рано). Endpoint за таксуване в Dashboard проверява дали извикващият притежава ресурса преди да отговори, затваряйки IDOR път.

Самият пайплайн за внедряване получи поправки за около седмица, след като прекъсване на 6-ти запълни диска на хоста по средата на компилацията. Всяка услуга отказва да се компилира без резерв от дисково пространство, внедряванията се сериализират, вместо да се надпреварват, gateway-ът остава активен при нестабилен backend, а услугите действително спират при SIGTERM, вместо да увисват, докато не бъдат принудително спрени 30 секунди по-късно.

Дълго време "кой браузърен подпис да се използва" беше решение, което вземахме вместо вас. Това вече не е задължително.