Commit graph

2 commits

Author SHA1 Message Date
goon-foss
f10d999410 feat(reap): generyczny przemial martwych zrodel z bramka, ktora tub musi zdac
Uogolnienie `sxyprn_reap_dead.py` na pozostale tuby. Werdykt bierze sie z `try_extract`,
czyli z kodu, ktorego uzywa aplikacja przy odtwarzaniu, wiec sonda nie widzi czegos
innego niz user. Martwe pada TYLKO na 404/410 albo `HosterDead`; pusty wynik ekstraktora
to "nieznane" i zrodla nikt nie rusza.

Bramka odpala sie ZA KAZDYM URUCHOMIENIEM, zamiast polegac na tym, ze ktos pamieta wynik
wczesniejszego pomiaru. Sprawdza jednoczesnie, czy sonda widzi smierc (adresy scen, ktore
nie moga istniec, musza wrocic martwe) i czy nie zabija zywych (sceny odegrane w ostatnich
7 dniach musza wrocic zywe). Nie zdana bramka konczy skrypt bez tkniecia bazy.

Wynik pierwszego pomiaru: przemial ma sens dla hqporner (~29%) i galaxyporn (~14%).
porntrex, xvideos, neporn, supjav i reszta soft-404 odpadaja, bo sonda ich smierci nie
widzi. youperv odpada, bo oddaje martwe na 25% scen, ktore realnie sie odegraly.

Trzy rzeczy, ktore wyszly dopiero przez kontrole, nie przez czytanie kodu:

* Pierwsza wersja sondy pytala tylko o status HTTP i uznala SXYPRN za tuba, na ktorym nic
  nie widac (0/6), chociaz wlasnie wygasilismy tam 34% zrodel. Sxyprn oddaje skasowany
  post jako HTTP 200, a `HosterDead` leci dopiero z ekstraktora. Po przejsciu na
  `try_extract` negatywna daje 7/7.
* Kontrola pozytywna przy 12 probach byla za ciasna: jeden trup to 8% i przewracal prog
  5%, chociaz realny szum galaxyporn to ~3%. Stad 40 prob i okno 7 dni zamiast 14, bo im
  swiezsze odtworzenie, tym mocniej "martwe" wskazuje na nasz blad, a nie na kasowanie.
* Budowanie adresow nieistniejacych przez podmiane cyfr nie dzialalo dla tubow BEZ numeru
  sceny w adresie (hentaigasm, mypornerleak, freshporno). Wychodzily jako "0/0", czyli
  niezmierzone, a to okolo 950 tys. zrodel. Teraz kolejno: numer w query, segment-
  identyfikator, a dopiero na koncu slug. Kolejnosc jest istotna, bo psucie segmentu
  trasy (`videos`) sprawdzaloby, czy tub obsluguje adres, a nie czy istnieje scena, wiec
  tub oddajacy 404 na zla trase i 200 na nieistniejaca scene falszywie zdalby bramke.

Sonda siedzi w `_reap_probe.py` wspolnym dla pomiaru i przemialu, zeby bramka testowala
dokladnie ten kod, ktory potem mieli baze.
2026-08-27 15:30:54 +02:00
goon-foss
bbdff6bc90 feat(reap): pomiar martwych zrodel per tub, z kontrola pozytywna i negatywna
Po sxyprn (34% martwych na 188 tys. zrodel) nasuwa sie przemielenie tak samo calej
reszty. Metoda sxyprn nie przenosi sie wprost:

* Twardy sygnal smierci (`HosterDead`) ma tylko 6 z 42 ekstraktorow. Dla reszty "nic nie
  zwrocil" znaczy naraz "skasowane", "zmienil sie markup" i "rate limit". Wygaszanie na
  tej podstawie schowaloby ZYWE sceny, jak przy porntrex (6479 scen po cichej zmianie
  markupu).
* Zywych zrodel jest ~3,9 mln, czyli ponad tydzien ciaglego pukania do wlasnej podazy.

Dlatego najpierw pomiar. Skrypt jest wylacznie do odczytu, niczego nie oznacza.

Martwe pada tylko na twardych sygnalach: HTTP 404/410 albo `HosterDead`. Pusty wynik
ekstraktora to "nieznane" i zrodla nikt nie rusza.

Kazdy tub dostaje DWIE kontrole, bo sam wynik proby niczego nie dowodzi: "0% martwych"
znaczy albo "tub zdrowy", albo "nie widzimy trupow".

* Pozytywna: zrodla scen, ktore realnie odegraly sie w ostatnich 14 dniach. Musza wrocic
  zywe. Lapie tuba, ktory zaczal oddawac 404 wszystkiemu bez sesji, czyli przypadek, w
  ktorym przemial skasowalby caly katalog. Prog to 5%, nie zero, bo czesc scen znika
  naprawde. Odsetek z kontroli odejmuje sie od wyniku proby.
* Negatywna: prawdziwy adres z numerem sceny podmienionym na absurdalny. Taka strona nie
  moze istniec, wiec musi wrocic martwa.

Negatywna od razu sie oplacila: pierwsza wersja pytala tylko o status HTTP i uznala
sxyprn za tuba, na ktorym sonda jest slepa (0/6), chociaz wiemy, ze ma tam 34% trupow.
Powod: sxyprn oddaje skasowany post jako HTTP 200, a `HosterDead` leci dopiero z
ekstraktora. Po przejsciu na `try_extract` negatywna daje 7/7.

Tuby resolvowane tylko w WebView na telefonie sa pomijane, bo z VPS sa nieweryfikowalne.
2026-08-27 14:36:48 +02:00