MajkiIT / polish-ads-filter

CertyficateIT - Oficjalne polskie filtry do Adblock, uBlock Origin, Adguard
Other
672 stars 93 forks source link

brak headera na początku szeregu filtrów a adblock2privoxy #8108

Closed wmyrda closed 6 years ago

wmyrda commented 6 years ago

Adlock2privoxy programowany był dla filtrów z easylist, a te wszystkie posiadają nagłówek na początku pliku [Adblock Plus x.x] stąd w kodzie konwertera jest wymóg jego obecności. Jak czytam taka reguła winna się tam znaleźć. Bez względu jednak na to czy taki wymóg jest zasadny czy nie to konwerter całkowicie ignoruje cały zestaw filtrów jeśli tego nagłówka brak. Pytanie czy jego dodanie dodanie do brakujących plików (około połowy plików w repozytorium np. ta) nie będzie się kłócić z innymi aplikacjami jak Adguard, bo jeśli nie to prosił bym o jego dodanie.

Osobiście radzę sobie za pomocą skryptów, które dodają brakujące nagłówki sed -i '1 i\[Adblock Plus 1.1]' filtr_wymagajacy_poprawy.txt, ale to dodatkowy krok na którego nie każdy używający konwertera by wpadł.

hawkeye116477 commented 6 years ago

Headera takiego oczywiście nie ma, bo to są filtry dla uBO i AdGuarda i nie są kompatybilne z AB/ABP. Jak dodamy, to może się znajdą jacyś pomysłowi co dodadzą to do ABP, a potem będą skargi, że coś się popsuło,itd., bo ABP potrafi robić problemy jak widzi uBlockowe reguły :smiley:. A te reguły ze :style() rozumiem, że działają poprawnie na tym privoxy?

wmyrda commented 6 years ago

Jak nie powinno być to ok, niech nie będzie.

Co do prawidłowego działania jak sama nazwa wskazuje od tego jest konwerter adblock2privoxy, a nie privoxy. Privoxy jak dostanie dokładnie regułę do usuwania elementów to ją zaserwuje za pomocą serwera www (apache, nginx, etc.) i do przeglądarka będzie mieć zgryz czy będzie wiedziała co zrobić jak plik css będzie zawierał wpis .cookies-margin:style(top: 0px!important;). Oczywiście by to prawidłowo działało konwerter i tak powinien umieścić ją w nowej linii czego obecnie nie czyni tylko wszystkie umieszcza ciurkiem po przecinkach.

Jeśli zawartość pliku css nie powinna zawierać :style() gdyż przeglądarka tego nie zrozumie to poproszę o przykład jak taki wpis winien wyglądać wówczas wskazane wcześniej zgłoszenie dla konwertera uzupełnię.

hawkeye116477 commented 6 years ago

@wmyrda Ok, jeżeli masz np takie coś => lomza.pl##html > body.polityka-cookies:style(margin-top: 0px !important; background-position: center 120px !important;), to to powinno wyglądać w css tak:

html > body.polityka-cookies {
    margin-top: 0px !important;
    background-position: center 120px !important;
}
wmyrda commented 6 years ago

Czyli jednak do osiągnięcia. Jak się już upora z wrzucaniem reguł z tekstem w nawiasach do nowej linii to pozostanie wyrzucić :style i nawiasy okrągłe zastąpić klamrami.

wmyrda commented 6 years ago

@hawkeye116477 Jak tak koledze dobrze idzie w przykładach to trudniejsze zadanie ;)

Jak powinnien wyglądać wpis w css przekonwertowany z reguły wp.pl#?#div:-abp-contains(REKLAMA) + DIV > DIV > A? Podpowiedź rozwiązania również podrzucę gdzie trzeba

hawkeye116477 commented 6 years ago

@wmyrda Style nie jest specyficzną funkcją AdGuarda, a uBlocka, choć AG też takie coś akceptuje. W AG wymyślili inne cuda: lomza.pl#$#html > body.polityka-cookies { margin-top: 0px !important; background-position: center 120px !important; }. A co do tego nowego, to generalnie on po pierwsze powinien chować tylko te divy które zawierają tekst REKLAMA i tu jest ciężka sprawa, bo coś takiego jak contains() było, ale wyparowało z CSSa, więc chyba trzeba byłoby javascript robić. https://hg.adblockplus.org/adblockpluscore/rev/6f86e2b9f664

A jeszcze bywa coś takiego jak script:inject i znowu jest problem, bo JS nie zastąpimy CSS'em :smile:.

wmyrda commented 6 years ago

Tak na dobrą sprawę skoro wszystko jest opisane i w odpowiednich zgłoszeniach konwertera wspomniane, a samych reguł jako takich nie dotyczy to zamykam

github-actions[bot] commented 5 months ago

Ten wątek został automatycznie zablokowany, ponieważ 60 dni po jego zamknięciu nie było żadnej aktywności. Proszę otworzyć nowe zgłoszenie dla powiązanych problemów.