diff --git a/.gitignore b/.gitignore index d7004daeb..c21ae5225 100644 --- a/.gitignore +++ b/.gitignore @@ -1,4 +1,5 @@ myhosts +blacklist whitelist readmeData.json hosts-* diff --git a/blacklist b/blacklist new file mode 100644 index 000000000..bead173fb --- /dev/null +++ b/blacklist @@ -0,0 +1,8 @@ +# blacklist +# +# The contents of this file (containing a listing of additional domains in +# 'hosts' file format) are appended to the unified hosts file during the +# update process. For example, uncomment the following line to block +# 'example.com': + +# 0.0.0.0 example.com diff --git a/readme.md b/readme.md index 45593c776..0a91d6b0c 100644 --- a/readme.md +++ b/readme.md @@ -93,6 +93,13 @@ Add one or more *additional* sources, each in a subfolder of the `data/` folder Add one or more *optional* extensions, which originate from subfolders of the `extensions/` folder. Again the url in `update.info` controls where this extension finds its updates. +Create an *optional* `blacklist` file. The contents of this file (containing a listing of additional domains in +`hosts` file format) are appended to the unified hosts file during the update process. A sample `blacklist` is +included, and may be modified as you desire. + + * NOTE: The `blacklist` is not tracked by git, so any changes you make won't be overridden when you `git pull` + this repo from `origin` in the future. + ### How do I include my own custom domain mappings? If you have custom hosts records, place them in file `myhosts`. The contents of this file are prepended to the diff --git a/readme_template.md b/readme_template.md index 199f60d32..d1e99b015 100644 --- a/readme_template.md +++ b/readme_template.md @@ -85,6 +85,13 @@ Add one or more *additional* sources, each in a subfolder of the `data/` folder Add one or more *optional* extensions, which originate from subfolders of the `extensions/` folder. Again the url in `update.info` controls where this extension finds its updates. +Create an *optional* `blacklist` file. The contents of this file (containing a listing of additional domains in +`hosts` file format) are appended to the unified hosts file during the update process. A sample `blacklist` is +included, and may be modified as you desire. + + * NOTE: The `blacklist` is not tracked by git, so any changes you make won't be overridden when you `git pull` + this repo from `origin` in the future. + ### How do I include my own custom domain mappings? If you have custom hosts records, place them in file `myhosts`. The contents of this file are prepended to the diff --git a/updateHostsFile.py b/updateHostsFile.py index 975e71c14..eeb613e2a 100644 --- a/updateHostsFile.py +++ b/updateHostsFile.py @@ -96,6 +96,7 @@ defaults = { "exclusionregexs" : [], "exclusions" : [], "commonexclusions" : ["hulu.com"], + "blacklistfile" : os.path.join(BASEDIR_PATH, "blacklist"), "whitelistfile" : os.path.join(BASEDIR_PATH, "whitelist")} def main(): @@ -300,6 +301,11 @@ def createInitialFile(): #Done in a cross-python way writeData(mergeFile, curFile.read()) + if os.path.isfile(settings["blacklistfile"]): + with open(settings["blacklistfile"], "r") as curFile: + #Done in a cross-python way + writeData(mergeFile, curFile.read()) + return mergeFile def removeDupsAndExcl(mergeFile):