Proxy is simple HTTP proxy server. It supports basic proxy authentication and a domain blacklist (for blocking ads).
Click here to download the zip file containing binaries for the following platforms:
proxy 7000 -a aaron:iscool -l list.txt
This uses the blacklist defined in "list.txt". To login use, username "aaron" and password "iscool".
The recommended way to test this is using Firefox because it is the only browser that lets you set a proxy separate from the system proxy. (This way only your connections within Firefox are proxied, not all connections on your computer).
In Firefox, go to Preferences → Network Settings → Settings... → Manual Proxy Configuration → HTTP Proxy. Set the server to "localhost" (or the IP of your cloud VM) and the port to 7000 (if using cloud VM, make sure port is open in firewall).
USAGE: proxy [port] -a [username:password] -l [blacklist] WHERE: -[port] is the port -if -a is set, [username:password] are the credentials for basic proxy authentication -if -l is set, [blacklist] is a text file containing a list of domains to block, one per line
A domain blacklist is just a text file containing a list of domains, one per line. The recommended way to generate one is to use EasyList:
curl 'https://easylist.to/easylist/easylist.txt' | grep -o '^||.*\^' | sed 's/[|^]//g' > list.txt
This downloads EasyList, extracts the domains, strips the special characters, and saves the results as "list.txt".