test(player): nie wstrzykuj naszego skryptu na stronach z Turnstile
Kolejny podejrzany o negatywna weryfikacje Cloudflare: nasz wlasny INJECTED_JS. Wstrzykujemy go PRZED zaladowaniem strony, a on podmienia gettery i settery na prototypie HTMLMediaElement (wyciszanie autoplay) oraz usuwa elementy uznane za reklamy. Turnstile potrafi uznac tak zmodyfikowane srodowisko za podejrzane. Na hostach vikingfile konczymy teraz wykonanie zaraz po naszym bloku: zostaje tylko podswietlenie ramki z zabezpieczeniem, meldunek needs_interaction i podsluch POST-a z bezposrednim linkiem. Reszta patchy sie nie wykonuje. Na stronie pliku i tak nie potrzebujemy ani wyciszania autoplay, ani ad-blocka. To jest TEST HIPOTEZY, nie potwierdzona naprawa. Nie udalo mi sie odtworzyc bledu u siebie: w Chrome na emulatorze, na tej samej sieci, weryfikacja przechodzi zarowno w trybie mobilnym, jak i desktopowym. Do apki na emulatorze nie dojde ta scena, bo ma duration NULL i w glownym feedzie jest ukryta progiem 60 s, a przez strone aktorki trzeba by przewinac 701 pozycji. Przy okazji: naprawiony pojedynczy backslash w regexie hosta (szablon go zjadal) i zaktualizowany komentarz naglowkowy, ktory dalej opisywal chowanie strony, usuniete dwie zmiany wczesniej. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
parent
2071b36311
commit
646f03d7be
2 changed files with 23 additions and 10 deletions
|
|
@ -16,6 +16,13 @@ export type ChangelogEntry = {
|
|||
};
|
||||
|
||||
export const CHANGELOG: ChangelogEntry[] = [
|
||||
{
|
||||
id: '2026-08-22f',
|
||||
date: 'August 2026',
|
||||
items: [
|
||||
'Another attempt at hosts that ask you to confirm you are human: the app no longer runs its own ad-blocking and autoplay tweaks on those pages, in case the check was rejecting the modified page. If the confirm box still refuses you, long-press the source on the scene and open it in your browser, which does work.',
|
||||
],
|
||||
},
|
||||
{
|
||||
id: '2026-08-22e',
|
||||
date: 'August 2026',
|
||||
|
|
|
|||
|
|
@ -1156,16 +1156,15 @@ const INJECTED_JS = `
|
|||
if (window.__goonPatched) return;
|
||||
window.__goonPatched = true;
|
||||
|
||||
// -- 0. vikingfile: to STRONA PLIKU, nie goly odtwarzacz. UWAGA: serwis rotuje
|
||||
// domena, vikingfile.com oddaje 302 na vik1ngfile.site, stad luzniejszy wzorzec. Galaxyporn przeniosl tam
|
||||
// swoj katalog, a my podajemy ja do WebView, bo wideo odslania sie dopiero po
|
||||
// recznym przejsciu zabezpieczenia Cloudflare. Bez tego bloku user widzi
|
||||
// naglowek serwisu, nazwe pliku i stopke, a wlasciwy widget bywa pod zgieciem,
|
||||
// wiec zglaszal to jako "loading, a potem pusta strona" (zgloszenie 21d6f5af).
|
||||
// Zostawiamy wiec na ekranie WYLACZNIE widget i odtwarzacz, reszte chowamy.
|
||||
// Gdy strona zdejmie z <video> klase hidden, chowamy tez widget i oddajemy
|
||||
// obraz w calosci; dalej dziala zwykly scrape <source>, wiec i tak przeskoczymy
|
||||
// na natywny odtwarzacz, gdy tylko pojawi sie adres pliku.
|
||||
// -- 0. vikingfile: STRONA PLIKU, nie goly odtwarzacz. Galaxyporn przeniosl tam swoj
|
||||
// katalog. Serwis rotuje domena (vikingfile.com oddaje 302 na vik1ngfile.site),
|
||||
// stad luzniejszy wzorzec hosta.
|
||||
//
|
||||
// Robimy tu TYLKO trzy rzeczy: podswietlamy i przewijamy do ramki z
|
||||
// zabezpieczeniem, meldujemy aplikacji, ze strona czeka na klikniecie, oraz
|
||||
// podsluchujemy POST zwracajacy bezposredni link. NICZEGO nie chowamy: pierwsza
|
||||
// wersja chowala oprawe strony i przy nierenderujacym sie widgecie zostawal
|
||||
// czarny ekran, gorzej niz przed zmiana.
|
||||
try {
|
||||
if (/vik[i1]ngfile\\./i.test(location.hostname)) {
|
||||
// UWAGA: NIE chowamy tu reszty strony. Pierwsza wersja robila dokladnie to i user
|
||||
|
|
@ -1243,6 +1242,13 @@ const INJECTED_JS = `
|
|||
return vkSend.apply(this, arguments);
|
||||
};
|
||||
}
|
||||
// Na hosterze z zabezpieczeniem Cloudflare KONCZYMY tutaj. Ponizej patchujemy
|
||||
// prototypy HTMLMediaElement i usuwamy elementy uznane za reklamy, a Turnstile
|
||||
// potrafi uznac tak zmodyfikowane srodowisko za podejrzane i odrzucic weryfikacje
|
||||
// (zgloszenie: "wywolanie cloudflare dziala, ale weryfikacja jest negatywna").
|
||||
// Na stronie pliku i tak nie potrzebujemy ani wyciszania autoplay, ani ad-blocka,
|
||||
// a bezposredni link i tak przechwytujemy podsluchem POST-a powyzej.
|
||||
if (/vik[i1]ngfile\\./i.test(location.hostname)) return;
|
||||
} catch (e) {}
|
||||
|
||||
// -- 0a. Mute autoplay until the FIRST user gesture (kills the unmuted-audio flash
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue