XHR Blocker - wykopx/WykopX GitHub Wiki
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:
- zainstalować skrypt Wykop XS - XHR Blocker
Strona skryptu: https://greasyfork.org/en/scripts/486722-wykop-xs-xhr-blocker
lub:
- zainstalować skrypt Wykop XS v.3.0
Strona skryptu: https://greasyfork.org/en/scripts/458860-wykop-xs
INSTRUKCJA INSTALACJI SKRYPTU ZNAJDUJE SIĘ TUTAJ
https://github.com/wykopx/WykopX/wiki/Wykop-XS#jak-zainstalowac-wykop-xs
Dodatkowe instrukcje krok po kroku:
- instalacja skryptów na komputerze
- instalacja skryptów na smartfonie
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
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
Logowanie zablokowanych żądań XHR
Jeśli chcesz widzieć co zablokował XHR Blocker możesz włączyć tryb deweloperski Wykop XS w sekcji "Testowanie"
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.