Skip to content

stream009/libadblock

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

libadblock

  • ADBlock engine library implemented with C++
  • Adblock Plus (https://adblockplus.org/) compatible
  • build as shared library that expose C API

motivation

Adblock is a rather complicated component in the web browser and naive implementation will incur startup delay and high runtime memory usage. I wanted more efficient one for my own use. I originally wrote it as building block of Qupzilla's additional plugin. Eventually I graduate Qupzilla and it become component of my own QtWebEngine base browser. Currently it is used as an component of adblockd.

functionality

provided

  • parsing filter file
  • build database
  • respond to the query from client

NOT provided (should be done by the client)

  • actual blocking request/content
  • updating filter file from the Internet
  • editing custom filter list
  • UI

API

see api.h

build

requirement

  • C++17 compiler
  • boost
  • cmake

typical instruction

$ mkdir release
$ cd release
$ cmake -DBUILD_TYPE=Release ../src
$ make -j4