Kumi
c5d11169fa
Updated the query parameter for the Git badge in the README.md from `gitea-url` to `gitea_url` to fix a broken link. This ensures the badge correctly displays the last commit status by properly constructing the URL with the appropriate query parameter. This change enhances the project documentation's accuracy and reliability by ensuring all external links perform as expected. |
||
---|---|---|
.forgejo/workflows | ||
src/hostsd | ||
.gitignore | ||
LICENSE | ||
pyproject.toml | ||
README.md |
hostsd - A simple hosts file manager
hostsd
is a simple hosts file manager that allows you to separate your hosts file into multiple files and easily enable or disable them. It's useful for development environments where you need to manage lots of hosts entries, or for managing ad-blocking hosts files.
Dependencies
- Python 3.8 or later (earlier versions may work but are untested)
- Linux or macOS (should work on Windows too but is untested)
Installation
pip install hostsd
Usage
To write the contents of /etc/hosts.d/*
to /etc/hosts
:
sudo hostsd
You can also specify the input and output paths:
hostsd -i /etc/hosts.d -o /etc/hosts
You can disable a file by adding a .disabled
extension:
mv /etc/hosts.d/10-my-file /etc/hosts.d/10-my-file.disabled
Hidden files (files starting with a dot) are ignored as well.
Running hostsd automatically
You can run hostsd
automatically using a cron job or a systemd timer. Here's an example of a systemd timer (assuming you have installed hostsd
globally, for simplicity):
# /etc/systemd/system/hostsd.timer
[Unit]
Description=Update hosts file every minute
[Timer]
OnBootSec=1min
OnUnitActiveSec=1min
[Install]
WantedBy=timers.target
# /etc/systemd/system/hostsd.service
[Unit]
Description=Update hosts file
[Service]
Type=oneshot
ExecStart=/usr/bin/hostsd
sudo systemctl enable hostsd.timer
sudo systemctl start hostsd.timer
This will run hostsd
every minute. So you can just drop a new file in /etc/hosts.d
and it will be picked up automatically.
You could even combine this with a git repository and you have a simple way to manage your hosts files across multiple machines or share them with others, without needing to set up and manage a full DNS server.
License
hostsd is licensed under the MIT license. See LICENSE for the full license text.