Improve your security and privacy by blocking ads, tracking and malware domains.
hBlock is a POSIX-compliant shell script that gets a list of domains that serve ads, tracking scripts and malware from multiple sources and creates a hosts file, among other formats, that prevents your system from connecting to them.
hBlock is available in various package managers. Please check the PACKAGES.md file for an up-to-date list.
The latest available version can also be installed manually by running the following commands:
curl -o /tmp/hblock 'https://raw.githubusercontent.com/hectorm/hblock/v3.4.4/hblock' \
&& echo '7ad94c8525e6076c56b9209ed73d132b8b9600a2e5e9738b3cdc02839d6d4215 /tmp/hblock' | shasum -c \
&& sudo mv /tmp/hblock /usr/local/bin/hblock \
&& sudo chown 0:0 /usr/local/bin/hblock \
&& sudo chmod 755 /usr/local/bin/hblock
Additionally, a systemd timer can be set to regularly update the hosts file for new additions.
The default behavior of hBlock can be adjusted with multiple options. Use the --help
option or check the hblock.1.md file for the
full list.
Nightly builds of the hosts file, among other formats, can be found on the hBlock website.
Sometimes you may need to temporarily disable hBlock, a quick option is to generate a hosts file without any blocked domains by running the following command:
hblock -S none -D none
It's possible that sometimes one of the hBlock sources includes a domain that shouldn't be blocked, in those cases the best way to proceed is to temporarily add said domain to the allowlist and report the problem to the original blocklist author. This way it will also be automatically removed from hBlock within 24h.
To find which blocklist is behind a false positive you can clone the hMirror project and search for that domain. Although please note that not all hMirror blocklists are used by default in hBlock, an updated list of the sources used can be found in the SOURCES.md file.