An adblock extension for wyeb, also webkit2gtk browsers.
Go to file
2018-05-21 19:57:05 +09:00
PKGBUILDs/vimb Add a PKGBUILD for vimb 2018-01-03 12:49:30 +09:00
.gitignore Change to use shared process 2018-05-20 00:51:50 +09:00
COPYING First commit 2017-07-17 17:21:10 +09:00
ephy-uri-tester.c Add a capability what disabling adblock at runtime 2018-05-21 19:56:11 +09:00
ephy-uri-tester.h Sync ephy's source 2018-05-20 17:09:37 +09:00
makefile Update makefile 2018-05-20 14:48:42 +09:00
PKGBUILD Add make clean 2018-04-26 23:44:56 +09:00
README.md Fix readme 2018-05-21 19:57:05 +09:00
wyebrun.c Add # to debug msg 2018-05-20 13:17:11 +09:00
wyebrun.h Minor fixs 2018-05-21 00:29:10 +09:00

wyebadblock

An adblock extension for wyeb, also webkit2gtk browsers.

most of code of this are from https://github.com/GNOME/epiphany/tree/master/embed/web-extension

wyebad is shared by clients, So even nowadays, browsers spawn procs for each windows, wyebad keeps single server proc that makes less memory and less cpu times. Don't worry, wyeb wills quit automatically when there is no client and 30 secs past.

For exsample, while epiphay's webproc uses 240M RAM for a page, wyeb uses 160M for the same page. Of course the adblock uses 80M but not gain.

usage:

make
sudo make install

then copy easylist.txt to ~/.config/wyebadblock/

wyebadblock only checks 'easylist.txt'

Testing element hiding is not supported though, You can check if it works on http://simple-adblock.com/faq/testing-your-adblocker/

Disabling

Setting chars(whatever) to the env value $DISABLE_ADBLOCK disables adblock.

For source code: set string "adblock:false;" as the user data of the webkit_web_context_set_web_extensions_initialization_user_data;

Runtime:

g_object_set_data(G_OBJECT(webkitwebpage), "adblock", GINT_TO_POINTER('n'));

in any extension.


For webkit2gtk browsers

On Arch Linux

epiphany

sudo ln -s /usr/lib/wyebrowser/adblock.so /usr/lib64/epiphany/web-extensions

This lacks epiphany's functionalities about adblock (e.g. can't disable), but saves RAM and CPU. Make sure while you keep enable epiphany's one, it is working too.

surf

sudo mkdir usr/local/lib/surf
sudo ln -s /usr/lib/wyebrowser/adblock.so /usr/local/lib/surf

See vimb below to manage the link by pacman

vimb

sudo ln -s /usr/lib/wyebrowser/adblock.so /usr/lib/vimb

There is a PKGBUILD file. see the 'PKGBULDs' dir.

luakit

sudo ln -s /usr/lib/wyebrowser/adblock.so /lib/luakit

lariza

mkdir -p ~/.config/lariza/web_extensions
ln -s /usr/lib/wyebrowser/adblock.so ~/.config/lariza/web_extensions

Others

webkit2gtk loads extensions in a dir designated by each apps. So we have to know which dir is the dir.

search 'webkit_web_context_set_web_extensions_directory' in source code and make link from the dir to the wyebadblock as above.


Element Hiding

Per domain CSS hider rule is not supported

wyebab -css > user.css

And add the user.css to your browser as user css. For wyeb, just copy the user.css to the conf dir.

Make sure the huge css takes mamory a lot.

Shell

wyebab

Reads stdin outputs to stdout. blank + enter quits.

wyebab requst_uri + ' ' + page_uri

Outputs result and Keeps server 30 sec