dnscrypt-proxy (if you dont want anonymized DNS you can use servers with DoH support, like NextDNS): https://github.com/DNSCrypt/dnscrypt-proxy
WireguardVPN: https://www.wireguard.com/
Anonymized DNS (explanation, how to is in dnscrypt-proxy link): https://github.com/DNSCrypt/dnscrypt-protocol/blob/master/ANONYMIZED-DNSCRYPT.txt
PiHole adblocker: https://pi-hole.net/
All of this software is FOSS, and free as in freedom.