Skip to content

XHR Blocker

Wykop X edited this page Jun 2, 2024 · 33 revisions

Wykop XHR Blocker

XHR Blocker pozwala na całkowite zablokowanie żądań, które Wykop próbuje wysłać podczas otwierania strony internetowej.


Funkcja dostępna w:

- Skrypt Wykop XS v.3.0
- Skrypt Wykop XHR Blocker

XHR Blocker

XHR Blocker blokuje requesty XHR (XMLHttpRequest), które podczas wczytywania strony wykop wysyła do:

  • zewnętrznych serwerów
  • wykopowego API z reklamami (wykop.pl/api/v3/ads)

Po aktywowaniu XHR Blocker wczytywanie Wykopu jest odczuwalnie szybsze

  • wzrost szybkości ładowania sięgać może nawet do 200-400%

(w zależności od używanej przeglądarki, Twojego połączenia internetowego oraz komputera/smartfona).


Jak włączyć XHR Blocker

Aby skorzystać z XHR Blocker możesz:

lub:


image

INSTRUKCJA INSTALACJI SKRYPTU ZNAJDUJE SIĘ TUTAJ

https://github.com/wykopx/WykopX/wiki/Wykop-XS#jak-zainstalowac-wykop-xs

Dodatkowe instrukcje krok po kroku:


Czym są requesty XHR na Wykopie?

Domyślnie Wykop przy każdym otwarciu i odświeżeniu strony próbuje wczytać mniej więcej 30-50 różnego rodzaju skryptów reklamowych oraz trackerów śledzących użytkownika z takich serwerów jak:

  • a.spolecznosci.net
  • prebid.smilewanted.com
  • bidder.adquery.io
  • hpopenbid.pubmatic.com
  • prg.smartadserver.com
  • prebid.eu.creativecdn.com
  • gpl.adocean.pl
  • adx.adform.net
  • delivery.clickonometrics.pl
  • i.connectad.io
  • hb.adscale.de
  • t.visx.net
  • script.3dex.io
  • 1x1.a-mo.net
  • ssp.wp.pl

... i wielu innych.

Wysłanie tak dużej liczby zapytań oraz oczekiwanie na wczytanie danych powoduje spowolnienie i często zawieszanie się wczytywanej strony oraz nadmiarowe wykorzystanie pamięci RAM i mocy obliczeniowej CPU.

Skrypty nawet po wczytaniu obciążają przeglądarkę regularnie analizując kliknięcia i zachowania użytkownika.

Wszystko to skutkuje tym, że

  • wczytywanie kolejnych stron Wykopu jest powolne
  • powolnością przy korzystaniu z przeglądarki (także na innych stronach)
  • uruchomione wentylatory chłodzące nagrzewający się procesor
  • dane o Tobie oraz twojej aktywności na stronie są przekazywane reklamodawcom
  • śledzony jest dosłownie każdy Twój ruch myszką i każde wciśnięcie klawisza
  • zapisywane mogą być statystyki dotyczące całego pobytu na stronie

Możesz zobaczyć jak działają trackery śledzące użytkowników na przykładzie Microsoft Clarity


Przykład

Przy otwarciu strony głównej https://wykop.pl Wykop próbuje wysłać około 40 żądań do zewnętrznych.

Wszystkie te żądania zostają zablokowane przez XHR Blocker i nie zostają wysłane

  • żadna informacja nie zostaje wysłana do zewnętrznych serwerów o tym, że wszedłeś na Wykop
  • Twoje dane nie zostają nigdzie przekazane
  • zablokowanie wysłania żądania powoduje, że przeglądarka nie oczekuje na zewnętrzne skrypty, nie próbuje ich pobrać natomiast od razu dalej wczytuje stronę (np. znaleziska lub wpisy)
  • oszczędzamy czas ładowania i transfer pobieranych plików
  • znacząco mniejsze obciążenie procesora oraz pamięci RAM

image


Opis działania

XHR Blocker jako skrypt, który masz zapisany w przeglądarce jest wstrzykiwany na samym początku ładowania strony wykopu - jeszcze przed wczytaniem reklam i skryptów.

Działanie skryptu polega na wykryciu każdego zapytania XHR czyli XMLHttpRequest i zastąpieniu go funkcją wykrywającą czy jest to żądanie do serwera zewnętrznego czy do wykopowego API. Każde zapytanie do API wykopu jest natychmiastowo przekazywane dalej, natomiast pozostałe żądania są blokowane i usuwane.

Przykładowo Wykop regularnie, co kilka sekund sprawdza czy masz nowe powiadomienia, wysyłając żądanie XHR pod adres: https://wykop.pl/api/v3/notifications/status

a także liczbę nowych aktywnych znalezisk w Wykopalisku:
https://wykop.pl/api/v3/links/stats/upcoming

Jedynym wyjątkiem jest blokowanie żądania do wewnętrznego API wykopu obsługującego wyświetlanie reklam: https://wykop.pl/api/v3/ads


Konfiguracja XHR Blocker

Domyślnie po zainstlowaniu Wykop XS oraz Wykop XS - XHR Blocker włączone jest blokowanie zarówno żądań zewnętrznych jak i żądania pod adres https://wykop.pl/api/v3/ads

Niezależnie który z tych dwóch skryptów wybierzesz, możesz skonfigurować działanie funkcji XHR Blocker za pomocą jednego ze stylów:

  • Wykop X Style lub
  • Wykop X Blank

Upewnij się wtedy, że włączona jest opcja
"Aktywuj skrypt Wykop XS i działanie włączonych funkcji ❎"

oraz wybrana przez Ciebie opcja w sekcji ❎ XHR Blocker

image


Logowanie zablokowanych żądań XHR

Jeśli chcesz widzieć co zablokował XHR Blocker możesz włączyć tryb deweloperski Wykop XS w sekcji "Testowanie"

image

Po włączeniu trybu deweloperskiego wejdź na stronę Wykopu i uruchom DevTools np.:

  • klawiszem F12 lub
  • skrótem CTRL + SHIFT + J

W konsoli zobaczysz wtedy które żądania zostały zablokowane, a które przepuszczone dalej i pobrane z serwera.

Clone this wiki locally