EasyList-Based proxy.pac PAC File for Tracker and Adblocking

General information, announcements and questions about the EasyList subscriptions.

Moderator: EasyList authors

Post Reply
essandess
New Member
New Member
Posts: 2
Joined: Thu Jun 22, 2017 9:37 pm
Reputation: 2

EasyList-Based proxy.pac PAC File for Tracker and Adblocking

Post by essandess » Fri Jun 23, 2017 12:45 am

Modern JavaScript interpreters and mobile device CPUs have become powerful enough now to implement large-scale EasyList tracker and ad locking blocking in a proxy.pac file.

I just posted an EasyList to proxy.pac converter at the GitHub repo easylist-pac-privoxy.

This EasyList-based proxy.pac file is the largest and and most comprehensive I've seen (over 18k rules), including from apps that implement blocking this way.

The simplest way to use this proxy.pac is to set your Proxy Auto Configuration URL to

https://raw.githubusercontent.com/essan ... /proxy.pac

I utilized highly efficient hash lookups and efficient NFA regular expressions for a wide variety of EasyList rules, including wildcards and anchors.

The resulting proxy.pac file runs easily on earlier generation iOS devices, and I observe it to be a highly effective blocker.

JavaScript and mobile devices to not currently support the full EasyList rule sets, but this represents a significant fraction of tracker and adblocking rules that can easily be supplemented. Comments and issues are welcome at GitHub.

essandess
New Member
New Member
Posts: 2
Joined: Thu Jun 22, 2017 9:37 pm
Reputation: 2

Post by essandess » Mon Jul 24, 2017 2:03 am

I've updated this to include a forked adblock2privoxy repo with updates to the latest compiler and modules, along with a few optimizations.

This provides tracker and ad blocking at the kernel and network layers using the EasyList blocking rulesets used by client-based browser plugins. This proxy configuration provides EasyList blocking rules for all devices on the LAN or VPN, beyond the capabilities of client-specific plugins.

A combination of a proxy.pac file with Privoxy and a webserver for CSS rules that perform element blocking is used to implement all the features of EasyList blocking rules.

Blocking capability Browser Plugin proxy.pac Privoxy Privoxy+CSS
EasyList regex rules ✅ ✅ ✅ ✅
EasyList element hiding ✅ ❌ ❌ ✅
HTTP ✅ ✅ ✅ ✅
HTTPS ✅ ✅ ❌ ❌
Client-level ✅ ✅ ✅ ✅
Kernel-level ❌ ✅ ✅ ✅
Network-level ❌ ✅ ✅ ✅
Large rulesets ✅ ❌ ✅ ✅

Post Reply