A DNS based ad and malware URL blocker in Docker. It will manage the downloading and parsing of known ad and malware URLs from third party sources. Currently it blocks ~750k unique domains. It also has support for custom domain allow and deny lists.
To get started quickly, make sure you have Docker installed for your OS.
If you are running a Linux distro with systemd the install_dockerhole
script should get dockerhole installed and running for you without much hassle. To manually install you can follow these steps.
sudo docker build -t dockerhole -f Dockerfile .
sudo docker run --name dockerhole -d -v /sys/fs/cgroup:/sys/fs/cgroup:ro dockerhole /usr/lib/systemd/systemd
¯\_(ツ)_/¯
Todo.
bin/dockerhole
in something other than bash to speed up list parsing.I chose Fedora for the base image as I am most familiar with Red Hat based Linux distributions. It should be pretty easy to get working on Debian 8 or Ubuntu 15.04.
Not everyone hates the benevolent overlord known as PID 1. Systemd has everything needed to manage the dockerhole processes and systemd timers makes it easy trigger services to run even if your laptop has been sleeping for a few days.
I do most of my work on a laptop so an ad blocker that is tied to a single location such as Pi-Hole running on a Raspberry Pi at home doesn't really help keep ads off my browser. Also, some people don't use Chrome or Firefox so having an alternative method for blocking ads and malware domains is useful.
dockerhole was heavily inspired by the great Pi-Hole project. It was created and shoved into a docker container because I wanted to have better ad / malware blocking on my laptops while on the go.
I would also like to thank @mholt for his awesome Caddy Webserver.
The MIT License (MIT)
Copyright (c) 2016 Joe Doss