buildhosts/README.md

43 lines
2.6 KiB
Markdown

# buildhosts #
Build and maintain `/etc/hosts` while including lists imported from local and remote hosts list sources.
## Instructions ##
**Note:** All instructions should be performed as the **root** user, or using the `sudo` command to run commands with **root** permissions.
## Enable Remote Sources ##
1. The first time you run the `set` command, `/etc/hosts` will be moved to `/etc/hosts.core`, and the file `/etc/hosts.sources` will be created using the default sources list. The `/etc/hosts` file will then be generated by combining `/etc/hosts.core` and the resulting contents of the downloaded sources in `/etc/hosts.sources`.
2. You can now open `/etc/hosts.sources` and remove or comment out (by adding `#` in front) any sources you don't wish to use, as well as add new ones. Sources can remote (ie: `http://adaway.org/hosts.txt`) as well as local (ie: `file:///etc/hosts.d/mylist.txt`).
3. If you want to make any changes to the contents of what used to be `/etc/hosts`, you should now make them to `/etc/hosts.core`, and you'll need to rerun the `set` command to have them applied.
4. Once you're done customizing your configuration, run the `set` command again and the `/etc/hosts` file will be regenerated using the current list of sources and your up-to-date `/etc/hosts.core` file.
## Disable Remote Sources ##
1. To disable the configured hosts lists, run the `unset` command and `/etc/hosts.core` will be moved back to `/etc/hosts`.
2. The `/etc/hosts.sources` file will continue to exist until it's manually deleted, and it will be used again the next time remote sources are enabled.
## Notes on /etc/hosts.sources ##
* On each line of `/etc/hosts.sources`, after `#` is commented/skipped.
* Colour output can be disabled by setting the variable `NOCOL=1`.
* The `$HOSTS_SYSTEM` variable can be set to an alternative location to configure a different file to be used for `/etc/hosts`.
* Similarly, the `$HOSTS_CORE` and `$HOSTS_SOURCES` variables (which default to `$HOSTS_SYSTEM.core` and `$HOSTS_SYSTEM.sources` and will automatically change when `$HOSTS_SYSTEM` is changed), can be set to alternative locations to configure the use of different files.
## Commands ##
* `buildhosts set`: generate `/etc/hosts` using `/etc/hosts.core` and the configured sources
* `buildhosts unset`: remove lists imported from hosts list sources and restore `/etc/hosts`
* `buildhosts help`: display the help
## Credits ##
Written by Kevin MacMartin:
* [GitHub Projects](https://github.com/prurigro)
* [Arch Linux AUR Packages](https://aur.archlinux.org/packages/?SeB=m&K=prurigro)
## License ##
Released under the [MIT license](http://opensource.org/licenses/MIT).