/urlfilter

AdGuard content blocking library in golang

Primary LanguageGoGNU General Public License v3.0GPL-3.0

Build Status Code Coverage Go Report Card GolangCI Go Doc

AdGuard content blocking library

Pure GO library that implements AdGuard filtering rules syntax.

You can learn more about AdGuard filtering rules syntax from this article.

TODO:

  • Basic filtering rules
    • Core blocking syntax
    • Basic engine
    • Basic rules validation (don't match everything, unexpected modifiers, etc)
  • Benchmark basic rules matching
  • Hosts matching rules
    • /etc/hosts matching
  • Memory optimization
  • Tech document
  • Cosmetic rules
    • Basic element hiding and CSS rules
      • Proper CSS rules validation
    • ExtCSS rules
    • Scriptlet rules
    • JS rules
  • Basic filtering engine implementation
    • Handling cosmetic modifiers $elemhide, $generichide, $jsinject
    • Advanced modifiers part 1
      • $important
      • $badfilter
    • mitm proxy example
  • HTML filtering rules
  • Advanced modifiers part 2
    • $replace
    • $csp
    • $cookie
    • $redirect

How to use

TODO