Magyar Opera

Adblock Updater Operához

Mark Gillespie írt egy kis programot, ami automatikusan frissíti Operában az urlfilter.ini-t azok kedvéért, akik megszokták ezt a funkciót Firefoxban.

A szoftver futtatásához szükséges minimum a .NET Framework 2.0 megléte a Windows-on.

Fontos tudnivalók:

A program 7 naponta frissíti az urlfilter.ini-t és értelemszerűen felülírja az egész fájlt. Tehát ha blokkolsz manuálisan, akkor azt is. De erre is gondolt a fejlesztő. Hozz létre a gyári urlfilter.ini mellett egy urlfilter.localuser nevű fájlt és ebbe írd bele a blokkolt címeket. Ezeket a címeket frissítésnél automatikusan hozzácsatolja az urlfilter.ini-hez, így a manuálisan blokkolt listád is megmarad.

Az Adblock Plus-hoz hasonlóan az automatikus frissítéseket csak újraindítás után tudja alkalmazni, de a függőben levő frissítésekkel az Opera következő újraindításakor automatikusan frissíti az urlfilter.ini-t.

Habár a kis programnak folyamatosan futni kell, de a memóriaigénye 5-600 kilobájt körül van.

A szerveroldali script forrása:

<?php $myFile = "urlfilter.ini"; if(strlen($_POST['addition']) > 1) { $fh = fopen($myFile, 'a') or die("can't open file"); fwrite($fh, "http://"); fwrite($fh, $_POST['addition']); fwrite($fh, "\r\n"); fclose($fh); } else { echo "<script>alert('Twat Alert!');</script>"; } ?> URLFilter Submission Form <form action="<?php echo $PHP_SELF;?>"" method="post"> <LABEL for="firstname">http://</LABEL> <input type="text" name="addition" /> <input type="submit" /> </form>

Adblock Updater letöltése

A bejegyzés trackback címe:

https://magyaropera.blog.hu/api/trackback/id/tr102173203

Trackbackek, pingbackek:

Trackback: Adblock Updater Operához 2010.07.25. 07:28:34

Mark Gillespie írt egy kis programot , ami automatikusan frissíti Operában az urlfilter.ini-t azok kedvéért, akik megszokták ezt a funkciót Firefoxban. A szoftver futtatásához szükséges minimum a .NET Framework 2.0 megléte a Windows-on.

Kommentek:

A hozzászólások a vonatkozó jogszabályok  értelmében felhasználói tartalomnak minősülnek, értük a szolgáltatás technikai  üzemeltetője semmilyen felelősséget nem vállal, azokat nem ellenőrzi. Kifogás esetén forduljon a blog szerkesztőjéhez. Részletek a  Felhasználási feltételekben és az adatvédelmi tájékoztatóban.

Zsüi_ 2010.07.24. 19:34:19

Csak egy kérdés: elméletben lehetséges olyan unite alkalmazást írni ami ugyanezt megcsinálja? (a .net framework ugyan már minden winben ott van, de picit túlzásnak érzem a szükségességét, és a linuxokban szerintem nincs alapból fent, ezért pedig nem is fogják feltenni)

penge™ · http://www.thevenusproject.com/ 2010.07.24. 21:36:37

@Zsüi_: Bár nem értek a Unite App-ok programozásához, de szerintem technikai akadálya nem lenne, elvégre képesek fájlokat írni/felülírni.

Hogy ez valós időben, restart nélkül megoldható lenne-e, az már kérdéses.

Ráadásul másik fájl sem kéne, mert JavaScripttel össze tudná hasonlítani a két fájl konzisztenciáját és hozzá tudná esetleg venni még a szerveren lévő egy korábbi verzióét. Aztán

1: Ami a korábbi verzióban volt, de a jelenlegiben nincs azt kivenné a kliensoldali fájlból.
2: Ami a korábbi verzióban és a jelenlegiben sincs, azt meghagyná, mivel az értelemszerűen saját bejegyzés.
3: Az új bejegyzésekkel frissítené a meglévőt.

Majd végrehajtana egy második ellenőrzést, hogy a saját bejegyzések a szerveren lévő bejegyzésekkel nem-e fedik egymást és beállítástól (szerveroldali, vagy kliensoldali legyen priorizálva) függően járna el.

Mivel nincs semmilyen sorbarendezés az urlfilterben, így automatikusan alulra vagy felülre pakolhatná a saját bejegyzéseket, hogy jól elkülönüljenek. De lehetne választani akár ABC sorrendet is és egy harmadik ellenőrzőfájl közbeiktatásával akár egy komplexebb dátum szerinti sorbarendezést is.

Viszont a legegyszerűbb szerintem az lenne, ha végre normálisan megcsinálnák és lenne fehérlista. De jelenleg még a KIOSK módban használatos fehérlista (vagyis a "priorize excludelist") is bugos 10.5x-től.

Így viszont nem lesz Opera a webterminálokon. :D

A másik: Ha valós időben hozzá lehet adni Operán belül, akkor miért kell restartolgatni? Ugyanez vonatkozik a többi ini-re is (azok kivételével, amiből többet létre lehet hozni és ezáltal trükközni oda-vissza váltásokkal).

Ha megváltoztatom a Target Destination-t, vagy beállítok állandó Quirks/Standards módot egy adott oldalhoz az override.ini-ben, akkor miért kell újraindítanom, mikor a böngésző képes rá, hogy valós időben írja a fájlt (oldalspecifikus beállítások)? Igazán lehetne egy reload parancs hozzá, mint a skinekhez, vagy a CSS-hez. (Valamint hozzáadhatnák az összes operaprefs-es beállítást, de ez már egy másik történet).

penge™ · http://www.thevenusproject.com/ 2010.07.24. 21:38:15

Ja, majd elfelejtettem, kéne neki egyéni hash-t generálni minden egyes userhez és annak minden egyes egyéni bejegyzéséhez, különben pár frissítés után káosz lenne.

Zsüi_ 2010.07.24. 22:16:39

@penge™: Szerintem az újraindításosdinak az az oka, hogy védi a fájljait, illetve kilépéskor lementi a dolgokat. Ha kilépéskor ráment, akkor nyilván kárba vész amit beleirkáltál. Ezt persze lehet máshogy is, de jelenleg ez a módi.

Teddy Beer 2010.07.24. 22:51:09

A hordozható verziókba bekerül majd ez?

Zsüi_ 2010.07.24. 22:54:00

@Teddy Beer: épp azt beszéltük, hogy ez egy külön program, így szerintem nem lehet beletenni a hordozhatóba. Esetleg ha telepítés nélkül fut, akkor a zip-be bepakolni egy könyvtárba..

HelloWorld 2010.07.24. 23:03:17

@penge™: A JavaScript alapból nem tud fájlokat írni/olvasni, csak bizonyos konkrét esetekben (pl. a Windows Scripting Host filesystem objektumával, IE alatt ActiveX vezérlővel), és nem is hiszem, hogy Opera alatt tudna a JS fájlokat kezelni.

Mondjuk natív kódra át lehetne írni a progit, hogy ne kelljen már .net hozzá.

Baldric2 2010.07.24. 23:15:30

@HelloWorld: A unite szerver oldali nyelvként használja a JavaScriptet, így képes a fájlok írására, és egyéb műveletekre is.

Nameless® · http://dirtywindows.hu/ 2010.07.25. 00:23:25

Ezt is megéltük. :D:D Egyre jobb az Opera ellátottsága, van már szürcs suggestion, automatán frissített adblock, meg ezerfélre user js. :D:D mi kell még? A 10.60 elég stabil, és hibamentes.. most kivételesen nem várom az updatet.

ytg 2010.07.25. 08:59:03

én csak azt szeretném ha az Opera Link szinkronizálná a blokkolási listáimat. (és Linux alatt gondolom úgyis problémás egy ilyen .NET-es vacak, meg sem próbálom.)

knorbert 2010.07.25. 11:25:54

"Habár a kis programnak folyamatosan futni kell, de a memóriaigénye 5-600 kilobájt körül van."
itt kezd viccessé válni az alábbi érvelés az Opera mellett: azért nincsenek hozzá pluginok, mert szinte minden alapból be van építve, külön semmit sem kell futtatni. Értem én, hogy csak 5-600k memóriát foglal, de az elv... Főleg, hogy van beépített reklámblokkoló, akkor ez csak azért fut folyamatosan, hogy majd egyszer x naponta elindítsa a frissítést? Akkor inkább írja be magát a windows feladatütemezőjébe mint ezernyi más program, és akkor majd a windows elindítja ha kell, és akkor fog csak futni, csak akkor. A másik, ami vicces, hogy ez a folyamatosan futó program nem tudja megoldani, hogy ne lecserélje, hanem csak update-elje, összefésülje a listákat...
Ja, és a dotNet megoldás is ökörség...

penge™ · http://www.thevenusproject.com/ 2010.07.25. 12:15:31

@knor: Milyen elv? Ne szórakozzunk már.

Én már tényleg blokkolom a reklámokat, mert idegesítenek, de elismerem, hogy a tartalomszolgáltató/weboldal ebből él. Tehát nem várom el, hogy az etikátlan cselekedetem miatt valaki saját pénzből szervert üzemeltessen, ami majd frissíti nekem és rajtam kívül több százezer felhasználónak a listáját.

Ez az Opera álláspontja is. A lehetőség megvan, hogy blokkolj, de ne várd már el, hogy még saját szervert is üzemeltessenek ehhez az erősen vitatott, illegalitás határát súroló tevékenységhez. Nekik kell felelniük a bíróságon, ha valami Rupert Murdoch típusú állat bepereli őket, nem a felhasználóknak.

A Mozilla szerinted miért nem építi be gyárilag? A többi böngészőgyártó szerinted miért implementál (többek között) addon API-t? Azért, mert nekik polkorrektnek kell maradni. Egy third-party fejlesztőt nehezebb utolérni. Ezért van az, hogy az IE8-ban is üres a reklámszűrő, holott olyan fejlett XML API van hozzá, hogy RSS elven frissülhetne a listája. Operában is ezért üres gyárilag a reklámblokkoló. Mikor csináltak hozzá GUI-t, akkor még Adblock Plus sehol nem volt, a legtöbben sima Adblock-ot használtak frissítés nélkül. Utána jelent meg a Filterset G. és azt összemosták az Adblock Plus-szal. Majd végül lett Element Hider is.

Opera 7.5-től lehetett filter.ini-vel blokkolni, e köré írtak egy GUI-t a 9-esben. Azóta nem foglalkoztak vele.

Most Mark Gillespie írt egyet, de mivel a fejlettebb változatát, ami több profilt kezel pénzért adja, így értelemszerűen referenciából tette mindezt, nem pedig azért, mert annyira szívén viseli a reklámblokkolók sorsát. Ő tud programozni és ami eddig nem volt megcsinálta. Ha tudna C++-ban is programozni, akkor valószínűleg abban írta volna meg, de bonyolultabb nyelv, mint a .NET

Beírhatná magát a feladatütemezőbe is, ahogy te is megteheted ugyanezt, hogy fusson 10 percig és álljon le, majd 1 hét múlva megint.

A lecserélést már fentebb leírtuk, nem a program nem tudja megoldani, hanem az Opera nem tudja olvasni a fájlban KÜLSŐLEG végzett módosításokat a következő újraindításig.

Ahhoz meg egyéni hash-t kéne generálnia a szervernek minden kliens (ergo, mivel az IP megoldhatatlan, így regisztrációhoz lenne kötve) minden egyes saját bejegyzéséhez, hogy ez működjön, mert különben a szerveren lévő fájlok összes változásával össze kéne egyeztetni a kliensoldali fájlt, hogy

1: Ne csapjon ki olyan bejegyzést, amit te hoztál létre.
2: Ne hozzon vissza olyan bejegyzést, amit direkt töröltél, mert problémát okozott valamelyik oldalon.
3: Ne írjon felül egy saját erősebb vagy gyengébb szűrést a gyárival, ha a kettő részben fedi egymást, mert lehet, hogy nem véletlenül hoztad létre.

Nameless® · http://dirtywindows.hu/ 2010.07.25. 12:21:57

A legegyszerűbb egy Unite alkalmazás lenne, vagy egy Widget.

Megírná Unite alkalmazásába, az menne minden Operába, és ha Online vagy akkor bármikor frissülhetne.

penge™ · http://www.thevenusproject.com/ 2010.07.25. 12:31:20

@Namelesske: A legegyszerűbb az lenne, hogy ha végre javítanák a Unite létezése óta létező bugot, hogy ha a "Global visibility options" ki van lőve, akkor NE LÁTSZÓDJON, tehát csak localhost működjön.

Így ha olyanokat futtatsz, mint UJS Manager, amikkel nem akarsz megosztani semmit, csak te magad használni, akkor nem üzemel szerverként a nap 24 órájában (vagy amíg fut az Opera).

Baldric2 2010.07.25. 12:53:27

Én nem is értem miért hiányzik ennyire sokaknak egy nagy méretű lista. Én egyszer beleírtam pár általános feltételt, amik sok esetben szűrnek, és ezen felül csak a gyakran látogatott oldalakon szűröm a reklámokat, ettől függetlenül máshol sem jellemző hogy zavaró reklámokba botlanék, de nem is érdekel ha egy olyan oldalon van egy apró reklám amit csak életemben egyszer látok.

penge™ · http://www.thevenusproject.com/ 2010.07.25. 13:08:52

@Baldric2: Placebo hatás.

És persze olyanok is vannak, akik nem piszkítják be a kezüket holmi reklámblokkolással. :D

Vagy csak nem hallottak még a csillagról és tényleg heteken át tartó tortúra, míg mindent leblokkolnak.

Amúgy tényleg hülyeség.

Lehet, hogy többet nyersz az oldalbetöltődésen azért, mert nincsenek reklámok, mint amit veszítesz azzal, amennyit lassít, de lassít. Ráadásul nem tudod miket blokkol. Lehet, hogy egy oldal amiatt igénytelen, amiatt hiányoznak olyan elemek, amiknek a létezéséről nem is tudsz (például keresődoboz, vagy háttér, vagy akármi), mert beleesett a szűrésbe.

Plusz mivel elég kevés magyar van közöttük, így nem is látják át az egész webet.

Például Adblock Plus mellett még blokkolnom kell a magyar oldalak 90%-án.

penge™ · http://www.thevenusproject.com/ 2010.07.25. 13:28:15

Ja, majd elfelejtettem, a My Operától minden tag kap 2 gigás tárhelyet. Feltolod az urlfilter.ini-t és megvan a fájl.

Zsüi_ 2010.07.25. 13:35:10

@penge™: És ráadásul elrontja a statisztikákat, mert nem számolja a böngészőt, bizonyos oldalakat pedig nem tölt be, ha pont beleesik az url a tiltott tartományba. Ilyenbe pedig könnyen beleszalad az ember, ha előre gyártott listája van. Aztán jön a user, hogy Operában nem működik a statisztika oldal..

Nameless® · http://dirtywindows.hu/ 2010.07.25. 15:24:00

Nekem a reklám blockolásra van egy ultimate megoldásom, nem szarakodok semmmiféle listákkal:

noob.hu/2010/07/25/nah.PNG

Zsüi_ 2010.07.25. 23:18:18

Elkezdtem írni egy unite app-ot, hátha összejön valami, de pillanatnyilag elakadtam. Ha valaki esetleg tudja, hogyan tudok url-ből fájlt megnyitni unite-tal, akkor megköszönöm a segítséget.

Ómájgád 2010.07.25. 23:27:48

Valamelyest korrekt a Safari megoldása: betölt mindent, de elolvashatod Reader üzemmódban a cikkeket.

penge™ · http://www.thevenusproject.com/ 2010.07.25. 23:39:58

@Zsüi_: Ha valamennyit tudsz angolul, akkor itt szerintem hamarabb kapsz segítséget: my.opera.com/community/forums/forum.dml?id=15515

Tudtommal magyar fejlesztő még nem írt Hello World-öt sem Unite-ban.

@Ómájgád: Mi az akadálya, hogy bárki, aki ért a CSS-hez írjon egy olyan userCSS-t, ami ugyanazt csinálja, mint a reader?

Mondjuk az Opera nem támogat olyanokat, mint article element és hasonlók (lásd: beta.html5test.com/ ), de azon kívül például a két "High Contrast" gyári userCSS is egész jó olvashatóságot biztosít a legtöbb hírportálon.

Baldric2 2010.07.26. 00:06:09

@Ómájgád: A reader üzemmódhoz hasonló hatást el lehet érni minden böngészőben ezzel a bookmarklettel: lab.arc90.com/experiments/readability/

Ómájgád 2010.07.26. 11:03:18

@Baldric2: ismerem a Readability-t fenn is van az Operámon. Időnként nem a cikket mutatja, hanem a júzerkommenteket :), és nem lehet abban a formában elmenteni, de alapvetően jó.

@penge™: van is már ilyen :), lásd fentebb, csak a Safari-ban benne van fícsörként, nem kell buherálni.

Szerintetek meg lehet oldani valahogy CSS-ben, hogy el lehessen menteni a generált, lecsupaszított oldalt mht-be?

penge™ · http://www.thevenusproject.com/ 2010.07.26. 11:53:39

@Ómájgád: A gombot ismerem, de épp ez a gond, hogy sok oldalon nem működik.

CSS-vel nem lehet az oldalt lecsupaszítani. Csak te nem látod azokat a DIV-eket, amik a { display: none !important } alá esnek, de a forráskódban még benne maradnak.

A CSS csak stíluslap, tehát a forráskódot nem tudja módosítani, csak manipulálni a kinézetét, amit látsz a szerzői nézetben.