e3rd / fb-getridad

1 stars 3 forks source link

different variants #2

Closed e3rd closed 8 months ago

e3rd commented 3 years ago

Máme různé varianty, jak mohou data-pagelet vypadat

kaha0 commented 2 years ago

Tak mě napadlo, nestačil by k určení jazyka třeba atribut lang elementu HTML? fblang

e3rd commented 2 years ago

WOW, to je geniální, to bude VONO! Já tam mám lang="en" :)

e3rd commented 2 years ago

Předělal jsem to na ten tvůj html lang – zkusíš aktuální master? Já teď nemám žádný reklamy, abych to vyzkoušel... :D Jestli to pude, s dovolením zavřu tvůj #8 , protože celá část s shibolettem je fuč. @kaha0

kaha0 commented 2 years ago

Jo, funguje perfektně, všechny sponzorovaný posty jsou skrytý :)

e3rd commented 2 years ago

Tak se uvidíme u další změny fb

kaha0 commented 2 years ago

Zas prošel jeden post. Všechny ostatní sponzorovaný posty byly skrytý. Zajímavý je že jak mají většinou vedle slova "Sponzorováno" ikonku zeměkoule s popiskem "Veřejný", tak tenhle měl Ozubený kolečko a "Sdíleno s: Vlastní", tak mě napadlo jestli to nemůže mít vliv.

EDIT: neni to tim, viděl jsem jinej post "Sdíleno s: Vlastní" a byl skrytej.

html.txt

kaha0 commented 2 years ago

Jéje, už posty pronikají hromadně. Zatim mam pocit že "Návrhy pro vás" zůstávají skrytý a ostatní pronikají všechny. Příklady proniklých postů: html1.txt html2.txt html3.txt html4.txt html5.txt

e3rd commented 2 years ago

Darebáci! Musíš asi přežít aspoň do úterka, já to už nestihnu :(

kaha0 commented 2 years ago

V pohodě, přežiju, stačí až budeš mít čas. Píšu to sem jenom abys moh vylepšovat tenhle projekt a udržovat ho up-to-date.

Jinak z toho co jsem vypozoroval to zatim vypadá, že všechny "Sponzorováno" nejsou skrytý, všechny "Sponzorováno, platí za to" i "Návrhy pro vás" jsou skrytý.

e3rd commented 2 years ago

Tys přišel na to, že se to kreje za flex box a opravils, jo? Hustý!

kaha0 commented 2 years ago

Jop :) Teď mi skrývá všechny sponzorovaný, tak zase naviděnou příště.

kaha0 commented 2 years ago

Tak už to facebook zase změnil. Podařilo se mi upravit kód tak aby blokoval i ty nový varianty, ale musel jsem k tomu použít element.computedStyleMap, což je něco co podporuje jenom Chromium :( Tak co teď?

e3rd commented 2 years ago

Hahá! Já to tu nezavřu! :D Tak sem postni zase ukázku tý varianty a třeba budu mít příští tejden taky čas se na tu vopičárnu podívat :D Vo element.computedStyleMap jsem teda jaktěživ neslyšel, teď to čtu a hustý.

kaha0 commented 2 years ago

Ok ok, ale klidně si dej na čas. Já to mam lokálně upravený a funguje mi to, a ostatní uživatelé asi tuhle variantu nedostávají (nebo si nestěžujou).

ad1.txt

Vypadá to následovně: v postu je SPAN kterej má style="display: flex;" (v kódu nazývám "topflexspan"). Ten má jako potomky další SPANy který obsahujou písmenka stringu "Sponzorováno" v náhodném pořadí, seřazený pomocí style="order: pořadí", a taky další písmena skrytý pomocí style="top: 3em" a style="display: none" (jako už jsme viděli v dřívější variantě, ale tady to neni přímo v node.style, je to computed, viz screenshot). style

Tady je moje řešení: launcher.js.txt

e3rd commented 2 years ago

Hustý! Tak jsem si to prohlíd a pokorně nebudu dělat nic, než to začne vadit někomu dalšímu (jako třeba mně), protože to vypadá přesně na tu krásnou věc, s kterou můžu strávit celý vodpoledne :D . Třeba se mezitím API standardizuje a bude to fungovat i ve FF či tak.

kaha0 commented 2 years ago

Plně s tebou souhlasím a podporuji tvojí pozici, computed styles klidně neřeš.

Nicméně dnes ráno vznikl novej problém: facebook se zase změnil. Zcela zmizelo "data-pagelet", takže neni na co zavolat check_garbage. Teď už lze posty na zdi identifikovat jen tím, že jejich rodič je element <div role="feed">, viz celej muj feed zde: feed.txt Jinými slovy teď zas vidim všechny sponzorovaný posty, ale asi by to mělo jít snadno upravit, tak se na to zkusim podívat sám a když se mi to podaří vyřešit tak zase založim pull request.

e3rd commented 2 years ago

Co ty chudáku furt máš práce s tim! Seš jejich pokusnej králík! A vždycky když napíšu tady, tak ti to změněj tam! všim sis?

kaha0 commented 2 years ago

Hotovo, ta verze v aktuálním pull requestu mi funguje. Zkus jestli ti taky funguje ve FF.

Jo, všim jsem si... taky mě napadlo jestli fb nesleduje projekty, který se snaží blokovat reklamy, a neadaptuje se jim...

e3rd commented 2 years ago

Asi by to mohl sledovat, věřím ale, že tenhle projekt nemá velkou publicitu (kromě spammerů, kteří našli mail na stránkách Add-onu Mozilly, ti mě zbožňujou). A mně se žádné psí kusy nedělají.

kaha0 commented 2 years ago

Oni ani nemusí sledovat přímo tenhle tvuj konkrétní projekt, určitě jich existuje vícero a tipnul bych si že fungujou na stejnym principu, takže když fb obejde jeden "adblock" tak tim rozbije i velkou část jiných. A taky vždycky když fb něco změní tak dělají postupnej rollout, asi je pro ně těžký změnit něco všem uživatelům najednou, takže i to obcházení "adblocků" uživatelé dostávají ve vlnách... možná.

e3rd commented 2 years ago

Jenže ty seš pořád na mušce s těma divnejma zrůdnostma, kdežto já nepotřeboval změnu už celé měsíce – až teď jsem začal ten tvůj kód, co máš skoro měsíc. (Jako jo, třeba to tak nějak je, dávalo by to větší smysl, než že to dělají úplně náhodně.)

kaha0 commented 2 years ago

Další změna: doteď jsem písmena stringu "Sponzorováno" detekoval tim, že měly style="order: x". Ale teď se začínají objevovat posty, který mají i to "order: x" schovaný tim že je to computed, stejně jako mají ty falešný, obfuskující písmena schovaný pomocí "top: 3em" a "display: none". V inkriminovaných postech mají písmena formu už jen <div class="___">. Takže by se to dalo vyřešit pomocí computedStyleMap, ale jen v chromiu, ve firefoxu by takový posty vždycky procházely. Co teď?

kaha0 commented 2 years ago

>:)

e3rd commented 2 years ago

Hustý! Tohle se zvládnu zamyslet nejdřív příští tejden :( :D je to teda hustý!

kaha0 commented 2 years ago

fb

letter.top == '0.013px' :D

kaha0 commented 2 years ago

Už je zase vidět všechno. Celej post na zdi je "schovanej" do malýho virtuálního SPANu, viz screenshot vlevo nahoře. Takže tomu spanu se správně nastaví style.opacity i height atd, ale na postu se to neprojeví. Řešením by bylo nenastavovat style zkoumanému nodu, ale jeho potomkovi. Ale nedokážu říct, jestli by to tahle změna nerozbila v situaci, kdy někdo stále ještě dostává tu starou variantu bez tohohle SPANu... fb

e3rd commented 2 years ago

Dneska mi fb nedává žádné reklamy, takže vůbec nedovedu určit :D

kaha0 commented 2 years ago

Tak až do teď mi vše fungovalo úplně perfektně. Ale právě se objevila úplně nová věc: ad ad.txt

e3rd commented 2 years ago

:DD Co to furt zkoušej, darebáci! Kdyby místo toho radši zlepšovali UI, nebo dělali data uživatelů použitelnější!

kaha0 commented 1 year ago

Mohl bys prosím updatenout ten addon na addons.mozilla.org? Současná verze mi neblokuje nic a firefox umožňuje to "Load unpacked addon" jenom dočasně, do příštího spuštění, takže bych musel při každym spuštění FF manuálě načítat addon z disku. Díky :)

kaha0 commented 1 year ago

Tak jsem se na to ještě díval, a to co řeší muj pull request #20 hypoteticky podporuje i chromium... Firefox má Element.openOrClosedShadowRoot zatímco chromium má chrome.dom.openOrClosedShadowRoot(element). Jenže když jsem zkusil to rozšíření upravit tak, aby pracovalo i v chromiu, browser vyhodil TypeError že funkce openOrClosedShadowRoot bere jen HTMLElement, a náš element <use> je SVGElement. Takže v chromiu to nebude fungovat, leda až to eventuálně nějak opraví. Píšu to sem jenom jako dokumentační komentář :)

e3rd commented 1 year ago

Na mě to v Chromu zatim nezkouší, tak netrpim :D

kaha0 commented 1 year ago

Tak jsem tu zas. Facebook odteď arbitrárně zanořuje a seskupuje posty do divů, viz screenshot. Zkusim se na to sám podívat. fb

e3rd commented 1 year ago

(Já jsem to možná vyřešil před pár týdny, ale testoval a nezveřejnil, zkusím dneska)

e3rd commented 1 year ago

Tenhle můj aktuální commit to náhodou řeší?

kaha0 commented 1 year ago

Zatím nedokážu posoudit, facebook mi tu zanořovanou variantu dává jen zřídka. Jen chci poznamenat že český text pro FeedHeader je skutečně "Příspěvku v kanálu vybraných příspěvků" a ne "Příspěvky..." :) feedheader

e3rd commented 1 year ago

Tak jsem se poprvé zasoustředil na ten tvůj post o zanořování; díky za barevné značení. To je teda děsivé, u mě je <div class="x1lliihq"> prostě označení postu. Máme šanci, že ta aktuální verze bude fungovat i na zanořované, pokud se ze serveru divy načítají postupně.

e3rd commented 8 months ago

Kdyžtak zas otevři :) A přidal jsem debug mód, aby bylo zřejmé, co doplňkem prochází za HTML elementy.