[qutebrowser] Extend ad blocking to allow single URL blocking.

Florian Bruhin me at the-compiler.org
Sun Nov 4 18:23:23 CET 2018

On Sun, Nov 04, 2018 at 07:16:45PM +0200, Viacheslav Chimishuk wrote:
> > > I propose to treat `~` prefix as a substring instead of domain
> > > name. For example, next file parses to substrings list.
> >
> > Again, use URL patterns. I will not accept any contributions inventing
> > yet another URL format, no matter how simple. Let's be consistent with
> > what the rest of qutebrowser uses. With URL patterns, I think they
> > should even be backwards-compatible with the "one host per line" format.
> I guess implementing Chrome's URL patter syntax here can be harder to
> implement. Ok, I'll try to implement it the way you proposed.

It's as simple as "urlmatch.UrlPattern(pattern).matches(url)".

> Simple domain name is not compatible with pattern syntax -- it
> requires scheme and path parts. In this case we need to treat foo.com
> as *://foo.com/*

qutebrowser's UrlPattern lifts that restriction, so you can also easily
do ":set -u foo.com content.javascript.enabled true" for example. It
assumes * for empty parts by default.

> > > > Note that I'm busy with university work on qutebrowser at least until
> > > > christmas, so my time to look at PRs is quite limited currently:
> > > > https://lists.schokokeks.org/pipermail/qutebrowser-announce/2018-September/000051.html
> > > > https://lists.schokokeks.org/pipermail/qutebrowser-announce/2018-October/000053.html
> > >
> > > Yeah... Maybe other people can help you with that and accept PRs? :) I
> > > can see Jay Kamat is very active in the project. In this case QB can
> > > progress and grow faster.
> >
> > That's already the case, but it won't change that there'll be conflicts
> > when I'm refactoring things (like moving the adblocker to a plugin)
> > while people are contributing stuff. I won't be able to accommodate for
> > that.
> I thought that adblock will be moved outside the core later, after
> plugins support will be finished. Like you introduce plugin support
> and after extract existing core parts (which you want to be a plugin)
> one by one.

Extracting core code is part of the university project work. It'll be
done before the plugin API gets opened for external third-party plugins,
so it sees some actual usage first.


https://www.qutebrowser.org | me at the-compiler.org (Mail/XMPP)
   GPG: 916E B0C8 FD55 A072 | https://the-compiler.org/pubkey.asc
         I love long mails! | https://email.is-not-s.ms/
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 833 bytes
Desc: not available
URL: <https://listi.jpberlin.de/pipermail/qutebrowser/attachments/20181104/0014550e/attachment.asc>

More information about the qutebrowser mailing list