mirror of
https://github.com/prurigro/buildhosts.git
synced 2024-11-21 22:02:31 -05:00
44 lines
2.6 KiB
Markdown
44 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).
|