Wszystkie wpisy

FourA Digest: 14-21 sierpnia 2026

Organizacje, którymi naprawdę da się zarządzać, Proxy Finder wskazujący napotkaną przeszkodę i Browser, który przestaje zwracać dwie sprzeczne odpowiedzi dla tej samej strony.

Najważniejsze zmiany

Organizacja była kiedyś tylko wierszem w bazie, który mógł mieścić jedną osobę. Teraz to pełnoprawny panel zarządzania: zaproś współpracownika, przypisz mu rolę i pozwól tworzyć klucze na koszt firmy. Proxy Finder przestał też zwracać ogólny błąd o wyczerpaniu prób i zaczął wskazywać konkretną blokadę, na którą natrafił. Z kolei Browser zyskał pełną spójność fingerprintu w trakcie całej sesji.

Co nowego

Organizacje, którymi naprawdę możesz zarządzać

Dodanie współpracownika wymagało wcześniej kontaktu mailowego z nami, przez co zespoły często kupowały dwie osobne subskrypcje.

Twoja organizacja ma teraz własną stronę w Dashboardzie oraz trzy role. Właściciel utrzymuje subskrypcję, z której rozliczane są klucze, dlatego jest tylko jeden, a przekazanie własności odbywa się przez transfer. Administratorzy zarządzają zużyciem, rozliczeniami i członkami. Członkowie po prostu korzystają z zasobów. Zaproszenia wysyłane są na adres e-mail i działają także dla osób bez wcześniejszej rejestracji.

Każdy członek organizacji może tworzyć należące do niej klucze i przenosić do niej klucze prywatne, dzięki czemu programista nie musi używać własnego klucza do zadań firmowych. Użycie klucza organizacji obciąża plan właściciela, a każde potwierdzenie jasno wskazuje płatnika. Każdy członek może zmienić nazwę klucza. Ponowne generowanie, wyłączanie i usuwanie pozostają w rękach właścicieli i administratorów, ponieważ natychmiast blokują pracę wszystkim korzystającym z danego klucza.

Jeden filtr Owner obejmuje teraz Overview, Detailed Metrics, Recent Activity oraz listę kluczy. Sekcje Usage & Limits oraz Billing pozostają prywatne, ponieważ członkowie zespołu nie powinni mieć wglądu w limity właściciela.

Proxy Finder przestaje zgadywać

Komunikat "Download maxTry limit reached" brzmiał identycznie niezależnie od tego, czy każdy węzeł wyjściowy był zablokowany, martwy, czy też pobraliśmy właściwą stronę, którą odrzuciła Twoja własna reguła. Każdy z tych trzech przypadków wymaga zupełnie innego rozwiązania.

Nieudane zadanie zawiera teraz attemptReport: liczbę węzłów, które nie odpowiedziały, liczbę odrzuceń przez rozpoznane systemy ochrony wraz z nazwami dostawców, liczbę odrzuceń przez Twoje validate.status oraz liczbę odpowiedzi HTTP 200 bez widocznych zabezpieczeń, które nie spełniły wyłącznie Twojego warunku validate.data. Do całości dołączone jest zwięzłe podsumowanie.

Ta ostatnia wartość jest kluczowa. Reguła weryfikacji treści, która nie może dopasować wzorca, wyglądała wcześniej dokładnie tak samo jak blokada na każdym sprawdzanym poziomie, a żaden retry nie był w stanie tego naprawić. (Więcej o tym, jak reguły walidacji określają sukces.)

Druga kwestia dotyczy profilu. Proxy Finder rotował dotąd węzły wyjściowe, ale nigdy sygnaturę klienta. Jeśli strona odrzucała dany profil przeglądarki, odrzucała go na każdym adresie proxy w puli. Teraz odrzucenie żądania powoduje zmianę profilu w ramach kolejnej, zaplanowanej próby, więc liczba zapytań i punktów na zadanie pozostaje bez zmian. Jeśli przypiszesz profile na stałe, zachowanie nie ulegnie zmianie. Pamiętaj, że w przypadku najtrudniejszych celów adres wyjściowy wciąż ma większe znaczenie niż wysyłany profil.

Browser bez sprzecznych parametrów

Żądanie User-Agent od Browser bywało gorsze niż brak takiego żądania. Trzy warstwy miały własną wersję tego, kim jest nadawca, więc jedno żądanie mogło jednocześnie zgłaszać system Windows, Maca oraz wersję, na której flota wcale nie działała. Teraz obowiązuje jedna wartość, ustalana raz i przekazywana wszędzie: przy uruchomieniu, na stronie i do workerów, które strona tworzy.

Client hints bazują na tym ciągu znaków, więc sec-ch-ua, platforma oraz navigator.platform są z nim zgodne. W odpowiedzi zwracany jest ciąg znaków, który faktycznie wysłaliśmy, co ma znaczenie, ponieważ pliki cookie clearance są powiązane jednocześnie z węzłem wyjściowym i nagłówkiem User-Agent. Zapytanie do renderera zwraca teraz ten sam wynik w dokumencie i w workerze, co eliminuje kolejny z słabych sygnałów sumujących się w wykrycie.

Wraz z tym wdrożono trzy kolejne zmiany:

  • Zegar podąża za węzłem wyjściowym. Browser działa w strefie czasowej kraju, w którym znajduje się węzeł wyjściowy, więc strona renderująca czasy lokalne pokazuje to, co zobaczyłby odwiedzający z tej lokalizacji. Gdy kraj nie jest znany, zegar pozostaje bez zmian.
  • WebRTC korzysta z tej samej ścieżki co reszta ruchu. Ustawienie proxy obejmuje dane przesyłane przez przeglądarkę przez TCP. WebRTC nie działa na tej ścieżce, więc strona pytająca o kandydatów ICE otrzymuje odrębną odpowiedź. Browser wyłącza to zachowanie za każdym razem, gdy żądanie ma przypisany węzeł wyjściowy.
  • Adresy URL z kotwicami kosztują tyle, ile powinny. Adres URL kończący się na #reviews powodował za każdym razem przekroczenie limitu czasu. Teraz działa z normalną prędkością.

Tańsze trasy i Dashboard, który liczy precyzyjnie

Imperva wstrzykuje swój skrypt do prawidłowych stron, a nie tylko do stron z blokadami. Tryb Auto nie potrafił ich rozróżnić, przez co prawidłowe strony niepotrzebnie eskalowały do pełnej przeglądarki. W przypadku serwisu wynajmu samochodów oznaczało to 75 kredytów i 27,5 sekundy w sześciu próbach; teraz jest to jedna próba, 10 kredytów i około sześć i pół sekundy. Niektóre witryny zwracają sesję w ramach odmowy dostępu wysyłanej w odpowiedzi na żądanie bez sesji. Wszystkie cztery silniki odsyłają ją teraz natychmiast, przed eskalacją.

Karta kredytów w sekcji Overview pokazywała wszystkie zużyte środki i oznaczała je jako rozliczone. W modelu pay-for-success wartości te różnią się, a różnica to realne pieniądze, dlatego karta zawiera obie pozycje: kwotę rozliczoną jako główną liczbę oraz kwotę zużytą poniżej, w podziale na produkty i łącznie. Karta Requests jest podzielona w ten sam sposób. Okres i poziom szczegółowości to także osobne kontrolki, od 30 minut do roku plus zakres niestandardowy, co zastępuje dawny przełącznik "1D", który otwierał widok trzydziestu dni.

W narzędziu Playground przycisk przenoszenia parametrów udostępnia teraz profil z ostatniej odpowiedzi, dzięki czemu żądanie wysłane z profilem innym niż wpisany odtwarza wersję, która zadziałała. Wszystkie parametry są opisane w sekcji API reference.

Under the Hood

Proxy Finder zachowuje dłuższą historię dla każdego hosta: 32 węzły wyjściowe zamiast kilkunastu. W testach A/B na żywo wyniki były porównywalne na prostych celach i lepsze na trudnych, gdzie mediana czasu pobrania strony spadła z 5,5 s do 3,8 s, podczas gdy ogólne opóźnienie w całej flocie pozostało bez zmian. Jeden cel zachował się odwrotnie i jeszcze nie wiemy dlaczego, więc jest mierzony osobno.

Zadanie, które ma zakończyć się niepowodzeniem, i tak się nie powiedzie. Różnica polega na tym, czy zamkniesz ticket w minutę, czy spędzisz popołudnie na mierzeniu niewłaściwej rzeczy.