Witam!
Właśnie się przesiadam z WinXp na Linuxa i potrzebuję informacje, jak zrobić sobie Adblocka w Operce. Używam w WinXP tego ze strony nontroppo i jest super. Jak zrobić coś takiego pod Linuxem?
Jeżeli to coś zmienia to mam Operę 9.0
A zna ktoś działanie tego programiku? On dopisywał tylko jakąś pojedynczą linijkę do któregoś pliku Opery?
Originally posted by SzyMarek:
Jak zrobić coś takiego pod Linuxem?
http://nontroppo.org/wiki/OperaAdblock - użyć którejś z tych 3 wersji.
Jak dzisiaj przejdę za jakiś czas na Linuksa, to skompiluję wersję w języku C (źródło: http://my.opera.com/forums/showthread.php?s=&postid=929428#post928717) i zamieszczę ją tutaj, może się przyda.
Originally posted by Zajec:
A zna ktoś działanie tego programiku? On dopisywał tylko jakąś pojedynczą linijkę do któregoś pliku Opery?
Dopisuje do pliku np. adblock.css, który trzeba najpierw dodać do stylów użytkownika. Jak już jest w nim kod {display: none !important;} (który tworzy się po dodaniu pierwszego blokowanego elementu), to dopisuje potem tylko w jednej linijce kod nowego elementu do zablokowania.
Edycja: w dzień zamieszczę sposób na uruchomienie Adblocka w Linuksie.
Metoda 1 (c++):
1) Ściągamy źródła z http://my.opera.com/forums/showthread.php?s=&postid=929428#post928717 (są w katalogu src). W pliku cpp_adblock.cpp podajemy ścieżkę do pliku adblock.css, np.:
std::ostringstream css_file("/home/user/.opera/adblock.css");
Plik adblock.css w podanym katalogu trzeba koniecznie samemu stworzyć.
2) Kompilujemy źródło, np. w ten sposób:
g++ -o cpp_adblock cpp_adblock.cpp
Otrzymany plik cpp_adblock kopiujemy do katalogu znajdującego się w zmiennej PATH, ja skopiowałem do /usr/local/bin.
3) Przykład wpisu w standard_menu.ini (na podstawie menu: http://my.opera.com/polski/forums/topic.dml?id=85220&t=1131535007&page=2#comment892037):
Item, "Zablokuj obrazek" = Copy image address & Execute program, "cpp_adblock", "img[src='%c']" & Select user CSS file, 1 & Deselect user CSS file, 1 & Select user CSS file, 1 & Deselect user CSS file, 1
4) Do pliku userstyle.ini w profilu dodajemy wpis dodający Adblocka do stylów użytkownika (a zarazem go włączający):
Name 12=Adblock File 12=/home/user/.opera/adblock.css Active 12=1
Po odpaleniu Opery Adblock powinien działać.
Metoda 2 (python):
1) Ściągamy skrypt z http://nontroppo.org/wiki/OperaPythonAdblock i zapisujemy go jako adblock.py. Podajemy w nim ścieżkę do pliku adblock.css, np.:
BLOCK_CSS_FILE="/home/user/.opera/adblock.css"
i dodajemy w pierwszej linijce wpis:
#!/usr/bin/python
2) Wpis w standard_menu.ini:
Item, "Zablokuj obrazek" = Copy image address & Execute program, "python", "/home/user/.opera/adblock.py %c" & Select user CSS file, 1 & Deselect user CSS file, 1 & Select user CSS file, 1 & Deselect user CSS file, 1
3) Patrz krok 4 w metodzie 1.
W tej metodzie można tylko blokować obrazki, tzn. nie można ramek i odnośników.
PS. Oczywiście kompilator c++ i python powinny być zainstalowane, jeśli chce się ich użyć. :)
Zrobiłem wszystko jak trzeba i mam teraz pewien problem. W trybie autorskim opcja AdBlock jest niedostępna, dopiero po włączeniu trybu użytkownika robi się aktywna (tak jak i menu górne) Co ciekawsze w trybie autorskim po zablokowaniu obrazka robi się wpis do pliku adblock.css, ale dopiero po włączeniu trybu użytkownika zablokowane obrazki są niewyświetlane. Co zrobiłem źle?
Originally posted by SzyMarek:
Co zrobiłem źle?
Nie obejrzałeś tego obrazka?
Pewnie zapomniałeś o tym http://img58.echo.cx/img58/4569/preferencjeopcjetrybow8lx.png.
PS. 17 sekund za późno, starzeję się.
No oczywiście! Dzięki za pomoc!
Witam . Mam problem. Otóż zainstalowałem sobie adblocka ver. 0.5 coś tam. I gdy chce dodać adres to blokowania to zamiast dopisywać adres do plicu cpp_adblock_menu pokazuje mi się ściąganie tegoż pliku. CO zrobić? Prosze o radę. Wyskakuje mi:
Open file
cpp_adblock
with
kfmclient exec
Uzywam Mandrivy 2006
Originally posted by Piegus:
Mam problem. Otóż zainstalowałem sobie adblocka ver. 0.5 coś tam. I gdy chce dodać adres to blokowania to zamiast dopisywać adres do plicu cpp_adblock_menu pokazuje mi się ściąganie tegoż pliku. CO zrobić? Prosze o radę. Wyskakuje mi:
Open file
cpp_adblock
with
kfmclient exec
Hmm, tak mi się coś kojarzy, że u mnie ten program musiał byc w zmiennej PATH, bo w przeciwnym razie coś dziwnego się działo, chyba właśnie wyskakiwał ten sam komunikat, co Tobie. Wstaw ten plik do katalogu w zmiennej PATH, zostaw tylko samo "cpp_adblock" (tzn. nie podawaj pełnej ścieżki do pliku) po Execute Program, żeby sprawdzić, czy o to chodzi.
Sory ale mozna troche jaśniej?
Możesz opisać krok po kroku bo aż tak zaawansowany to nie jestem .
Pliki cpp_adblock.cpp i 8 innych mam w folderze /home/piotr/.opera/cpp_adblock/ (takie małe info choć)
A wersje c++ ściagnąłem z wikipedii o operze angielskiej
Mój GG: 992887
Aha, wpisów do pliku z menu samemu nie dodawałeś, tylko skorzystałeś z gotowego menu...
Jak się pojawi ten komunikat, to zaznacz opcję "Nie pokazuj ponownie tego okna" i wciśnij "Tak" i wszystko dalej powinno działać dobrze, komunikat przestanie się pojawiać (nic raczej nie trzeba kombinować ze zmienną PATH).
PS. Podałeś w pliku cpp_adblock_menu.ini ścieżki do pliku cpp_adblock.ini, zgodnie z punktem 3 w install.txt?
Nie ma pliku cpp_adblock.ini szukałem go wszedzie. ale nawet w tresci pliku cpp_adblock_menu.ini nie ma odpośnika do cpp_adblock.ini.
Pomyliłem się, trzeba podać w cpp_adblock_menu.ini ścieżkę do programików typu cpp_ablock itp., w ten sposób, jak jest podane w punkcie 3 instrukcji.
Mój przykładowy wpis : z cpp_adblock_menu.ini:
[cpp_adblock start]
Item, "* Block all elements" = Copy & Execute program, "/home/piotr/.opera/cpp_adblock/cpp_adblock", "*[src^='%c'], *[data^='%c']" & Select user CSS file,1 & Deselect user CSS file,1 & Select user CSS file,1 & Deselect user CSS file,1 & Execute program, "/home/piotr/.opera/cpp_adblock/cpp_adblock_filter", "%c*"
Item, "Block img elements" = Copy & Execute program, "/home/piotr/.opera/cpp_adblock/cpp_adblock", "img[src^='%c']" & Select user CSS file,1 & Deselect user CSS file,1 & Select user CSS file,1 & Deselect user CSS file,1
Zastanawia mnie to ze gdy skopuje ta sciezke do konquerora to pisze ze nie ma takeigo pliku czy ta sciezka "/home/piotr/.opera/cpp_adblock/cpp_adblock" ma być scieżką do plików w folderze /home/piotr/.opera/cpp_adblock/ czy sciezką do PLIKU cpp_adblock.cpp
Ścieżka do plików binarnych, czyli jest dobrze. I nie działa?
Wywołanie pliku cpp_adblock powoduje dodawanie wpisów do adblock.css, a cpp_adblock_filter do filter.ini.
Hmmm. Dziwne... ZMieniłem ściężke w tym cpp...menu.ini na /home/piotr/.opera/cpp_adblock Gdy teraz klikam na jakis obrazek i wybieram blok this image wyskakuje mi '/home/piotr/.opera/cpp_adblock' Brak dostêpu.
Gdy patrzylem na ustawienia tego folderu to właścicielem jestem ja.
Originally posted by Piegus:
ZMieniłem ściężke w tym cpp...menu.ini na /home/piotr/.opera/cpp_adblock Gdy teraz klikam na jakis obrazek i wybieram blok this image wyskakuje mi '/home/piotr/.opera/cpp_adblock' Brak dostêpu.
Gdy patrzylem na ustawienia tego folderu to właścicielem jestem ja.
/home/piotr/.opera/cpp_adblock to jest chyba u Ciebie katalog, którego oczywiście nie da się uruchomić.
no tak. To jest katalog. Ale jak tam widziałem te moje poprzednie ustawienia odsyłąły do /home/piotr/.opera/cpp_adblock/cpp_adblock . a przeciez takiego pliku tam nie mam. Jest podobny plik w tym folderze o nazwie: cpp_adblock.CPP ale takiego pliku do jakiego wysylalo ...menu.ini nie ma...
Aaa, przekopiowałeś złe pliki. Powinieneś przekopiować 4 pliki binarne (czyli programiki) z katalogu ./cpp_adblock/bin/linux do katalogu z pozostałymi plikami.
Czyliw jednym katalogu powinny się znaleźć pliki (z punktu 2 instrukcji): cpp_adblock, cpp_adblock_remove, cpp_adblock_filter, cpp_adblock_filter_remove, add_filter_or_style.html, overlay.css, adblock.css, filter.ini. Reszta plików jest zbędna.
Zrobiłęm wszystko od nowa bo nie chciało łączyć się z plikami ini...
OD nowa wszytsko zrbiłem i sprawdziłem Ale wróciłem do początku . Znów wyskakuje klient exec.... Jak zaznacze tak i spróbuje zablokować image to nie działa....
P.s.Może gdzieś trzeba ustawić we wtyczkach by dany program to uruchamial?
POMOCY!
A nowe wpisy pojawiają się w adblock.css lub filter.ini?
wlasnie o to chodzi zze sie nie pojawiaja....
Wklej tutaj wynik polecenia ls -a /home/piotr/.opera/cpp_adblock/, czyli tego, w którym masz te wszystkie pliki, oraz umieść plik cpp_adblock_menu.ini (do zamieszczenia plików pomocna jest strona http://my.opera.com/Piegus/files/).
Pliki mam w folderze /home/piotr/addblock/
[piotr@Piotr-Linux ~]$ ls -a /home/piotr/cpp_adblock/ ./ cpp_adblock* cpp_adblock_remove* ../ cpp_adblock_filter* filter.ini* adblock.css* cpp_adblock_filter_remove* overlay.css* add_filter_or_style.html* cpp_adblock_menu.ini*
cpp_adblock_menu.ini
Hmm, no wszystko wygląda poprawnie...
Wejdź w terminalu do katalogu /home/piotr/cpp_adblock/, wykonaj polecenie "./cpp_adblock test" i sprawdź, czy się doda wpis "test" do adblock.css, a jak nie, to czy pojawią się jakieś komunikaty.
[piotr@Piotr-Linux cpp_adblock]$ ./cpp_adblock test ./cpp_adblock: error while loading shared libraries: libstdc++-libc6.2-2.so.3: cannot open shared object file: No such file or directory
Gdy wpisałem urpmi to wyskoczyło takie coś:
[root@Piotr-Linux cpp_adblock]# urpmi libstdc brak pakietu o nazwie libstdc Następujące pakiety zawierają libstdc: libstdc++2.10 libstdc++2.10-devel libstdc++5 libstdc++5-devel libstdc++5-static-devel libstdc++6 libstdc++6-devel libstdc++6-static-devel [root@Piotr-Linux cpp_adblock]# urpmi libc Zostaną zainstalowane następujące 2 pakiety w celu spełnienia zależności (1 MB): ld.so1-1.9.11-10mdk.i586 libc-base-5.3.12-39mdk.i586 W porządku? (T/n) n [root@Piotr-Linux cpp_adblock]#
Które z nich mam zainstalowac. Bo jeszcze nic nie zaistalowalem
O kurcze...
To znalazłem: http://rpm.pbone.net/index.php3/stat/4/idpl/2364282/com/libstdc++2.10-2.96-0.83mdk.i586.rpm.html, powinno wystarczyć (czyli jest to ten pierwszy pakiet - libstdc++2.10).
SZYK dziekuję! Wreszcie działa!.
Naprawde Jesteś WIELKI!
Teraz pozostała mi nauka obsługiwania tego Nie znacie może jakiś tutoriali albo spisu??
P.S. Mam problem otóz ten bloker nawet nie działa :|. Jak klikam na jakiś normalny obrazek block this image to rrestartuje opere to nawet nie blokuje go... Wciąż się wyświetla...
Pojawia się w menu stylów (po naciśnięciu strzałeczki przy przycisku Tryb autorski/Tryb użytkownika, znajdującego się w "prawy klik na pasku narzędziowym"->Dostosuj->Przyciski->Widok strony lub menu Widok->Styl) "Adblock", a także "Overlay", jeśli go też dodawałeś?
Jeśli tak, to powinieneś mieć np. taką konfigurację: http://img58.echo.cx/img58/4569/preferencjeopcjetrybow8lx.png, wybrany tryb autorski oraz w menu stylów "zaptaszkowany" styl Adblock (Overlay nie, ponieważ zastępuje niektóre obiekty tekstem).
Jeśli następuje blokowanie przy użyciu filter.ini, to wtedy restart jest potrzebny, ale w przypadku dodawania wpisów do adblock.css blokowanie jest dokonywane od razu, nie potrzeba restartować Opery.
PS. Heh, nie spodziewałem się, że taki prosty plik może mieć jakieś zależności.
A tutorial nie powinien być potrzebny, wszystko jest w miarę intuicyjne.
Troszkę chaotycznie napisałeś czy chodzi Ci o to:[img]http://img447.imageshack.us/img447/7933/zrzutekranu33bp.th.gif
Tak mam ustawione w Narzędzia>Preferencje>Zawartośc> Opcje Stylów mam ustawione tak jak na obrazku, który mi dałeś a ściażka do arkusza stylów prowadzi do cpp_adblock.css.
Domyslny tryb wyświetlania : Autorski
Nierozumiem tego pytania
"Adblock", a także "Overlay", jeśli go też dodawałeś?Gdzie go miałem dodawać?
Do userstyle.ini, punkt 6 instrukcji.
Po naciśnięciu strzałeczki przy przycisku z wyborem trybów powinno to tak wyglądać: http://my.opera.com/szyk/homes/files/adblock_styl.png.
ściażka do arkusza stylów prowadzi do cpp_adblock.css.
Usuń ją, jest niepotrzebna (albo wskaż jakiś inny plik, jeśli w przyszłości będziesz chciał korzystać z arkusza stylów, a nie z osobnych "wyłączalnych" stylów).
PS. Ale teoretycznie, jeśli arkuszem stylów jest cpp_adblock.css, to wszystko powinno działać...
PS2. Nie zapomnij o punkcie 7 instrukcji, jeśli go jeszcze nie przerobiłeś.