mirror of
https://github.com/StevenBlack/hosts.git
synced 2024-09-21 00:00:50 +02:00
661 lines
36 KiB
Markdown
661 lines
36 KiB
Markdown
**Take Note!**
|
||
|
||
With the exception of issues and PRs regarding changes to
|
||
`hosts/data/StevenBlack/hosts`, all other issues regarding the content of the
|
||
produced hosts files should be made with the appropriate data source that
|
||
contributed the content in question. The contact information for all of the data
|
||
sources can be found in the `hosts/data/` directory.
|
||
|
||
---
|
||
|
||
![Logo](https://raw.githubusercontent.com/StevenBlack/hosts/master/.github/logo.png)
|
||
|
||
[![latest release](https://img.shields.io/github/release/StevenBlack/hosts.svg)](https://github.com/StevenBlack/hosts/releases)
|
||
[![license](https://img.shields.io/github/license/StevenBlack/hosts.svg)](https://github.com/StevenBlack/hosts/blob/master/license.txt)
|
||
[![repo size](https://img.shields.io/github/repo-size/StevenBlack/hosts.svg)](https://github.com/StevenBlack/hosts)
|
||
[![contributors](https://img.shields.io/github/contributors/StevenBlack/hosts.svg)](https://github.com/StevenBlack/hosts/graphs/contributors)
|
||
[![Build Status](https://img.shields.io/github/workflow/status/StevenBlack/hosts/CI/master)](https://github.com/StevenBlack/hosts/actions?query=workflow%3ACI+branch%3Amaster)
|
||
[![Code style: black](https://img.shields.io/badge/code%20style-black-000000.svg)](https://github.com/python/black)
|
||
[![commits since last release](https://img.shields.io/github/commits-since/StevenBlack/hosts/latest.svg)](https://github.com/StevenBlack/hosts/commits/master)
|
||
[![last commit](https://img.shields.io/github/last-commit/StevenBlack/hosts.svg)](https://github.com/StevenBlack/hosts/commits/master)
|
||
[![commit activity](https://img.shields.io/github/commit-activity/y/StevenBlack/hosts.svg)](https://github.com/StevenBlack/hosts/commits/master)
|
||
|
||
# Unified hosts file with gambling extensions
|
||
|
||
This repository consolidates several reputable `hosts` files, and merges them
|
||
into a unified hosts file with duplicates removed. A variety of tailored hosts
|
||
files are provided.
|
||
|
||
**Therefore this repository is a hosts file aggregator.**
|
||
|
||
![Aggregator](https://raw.githubusercontent.com/StevenBlack/hosts/master/aggregator.png)
|
||
|
||
- Last updated: **August 03 2022**.
|
||
- Here's the
|
||
[raw hosts file with gambling extensions](https://raw.githubusercontent.com/StevenBlack/hosts/master/alternates/gambling/hosts)
|
||
containing 135,593 entries.
|
||
|
||
|
||
|
||
## List of all hosts file variants
|
||
|
||
This repository offers
|
||
[15 different host file variants](https://github.com/StevenBlack/hosts/tree/master/alternates),
|
||
in addition to the base variant.
|
||
|
||
The **Non GitHub mirror** is the link to use for some hosts file managers like
|
||
[Hostsman for Windows](https://www.abelhadigital.com/hostsman/) that don't work
|
||
with GitHub download links.
|
||
|
||
| Host file recipe | Readme | Raw hosts | Unique domains | Non GitHub mirror |
|
||
| ---------------- | :----: | :-------: | :------------: | :---------------: |
|
||
Unified hosts = **(adware + malware)** | [Readme](https://github.com/StevenBlack/hosts/blob/master/readme.md) | [link](https://raw.githubusercontent.com/StevenBlack/hosts/master/hosts) | 133,031 | [link](http://sbc.io/hosts/hosts)
|
||
Unified hosts **+ fakenews** | [Readme](https://github.com/StevenBlack/hosts/blob/master/alternates/fakenews/readme.md) | [link](https://raw.githubusercontent.com/StevenBlack/hosts/master/alternates/fakenews/hosts) | 135,226 | [link](http://sbc.io/hosts/alternates/fakenews/hosts)
|
||
Unified hosts **+ gambling** | [Readme](https://github.com/StevenBlack/hosts/blob/master/alternates/gambling/readme.md) | [link](https://raw.githubusercontent.com/StevenBlack/hosts/master/alternates/gambling/hosts) | 135,593 | [link](http://sbc.io/hosts/alternates/gambling/hosts)
|
||
Unified hosts **+ porn** | [Readme](https://github.com/StevenBlack/hosts/blob/master/alternates/porn/readme.md) | [link](https://raw.githubusercontent.com/StevenBlack/hosts/master/alternates/porn/hosts) | 176,426 | [link](http://sbc.io/hosts/alternates/porn/hosts)
|
||
Unified hosts **+ social** | [Readme](https://github.com/StevenBlack/hosts/blob/master/alternates/social/readme.md) | [link](https://raw.githubusercontent.com/StevenBlack/hosts/master/alternates/social/hosts) | 135,857 | [link](http://sbc.io/hosts/alternates/social/hosts)
|
||
Unified hosts **+ fakenews + gambling** | [Readme](https://github.com/StevenBlack/hosts/blob/master/alternates/fakenews-gambling/readme.md) | [link](https://raw.githubusercontent.com/StevenBlack/hosts/master/alternates/fakenews-gambling/hosts) | 137,788 | [link](http://sbc.io/hosts/alternates/fakenews-gambling/hosts)
|
||
Unified hosts **+ fakenews + porn** | [Readme](https://github.com/StevenBlack/hosts/blob/master/alternates/fakenews-porn/readme.md) | [link](https://raw.githubusercontent.com/StevenBlack/hosts/master/alternates/fakenews-porn/hosts) | 178,620 | [link](http://sbc.io/hosts/alternates/fakenews-porn/hosts)
|
||
Unified hosts **+ fakenews + social** | [Readme](https://github.com/StevenBlack/hosts/blob/master/alternates/fakenews-social/readme.md) | [link](https://raw.githubusercontent.com/StevenBlack/hosts/master/alternates/fakenews-social/hosts) | 138,052 | [link](http://sbc.io/hosts/alternates/fakenews-social/hosts)
|
||
Unified hosts **+ gambling + porn** | [Readme](https://github.com/StevenBlack/hosts/blob/master/alternates/gambling-porn/readme.md) | [link](https://raw.githubusercontent.com/StevenBlack/hosts/master/alternates/gambling-porn/hosts) | 178,988 | [link](http://sbc.io/hosts/alternates/gambling-porn/hosts)
|
||
Unified hosts **+ gambling + social** | [Readme](https://github.com/StevenBlack/hosts/blob/master/alternates/gambling-social/readme.md) | [link](https://raw.githubusercontent.com/StevenBlack/hosts/master/alternates/gambling-social/hosts) | 138,419 | [link](http://sbc.io/hosts/alternates/gambling-social/hosts)
|
||
Unified hosts **+ porn + social** | [Readme](https://github.com/StevenBlack/hosts/blob/master/alternates/porn-social/readme.md) | [link](https://raw.githubusercontent.com/StevenBlack/hosts/master/alternates/porn-social/hosts) | 179,251 | [link](http://sbc.io/hosts/alternates/porn-social/hosts)
|
||
Unified hosts **+ fakenews + gambling + porn** | [Readme](https://github.com/StevenBlack/hosts/blob/master/alternates/fakenews-gambling-porn/readme.md) | [link](https://raw.githubusercontent.com/StevenBlack/hosts/master/alternates/fakenews-gambling-porn/hosts) | 181,183 | [link](http://sbc.io/hosts/alternates/fakenews-gambling-porn/hosts)
|
||
Unified hosts **+ fakenews + gambling + social** | [Readme](https://github.com/StevenBlack/hosts/blob/master/alternates/fakenews-gambling-social/readme.md) | [link](https://raw.githubusercontent.com/StevenBlack/hosts/master/alternates/fakenews-gambling-social/hosts) | 140,614 | [link](http://sbc.io/hosts/alternates/fakenews-gambling-social/hosts)
|
||
Unified hosts **+ fakenews + porn + social** | [Readme](https://github.com/StevenBlack/hosts/blob/master/alternates/fakenews-porn-social/readme.md) | [link](https://raw.githubusercontent.com/StevenBlack/hosts/master/alternates/fakenews-porn-social/hosts) | 181,445 | [link](http://sbc.io/hosts/alternates/fakenews-porn-social/hosts)
|
||
Unified hosts **+ gambling + porn + social** | [Readme](https://github.com/StevenBlack/hosts/blob/master/alternates/gambling-porn-social/readme.md) | [link](https://raw.githubusercontent.com/StevenBlack/hosts/master/alternates/gambling-porn-social/hosts) | 181,813 | [link](http://sbc.io/hosts/alternates/gambling-porn-social/hosts)
|
||
Unified hosts **+ fakenews + gambling + porn + social** | [Readme](https://github.com/StevenBlack/hosts/blob/master/alternates/fakenews-gambling-porn-social/readme.md) | [link](https://raw.githubusercontent.com/StevenBlack/hosts/master/alternates/fakenews-gambling-porn-social/hosts) | 184,008 | [link](http://sbc.io/hosts/alternates/fakenews-gambling-porn-social/hosts)
|
||
|
||
|
||
**Expectation**: These unified hosts files should serve all devices, regardless
|
||
of OS.
|
||
|
||
## Sources of hosts data unified in this variant
|
||
|
||
Updated `hosts` files from the following locations are always unified and
|
||
included:
|
||
|
||
| Host file source | Home page | Raw hosts | License | Issues | Description |
|
||
| ---------------- | :-------: | :-------: | :-----: | :----: | ----------- |
|
||
Steven Black's ad-hoc list |[link](https://github.com/StevenBlack/hosts/blob/master/data/StevenBlack/hosts) | [raw](https://raw.githubusercontent.com/StevenBlack/hosts/master/data/StevenBlack/hosts) | MIT | [issues](https://github.com/StevenBlack/hosts/issues)| Additional sketch domains as I come across them.
|
||
AdAway |[link](https://adaway.org/) | [raw](https://raw.githubusercontent.com/AdAway/adaway.github.io/master/hosts.txt) | CC BY 3.0 | [issues](https://github.com/AdAway/adaway.github.io/issues)| AdAway is an open source ad blocker for Android using the hosts file.
|
||
add.2o7Net |[link](https://github.com/FadeMind/hosts.extras) | [raw](https://raw.githubusercontent.com/FadeMind/hosts.extras/master/add.2o7Net/hosts) | MIT | [issues](https://github.com/FadeMind/hosts.extras/issues)| 2o7Net tracking sites based on [hostsfile.org](https://www.hostsfile.org/hosts.html) content.
|
||
add.Dead |[link](https://github.com/FadeMind/hosts.extras) | [raw](https://raw.githubusercontent.com/FadeMind/hosts.extras/master/add.Dead/hosts) | MIT | [issues](https://github.com/FadeMind/hosts.extras/issues)| Dead sites based on [hostsfile.org](https://www.hostsfile.org/hosts.html) content.
|
||
add.Risk |[link](https://github.com/FadeMind/hosts.extras) | [raw](https://raw.githubusercontent.com/FadeMind/hosts.extras/master/add.Risk/hosts) | MIT | [issues](https://github.com/FadeMind/hosts.extras/issues)| Risk content sites based on [hostsfile.org](https://www.hostsfile.org/hosts.html) content.
|
||
add.Spam |[link](https://github.com/FadeMind/hosts.extras) | [raw](https://raw.githubusercontent.com/FadeMind/hosts.extras/master/add.Spam/hosts) | MIT | [issues](https://github.com/FadeMind/hosts.extras/issues)| Spam sites based on [hostsfile.org](https://www.hostsfile.org/hosts.html) content.
|
||
AdguardTeam cname trackers |[link](https://github.com/AdguardTeam/cname-trackers) | [raw](https://raw.githubusercontent.com/AdguardTeam/cname-trackers/master/combined_disguised_trackers_justdomains.txt) | MIT | [issues](https://github.com/AdguardTeam/cname-trackers/issues)| CNAME-cloaked tracking abuses.
|
||
Mitchell Krog's - Badd Boyz Hosts |[link](https://github.com/mitchellkrogza/Badd-Boyz-Hosts) | [raw](https://raw.githubusercontent.com/mitchellkrogza/Badd-Boyz-Hosts/master/hosts) | MIT | [issues](https://github.com/mitchellkrogza/Badd-Boyz-Hosts/issues)| Sketchy domains and Bad Referrers from my Nginx and Apache Bad Bot and Spam Referrer Blockers
|
||
hostsVN |[link](https://github.com/bigdargon/hostsVN) | [raw](https://raw.githubusercontent.com/bigdargon/hostsVN/master/option/hosts-VN) | MIT | [issues](https://github.com/bigdargon/hostsVN/issues)| Hosts block ads of Vietnamese
|
||
KADhosts |[link](https://kadantiscam.netlify.app/) | [raw](https://raw.githubusercontent.com/PolishFiltersTeam/KADhosts/master/KADhosts.txt) | CC BY-SA 4.0 | [issues](https://github.com/PolishFiltersTeam/KADhosts/issues)| Fraud/adware/scam websites.
|
||
MetaMask eth-phishing-detect |[link](https://github.com/MetaMask/eth-phishing-detect) | [raw](https://raw.githubusercontent.com/MetaMask/eth-phishing-detect/master/src/hosts.txt) | DON'T BE A DICK PUBLIC LICENSE | [issues](https://github.com/MetaMask/eth-phishing-detect/issues)| Phishing domains targeting Ethereum users.
|
||
minecraft-hosts |[link](https://github.com/jamiemansfield/minecraft-hosts) | [raw](https://raw.githubusercontent.com/jamiemansfield/minecraft-hosts/master/lists/tracking.txt) | CC0-1.0 | [issues](https://github.com/jamiemansfield/minecraft-hosts/issues)| Minecraft related tracker hosts
|
||
MVPS hosts file |[link](https://winhelp2002.mvps.org/) | [raw](https://winhelp2002.mvps.org/hosts.txt) | CC BY-NC-SA 4.0 | [issues](mailto:winhelp2002@gmail.com)| The purpose of this site is to provide the user with a high quality custom HOSTS file.
|
||
shady-hosts |[link](https://github.com/shreyasminocha/shady-hosts) | [raw](https://raw.githubusercontent.com/shreyasminocha/shady-hosts/main/hosts) | CC0-1.0 | [issues](https://github.com/shreyasminocha/shady-hosts/issues)| Analytics, ad, and activity monitoring hosts
|
||
Dan Pollock – [someonewhocares](https://someonewhocares.org/) |[link](https://someonewhocares.org/hosts/) | [raw](https://someonewhocares.org/hosts/zero/hosts) | non-commercial with attribution | [issues](mailto:hosts@someonewhocares.org)| How to make the internet not suck (as much).
|
||
Tiuxo hostlist - ads |[link](https://github.com/tiuxo/hosts) | [raw](https://raw.githubusercontent.com/tiuxo/hosts/master/ads) | CC BY 4.0 | [issues](https://github.com/tiuxo/hosts/issues)| Categorized hosts files for DNS based content blocking
|
||
UncheckyAds |[link](https://github.com/FadeMind/hosts.extras) | [raw](https://raw.githubusercontent.com/FadeMind/hosts.extras/master/UncheckyAds/hosts) | MIT | [issues](https://github.com/FadeMind/hosts.extras/issues)| Windows installers ads sources sites based on https://unchecky.com/ content.
|
||
URLHaus |[link](https://urlhaus.abuse.ch/) | [raw](https://urlhaus.abuse.ch/downloads/hostfile/) | CC0 | [issues](mailto:contactme@abuse.ch)| A project from [abuse.ch](https://abuse.ch/) with the goal of sharing malicious URLs.
|
||
yoyo.org |[link](https://pgl.yoyo.org/adservers/) | [raw](https://pgl.yoyo.org/adservers/serverlist.php?hostformat=hosts&mimetype=plaintext&useip=0.0.0.0) | | [issues](mailto:pgl@yoyo.org)| Blocking with ad server and tracking server hostnames.
|
||
Sinfonietta's gambling blocking hosts file |[link](https://github.com/Sinfonietta/hostfiles) | [raw](https://raw.githubusercontent.com/Sinfonietta/hostfiles/master/gambling-hosts) | MIT | [issues](https://github.com/Sinfonietta/hostfiles/issues)| A collection of category-specific host files.
|
||
|
||
|
||
## Extensions
|
||
|
||
The unified hosts file is optionally extensible. Extensions are used to include
|
||
domains by category. Currently, we offer the following categories: `fakenews`,
|
||
`social`, `gambling`, and `porn`.
|
||
|
||
Extensions are optional, and can be combined in various ways with the base hosts
|
||
file. The combined products are stored in the
|
||
[`alternates`](https://github.com/StevenBlack/hosts/tree/master/alternates)
|
||
folder.
|
||
|
||
Data for extensions are stored in the
|
||
[`extensions`](https://github.com/StevenBlack/hosts/tree/master/extensions)
|
||
folder. You manage extensions by curating this folder tree, where you will find
|
||
the data for `fakenews`, `social`, `gambling`, and `porn` extension data that we
|
||
maintain and provide for you.
|
||
|
||
## Generate your own unified hosts file
|
||
|
||
You have three options to generate your own hosts file. You can use our
|
||
container image, build your own image, or do it in your own environment. Option
|
||
#1 is easiest if you have Linux with Docker installed.
|
||
|
||
### Option 1: Use our container image (Linux only)
|
||
|
||
> This will replace your `/etc/hosts`.
|
||
|
||
We assume you have Docker available on your host. Just run the following
|
||
command. Set extensions to your preference.
|
||
|
||
```sh
|
||
docker run --pull always --rm -it -v /etc/hosts:/etc/hosts \
|
||
ghcr.io/stevenblack/hosts:latest updateHostsFile.py --auto \
|
||
--replace --extensions gambling porn
|
||
```
|
||
|
||
If you want to add custom hosts or a whitelist, create either or both files as
|
||
per [the instructions](#how-do-i-control-which-sources-are-unified) and add the
|
||
following arguments _before_ `ghcr.io/stevenblack/hosts:latest` depending on
|
||
which you wish to use.
|
||
|
||
```sh
|
||
-v "path/to/myhosts:/hosts/myhosts" \
|
||
-v "path/to/whitelist:/hosts/whitelist" \
|
||
```
|
||
|
||
You can rerun this exact command later to update based on the latest available
|
||
hosts (for example, add it to a weekly cron job).
|
||
|
||
### Option 2: Generate your own container image
|
||
|
||
We provide the
|
||
[Dockerfile](https://github.com/StevenBlack/hosts/blob/master/Dockerfile) used
|
||
by the previous step, which you can use to create a container image with
|
||
everything you need. The container will contain Python 3 and all its dependency
|
||
requirements, and a copy of the latest version of this repository.
|
||
|
||
Build the Docker container from the root of this repo like this:
|
||
|
||
```sh
|
||
docker build --no-cache . -t stevenblack-hosts
|
||
```
|
||
|
||
Then run your command as such:
|
||
|
||
```sh
|
||
docker run --rm -it stevenblack-hosts updateHostsFile.py
|
||
```
|
||
|
||
> This will create the hosts file, and remove it with the container when done,
|
||
> so not very useful. You can use the example in option #1 to add volumes so
|
||
> files on your host are replaced.
|
||
|
||
### Option 3: Generate it in your own environment
|
||
|
||
To generate your own amalgamated hosts files you will need Python 3.6 or later.
|
||
|
||
First, install the dependencies with:
|
||
|
||
```sh
|
||
pip3 install --user -r requirements.txt
|
||
```
|
||
|
||
**Note** we recommend the `--user` flag which installs the required dependencies
|
||
at the user level. More information about it can be found on pip
|
||
[documentation](https://pip.pypa.io/en/stable/reference/pip_install/?highlight=--user#cmdoption-user).
|
||
|
||
### Common steps regardless of your development environment
|
||
|
||
To **run unit tests**, in the top-level directory, run:
|
||
|
||
```sh
|
||
python3 testUpdateHostsFile.py
|
||
```
|
||
|
||
The `updateHostsFile.py` script will generate a unified hosts file based on the
|
||
sources in the local `data/` subfolder. The script will prompt you whether it
|
||
should fetch updated versions (from locations defined by the `update.json` text
|
||
file in each source's folder). Otherwise, it will use the `hosts` file that's
|
||
already there.
|
||
|
||
```sh
|
||
python3 updateHostsFile.py [--auto] [--replace] [--ip nnn.nnn.nnn.nnn] [--extensions ext1 ext2 ext3]
|
||
```
|
||
|
||
#### Command line options
|
||
|
||
`--help`, or `-h`: display help.
|
||
|
||
`--auto`, or `-a`: run the script without prompting. When `--auto` is invoked,
|
||
|
||
- Hosts data sources, including extensions, are updated.
|
||
- No extensions are included by default. Use the `--extensions` or `-e` flag to
|
||
include any you want.
|
||
- Your active hosts file is _not_ replaced unless you include the `--replace`
|
||
flag.
|
||
|
||
`--backup`, or `-b`: Make a backup of existing hosts file(s) as you generate
|
||
over them.
|
||
|
||
`--extensions <ext1> <ext2> <ext3>`, or `-e <ext1> <ext2> <ext3>`: the names of
|
||
subfolders below the `extensions` folder containing additional category-specific
|
||
hosts files to include in the amalgamation. Example: `--extensions porn` or
|
||
`-e social porn`.
|
||
|
||
`--flush-dns-cache`, or `-f`: skip the prompt for flushing the DNS cache. Only
|
||
active when `--replace` is also active.
|
||
|
||
`--ip nnn.nnn.nnn.nnn`, or `-i nnn.nnn.nnn.nnn`: the IP address to use as the
|
||
target. Default is `0.0.0.0`.
|
||
|
||
`--keepdomaincomments`, or `-k`: `true` (default) or `false`, keep the comments
|
||
that appear on the same line as domains. The default is `true`.
|
||
|
||
`--noupdate`, or `-n`: skip fetching updates from hosts data sources.
|
||
|
||
`--output <subfolder>`, or `-o <subfolder>`: place the generated source file in
|
||
a subfolder. If the subfolder does not exist, it will be created.
|
||
|
||
`--replace`, or `-r`: trigger replacing your active hosts
|
||
|
||
`--skipstatichosts`, or `-s`: `false` (default) or `true`, omit the standard
|
||
section at the top, containing lines like `127.0.0.1 localhost`. This is useful
|
||
for configuring proximate DNS services on the local network.
|
||
|
||
`--nogendata`, or `-g`: `false` (default) or `true`, skip the generation of the
|
||
readmeData.json file used for generating readme.md files. This is useful if you
|
||
are generating host files with additional whitelists or blacklists and want to
|
||
keep your local checkout of this repo unmodified.
|
||
|
||
`--compress`, or `-c`: `false` (default) or `true`, _Compress_ the hosts file
|
||
ignoring non-necessary lines (empty lines and comments) and putting multiple
|
||
domains in each line. Reducing the number of lines of the hosts file improves
|
||
the performances under Windows (with DNS Client service enabled).
|
||
|
||
`--minimise`, or `-m`: `false` (default) or `true`, like `--compress`, but puts
|
||
each domain on a separate line. This is necessary because many implementations
|
||
of URL blockers that rely on `hosts` files do not conform to the standard which
|
||
allows multiple hosts on a single line.
|
||
|
||
`--blacklist <blacklistfile>`, or `-x <blacklistfile>`: Append the given
|
||
blacklist file in hosts format to the generated hosts file.
|
||
|
||
`--whitelist <whitelistfile>`, or `-w <whitelistfile>`: Use the given whitelist
|
||
file to remove hosts from the generated hosts file.
|
||
|
||
## How do I control which sources are unified?
|
||
|
||
Add one or more _additional_ sources, each in a subfolder of the `data/` folder,
|
||
and specify the `url` key in its `update.json` file.
|
||
|
||
Add one or more _optional_ extensions, which originate from subfolders of the
|
||
`extensions/` folder. Again the url in `update.json` 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 need.
|
||
|
||
- 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 unified hosts file during the update process.
|
||
|
||
The `myhosts` file 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 prevent domains from being included?
|
||
|
||
The domains you list in the `whitelist` file are excluded from the final hosts
|
||
file.
|
||
|
||
The `whitelist` uses partial matching. Therefore if you whitelist
|
||
`google-analytics.com`, that domain and all its subdomains won't be merged into
|
||
the final hosts file.
|
||
|
||
The `whitelist` 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 can I contribute hosts records?
|
||
|
||
If you discover sketchy domains you feel should be included here, here are some
|
||
ways to contribute them.
|
||
|
||
### Option 1: contact one of our hosts sources
|
||
|
||
The best way to get new domains included is to submit an issue to any of the
|
||
data providers whose home pages are
|
||
[listed here](https://github.com/StevenBlack/hosts#sources-of-hosts-data-unified-in-this-variant).
|
||
This is best because once you submit new domains, they will be curated and
|
||
updated by the dedicated folks who maintain these sources.
|
||
|
||
### Option 2: Fork this repository, add your domains to Steven Black's personal data file, and submit a pull request
|
||
|
||
Fork this hosts this repo and add your links to
|
||
[https://github.com/StevenBlack/hosts/blob/master/data/StevenBlack/hosts](https://github.com/StevenBlack/hosts/blob/master/data/StevenBlack/hosts).
|
||
|
||
Then, submit a pull request.
|
||
|
||
**WARNING**: this is less desirable than Option 1 because the ongoing curation
|
||
falls on us. So this creates more work for us.
|
||
|
||
### Option 3: create your own hosts list as a repo on GitHub
|
||
|
||
If you're able to curate your own collection of sketchy domains, then curate
|
||
your own hosts list. Then signal the existence of your repo as
|
||
[a new issue](https://github.com/StevenBlack/hosts/issues) and we may include
|
||
your new repo into the collection of sources we pull whenever we create new
|
||
versions.
|
||
|
||
## What is a hosts file?
|
||
|
||
A hosts file, named `hosts` (with no file extension), is a plain-text file used
|
||
by all operating systems to map hostnames to IP addresses.
|
||
|
||
In most operating systems, the `hosts` file is preferential to `DNS`. Therefore
|
||
if a domain name is resolved by the `hosts` file, the request never leaves your
|
||
computer.
|
||
|
||
Having a smart `hosts` file goes a long way towards blocking malware, adware,
|
||
and other irritants.
|
||
|
||
For example, to nullify requests to some doubleclick.net servers, adding these
|
||
lines to your hosts file will do it:
|
||
|
||
```text
|
||
# block doubleClick's servers
|
||
0.0.0.0 ad.ae.doubleclick.net
|
||
0.0.0.0 ad.ar.doubleclick.net
|
||
0.0.0.0 ad.at.doubleclick.net
|
||
0.0.0.0 ad.au.doubleclick.net
|
||
0.0.0.0 ad.be.doubleclick.net
|
||
# etc...
|
||
```
|
||
|
||
## We recommend using `0.0.0.0` instead of `127.0.0.1`
|
||
|
||
Traditionally most host files use `127.0.0.1`, the _loopback address_, to
|
||
establish an IP connection to the local machine.
|
||
|
||
We prefer to use `0.0.0.0`, which is defined as a non-routable meta-address used
|
||
to designate an invalid, unknown, or non-applicable target.
|
||
|
||
Using `0.0.0.0` is empirically faster, possibly because there's no wait for a
|
||
timeout resolution. It also does not interfere with a web server that may be
|
||
running on the local PC.
|
||
|
||
## Why not use `0` instead of `0.0.0.0`?
|
||
|
||
We tried that. Using `0` doesn't work universally.
|
||
|
||
## Location of your hosts file
|
||
|
||
To modify your current `hosts` file, look for it in the following places and
|
||
modify it with a text editor.
|
||
|
||
- **macOS (until 10.14.x macOS Mojave), iOS, Android, Linux**: `/etc/hosts`
|
||
file.
|
||
- **macOS Catalina:** `/private/etc/hosts` file.
|
||
- **Windows**: `%SystemRoot%\system32\drivers\etc\hosts` file.
|
||
|
||
## Gentoo
|
||
|
||
Gentoo users may find
|
||
[`sb-hosts`](https://github.com/PF4Public/gentoo-overlay/tree/master/net-misc/sb-hosts)
|
||
in [::pf4public](https://github.com/PF4Public/gentoo-overlay) Gentoo overlay
|
||
|
||
## NixOS
|
||
|
||
To install hosts file on your machine add the following into your
|
||
`configuration.nix`:
|
||
|
||
```nix
|
||
{
|
||
networking.extraHosts = let
|
||
hostsPath = https://raw.githubusercontent.com/StevenBlack/hosts/master/hosts;
|
||
hostsFile = builtins.fetchurl hostsPath;
|
||
in builtins.readFile "${hostsFile}";
|
||
}
|
||
```
|
||
|
||
- NOTE: Change `hostsPath` if you need other versions of hosts file.
|
||
- NOTE: The call to `fetchurl` is impure. Use `fetchFromGitHub` with the exact
|
||
commit if you want to always get the same result.
|
||
|
||
### Nix Flake
|
||
|
||
NixOS installations which are managed through _flakes_ can use the hosts file
|
||
like this:
|
||
|
||
```nix
|
||
{
|
||
inputs.hosts.url = github:StevenBlack/hosts;
|
||
outputs = { self, nixpkgs, hosts }: {
|
||
nixosConfigurations.my-hostname = {
|
||
system = "<architecture>";
|
||
modules = [
|
||
hosts.nixosModule {
|
||
networking.stevenBlackHosts.enable = true;
|
||
}
|
||
];
|
||
};
|
||
};
|
||
}
|
||
```
|
||
|
||
The hosts extensions are also available with the following options:
|
||
|
||
```nix
|
||
{
|
||
networking.stevenBlackHosts = {
|
||
blockFakenews = true;
|
||
blockGambling = true;
|
||
blockPorn = true;
|
||
blockSocial = true;
|
||
};
|
||
}
|
||
```
|
||
|
||
## Updating hosts file on Windows
|
||
|
||
(NOTE: See also some third-party Hosts managers, listed below.)
|
||
|
||
On Linux and macOS, run the Python script. On Windows more work is required due
|
||
to compatibility issues so it's preferable to run the batch file as follows:
|
||
|
||
```sh
|
||
updateHostsWindows.bat
|
||
```
|
||
|
||
This file **MUST** be run in command prompt with administrator privileges in the
|
||
repository directory. In addition to updating the hosts file, it can also
|
||
replace the existing hosts file, and reload the DNS cache. It goes without
|
||
saying that for this to work, you must be connected to the internet.
|
||
|
||
To open a command prompt as administrator in the repository's directory, do the
|
||
following:
|
||
|
||
- **Windows XP**: Start → Run → `cmd`
|
||
- **Windows Vista, 7**: Start Button → type `cmd` → right-click Command Prompt →
|
||
"Run as Administrator"
|
||
- **Windows 8**: Start → Swipe Up → All Apps → Windows System → right-click
|
||
Command Prompt → "Run as Administrator"
|
||
- **Windows 10**: Start Button → type `cmd` → right-click Command Prompt → "Run
|
||
as Administrator"
|
||
|
||
You can also refer to the "Third-Party Hosts Managers" section for further
|
||
recommended solutions from third parties.
|
||
|
||
### Warning: Using this `hosts` file in Windows may require disabling DNS Cache service
|
||
|
||
Windows has issues with larger hosts files. Recent changes in security within
|
||
Windows 10 denies access to changing services via other tools except registry
|
||
hacks. Use the `disable-dnscache-service-win.cmd` file to make proper changes to
|
||
the Windows registry. You will need to reboot your device once that's done. See
|
||
the
|
||
[the comments within the `cmd` file](https://github.com/StevenBlack/hosts/blob/master/disable-dnscache-service-win.bat)
|
||
for more details.
|
||
|
||
## Reloading hosts file
|
||
|
||
Your operating system will cache DNS lookups. You can either reboot or run the
|
||
following commands to manually flush your DNS cache once the new hosts file is
|
||
in place.
|
||
|
||
The Google Chrome browser may require manually cleaning up its DNS Cache on
|
||
`chrome://net-internals/#dns` page to thereafter see the changes in your hosts
|
||
file. See: <https://superuser.com/questions/723703>
|
||
|
||
### Windows
|
||
|
||
Open a command prompt with administrator privileges and run this command:
|
||
|
||
```bat
|
||
ipconfig /flushdns
|
||
```
|
||
|
||
### Linux
|
||
|
||
Open a Terminal and run with root privileges:
|
||
|
||
- **Debian/Ubuntu** `sudo service network-manager restart`
|
||
- **Linux Mint** `sudo /etc/init.d/dns-clean start`
|
||
- **Linux with systemd**: `sudo systemctl restart network.service`
|
||
- **Fedora Linux**: `sudo systemctl restart NetworkManager.service`
|
||
- **Arch Linux/Manjaro with Network Manager**:
|
||
`sudo systemctl restart NetworkManager.service`
|
||
- **Arch Linux/Manjaro with Wicd**: `sudo systemctl restart wicd.service`
|
||
- **RHEL/Centos**: `sudo /etc/init.d/network restart`
|
||
- **FreeBSD**: `sudo service nscd restart`
|
||
|
||
To enable the `nscd` daemon initially, it is recommended that you run the
|
||
following commands:
|
||
|
||
```sh
|
||
sudo sysrc nscd_enable="YES"
|
||
sudo service nscd start
|
||
```
|
||
|
||
Then modify the `hosts` line in your `/etc/nsswitch.conf` file to the
|
||
following:
|
||
|
||
```text
|
||
hosts: cache files dns
|
||
```
|
||
|
||
- **NixOS**: The `nscd.service` is automatically restarted when the option
|
||
`networking.extraHosts` was changed.
|
||
- **Others**: Consult
|
||
[this Wikipedia article](https://en.wikipedia.org/wiki/Hosts_%28file%29#Location_in_the_file_system).
|
||
|
||
### macOS
|
||
|
||
Open a Terminal and run:
|
||
|
||
```sh
|
||
sudo dscacheutil -flushcache;sudo killall -HUP mDNSResponder
|
||
```
|
||
|
||
## Release management
|
||
|
||
This repository uses [release-it](https://github.com/release-it/release-it), an
|
||
excellent CLI release tool for GitHub repos and npm packages, to automate
|
||
creating [releases](https://github.com/StevenBlack/hosts/releases). This is why
|
||
the
|
||
[package.json](https://github.com/StevenBlack/hosts/blob/master/package.json)
|
||
and
|
||
[.release-it.json](https://github.com/StevenBlack/hosts/blob/master/.release-it.json)
|
||
files are bundled.
|
||
|
||
## Goals of this unified hosts file
|
||
|
||
The goals of this repo are to:
|
||
|
||
1. automatically combine high-quality lists of hosts,
|
||
2. provide situation-appropriate extensions,
|
||
3. de-dupe the resultant combined list,
|
||
4. and keep the resultant file reasonably sized.
|
||
|
||
A high-quality source is defined here as one that is actively curated. A hosts
|
||
source should be frequently updated by its maintainers with both additions and
|
||
removals. The larger the hosts file, the higher the level of curation is
|
||
expected.
|
||
|
||
It is expected that this unified hosts file will serve both desktop and mobile
|
||
devices under a variety of operating systems.
|
||
|
||
## Third-Party Hosts Managers
|
||
|
||
- [Unified Hosts AutoUpdate](https://github.com/ScriptTiger/Unified-Hosts-AutoUpdate "Unified Hosts AutoUpdate")
|
||
(for Windows): The Unified Hosts AutoUpdate package is purpose-built for this
|
||
unified hosts project as well as in active development by community members.
|
||
You can install and uninstall any blacklist and keep it automatically up to
|
||
date, and can be placed in a shared network location and deployed across an
|
||
organization via group policies. And since it is in active development by
|
||
community members, your bug reports, feature requests, and other feedback are
|
||
most welcome.
|
||
- [ViHoMa](https://github.com/cmabad/ViHoMa) is a Visual Hosts file Manager,
|
||
written in Java, by Christian Martínez. Check it out!
|
||
|
||
## Interesting Applications
|
||
|
||
- [Hosts-BL](https://github.com/ScriptTiger/Hosts-BL "Hosts-BL") is a simple
|
||
tool to handle hosts file black lists. It can remove comments, remove
|
||
duplicates, compress to 9 domains per line, add IPv6 entries. In addition, it
|
||
can also convert black lists to multiple other black list formats compatible
|
||
with other software, such as dnsmasq, DualServer, RPZ, Privoxy, and Unbound,
|
||
to name a few.
|
||
- [Host Minder](https://github.com/jeremehancock/hostminder#readme) is a simple
|
||
GUI that allows you to easily update your /etc/hosts file to one of four
|
||
consolidated hosts files from StevenBlack/hosts. It is provided as a deb
|
||
package and comes pre-installed on [UbuntuCE](https://ubuntuce.com/).
|
||
- [Maza ad blocking](https://github.com/tanrax/maza-ad-blocking) is a bash
|
||
script that automatically updates host file. You can also update a fresh copy.
|
||
And each time it generates a dnsmasq-compatible configuration file. Fast
|
||
installation, compatible with MacOS, Linux and BSD.
|
||
- [Hostile](https://github.com/feross/hostile) is a nifty command line utility
|
||
to easily add or remove domains from your hosts file. If our hosts files are
|
||
too aggressive for you, you can use `hostile` to remove domains, or you can
|
||
use `hostile` in a bash script to automate a post process each time you
|
||
download fresh versions of hosts.
|
||
- [macOS Scripting for Configuration, Backup and Restore](https://github.com/tiiiecherle/osx_install_config)
|
||
helps customizing, re-installing and using macOS. It also provides a
|
||
[script](https://github.com/tiiiecherle/osx_install_config/blob/master/09_launchd/9b_run_on_boot/root/1_hosts_file/launchd_and_script/hosts_file_generator.sh)
|
||
to install and update the hosts file using this project on macOS. In
|
||
combination with a
|
||
[launchd](https://github.com/tiiiecherle/osx_install_config/blob/master/09_launchd/9b_run_on_boot/root/1_hosts_file/launchd_and_script/com.hostsfile.install_update.plist)
|
||
it updates the hosts file every x days (default is 4). To install both,
|
||
download the GitHub repo and run the
|
||
[install script](https://github.com/tiiiecherle/osx_install_config/blob/master/09_launchd/9b_run_on_boot/root/1_hosts_file/install_hosts_file_generator_and_launchdservice.sh)
|
||
from the directory one level up.
|
||
- [Pi-hole](https://pi-hole.net/) is a network-wide DHCP server and ad blocker
|
||
that runs on [Raspberry Pi](https://en.wikipedia.org/wiki/Raspberry_Pi).
|
||
Pi-hole uses this repository as one of its sources.
|
||
- [Block ads and malware via local BIND9 DNS server](https://github.com/mueller-ma/block-ads-via-dns "Block ads and malware via local DNS server")
|
||
(for Debian, Raspbian & Ubuntu): Set up a local DNS server with a
|
||
`/etc/bind/named.conf.blocked` file, sourced from here.
|
||
- [Block ads, malware, and deploy parental controls via local DualServer DNS/DHCP server](https://scripttiger.github.io/dualserver/ "Block ads, malware, and deploy parental controls via local DualServer DNS/DHCP server")
|
||
(for BSD, Windows & Linux): Set up a blacklist for everyone on your network
|
||
using the power of the unified hosts reformatted for DualServer. And if you're
|
||
on Windows, this project also maintains an update script to make updating
|
||
DualServer's blacklist even easier.
|
||
- [Blocking ads and malwares with unbound](https://deadc0de.re/articles/unbound-blocking-ads.html "Blocking ads and malwares with unbound")
|
||
–
|
||
[Unbound](https://www.unbound.net/ "Unbound is a validating, recursive, and caching DNS resolver.")
|
||
is a validating, recursive, and caching DNS resolver.
|
||
- [dnsmasq conversion script](https://gist.github.com/erlepereira/c11f4f7a3f60cd2071e79018e895fc8a#file-dnsmasq-antimalware)
|
||
This GitHub gist has a short shell script (bash, will work on any 'nix) and
|
||
uses `wget` & `awk` present in most distros, to fetch a specified hosts file
|
||
and convert it to the format required by dnsmasq. Supports IPv4 and IPv6.
|
||
Designed to be used as either a shell script, or can be dropped into
|
||
`/etc/cron.weekly` (or wherever suits). The script is short and easily edited,
|
||
also has a short document attached with notes on dnsmasq setup.
|
||
- [BlackHosts - Command Line Installer/Updater](https://github.com/Lateralus138/blackhosts)
|
||
This is a cross-platform command line utility to help install/update hosts
|
||
files found at this repository.
|
||
- [dnscrypt-proxy](https://github.com/DNSCrypt/dnscrypt-proxy/wiki/Combining-Blocklists)
|
||
provides a tool to build block lists from local and remote lists in common
|
||
formats.
|
||
|
||
## Contribute
|
||
|
||
Please read our
|
||
[Contributing Guide](https://github.com/StevenBlack/hosts/blob/master/contributing.md).
|
||
Among other things, this explains how we organize files and folders in this
|
||
repository.
|
||
|
||
We are always interested in discovering well-curated sources of hosts. If you
|
||
find one, please open an [issue](https://github.com/StevenBlack/hosts/issues) to
|
||
draw our attention.
|
||
|
||
Before you create or respond to any issue, please read our
|
||
[code of conduct](https://github.com/StevenBlack/hosts/blob/master/code_of_conduct.md).
|
||
|
||
Logo by [@Tobaloidee](https://github.com/Tobaloidee) Thank you!.
|