pixelserv-tls is a tiny bespoke HTTP/1.1 webserver with HTTPS and SNI support. It acts on behalf of hundreds of thousands of advert/tracker servers and responds to all requests with nothing to speed up web browsing.
pixelserv-tls supports TLSv1.0, TLSv1.2 and TLSv1.3 and thus could operate with a wide range of browsers and client devices. Server certificates for any given advert/tracker domains are generated automatically on first use and saved to disk.
pixelserv-tls can log access and HTTP/1.1 POST contents to syslog. So it is also a useful tool to inspect and expose 'wrongly blocked' domains as well as 'rogue' domains invading user privacy.
Build from source
This works on all Linux distributions and Linux-like environments such Homebrew for macOS and Cygwin for Windows.
autoreconf -i ./configure make install
Install on Entware
Binary packages are distributed by Entware. Beta version binaries during development are distributed from this GitHub repository.
opkg install pixelserv-tls
Install on Arch Linux
A package is available from Arch User Repository (AUR). This package works on all Arch Linux derived distributions such as Manjaro, Antergos and Chakra.
Pre-built binaries using
yay -S pixelserv-tls
Build from source package
git clone https://aur.archlinux.org/pixelserv-tls.git cd pixelserv-tls makepkg -si
Install on EdgeRouter X
See this installation guide. Or simply:
sudo -i cd /tmp curl -O https://raw.githubusercontent.com/kvic-z/goodies-edgemax/master/pixelserv-tls_2.2.1-1_mipsel.deb dpkg -i pixelserv-tls_2.2.1-1_mipsel.deb
The binary is built for and tested on EdgeOS v1.x. It's not tested on EdgeOS v2.x and most likely it won't be compatible.
Install on Homebrew (macOS) and Linuxbrew
brew install https://kazoo.ga/pixelserv-tls/pixelserv-tls.rb
Install as a Docker container
Install on Raspberry Pi
sudo -i cd /tmp curl -O https://raw.githubusercontent.com/jumpsmm7/pixelserv-tls_2.3.1-1_armhf.deb/master/pixelserv-tls_2.3.1-1_armhf.deb dpkg -i pixelserv-tls_2.3.1-1_armhf.deb
and follow the on-screen instructions.
pixelserv-tls <listening ip>
Check out the man page for customization and command line options.