Skip to content
Create Little Snitch rule group from list of hostnames
Branch: master
Clone or download
Type Name Latest commit message Commit time
Failed to load latest commit information.
docs add note about updating files. Apr 10, 2019
website clean up branches Apr 9, 2019
.gitignore switch to vanilla bootstrap theme Mar 7, 2019
.gitmodules collapse gh-pages branch into master/docs Apr 9, 2019
LICENSE Create LICENSE Mar 7, 2019 add note about updating files. Apr 10, 2019 reduce noise Mar 7, 2019 make the update script location-independent Apr 9, 2019


Generate a rule group for Little Snitch from one of Steven Black's host blocklists.

We assume the raw host file takes the following form:

# Comment lines normal.hosts

# Blacklist hosts start

# More blacklist hosts

All blacklist hosts have the IP address The script parses out the hostnames and adds them to a JSON template representing the Little Snitch rule group. This is written to stdout.

The template looks like this:

  "description" : "Generated from $URL",
  "name" : "$NAME",
  "denied-remote-hosts" : [



Environment variables

The following environment variables affect the behaviour of snitcher:

  • URL: the source URL, which should produce what looks like a regular UNIX hosts file. Defaults to
  • NAME: the name for this rule group. Defaults to Steven Black.

Generating multiple rules files

The website in the docs/ directory is hosted on GitHub at The rules files are hosted on a different server so they can be dynamically updated. The script rebuilds these files every day based on a cron job.

You can’t perform that action at this time.