Host Blocker! A C command line utility.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Jacob Windle 708278be7d
Merge branch 'feature/delete-host' of jacob.windle/hb into master
3 years ago
.gitignore First commit 4 years ago
CMakeLists.txt Working on linked list data structure for hosts. 4 years ago
Makefile Trying to fix the reading routine 4 years ago Documentation 3 years ago
linkedlist.c Created a "free_list" method to free up allocated memory. 3 years ago
linkedlist.h Created a "free_list" method to free up allocated memory. 3 years ago
main.c Small change to filemode 3 years ago


The Host Blocker command.

This is a system utility written in C that allows one to quickly black hole hosts in the /etc/hosts file, keeping one from resolving any DNS for those hosts and permanently blocking them on the system.

How it Works

The program "blackholes" hosts by setting their entries in /etc/hosts to be so that when one tries to resolve the host in the browser the host will resolve to

The program will wake up in a configurable timeframe continuously, reading a config file into memory and making appropriate changes to the /etc/hosts based on what it reads from the config.

Starting the program like this allows for the program to run as a daemon:

sudo hb -period <wakeup period> -config <path/to/config> -daemon

The config file at the moment is just a newline separated list of hosts that will be added to the /etc/hosts file.


I would like to get better with C, and will be using C much more in the near future. In addition, I have issues with browsing to sites that hurt my productivity and am always on the command line.


  • Debug logging
  • Systemd unit file for running as a daemon