Awesome
hostctl
This tool gives you more control over the use of your hosts file. You can have multiple profiles and switch them on/off as you need.
Why?
It is a tedious task to handle the hosts
file by editing manually.
With this tool you can automate some aspects to do it cleaner and quick.
Features
- Manage groups of host names by profile.
- Enable/disable complete profiles.
- Add/remove groups of host names.
- Add profiles directly from a text file that you can add to your git repo or any VCS.
- Sync a profile with Docker or Docker Compose containers.
Documentation
You can read about how to use this tool here:
Or you can start directly on the Docs homepage.
Sample Usage
Installation
Go to release page and download the binary you prefer.
Or read about other installation methods on different systems here
Linux/Mac/Windows and permissions
The tool recognize your system and use the right hosts file, it will use /etc/hosts
on Linux/Mac and C:/Windows/System32/Drivers/etc/hosts
on Windows.
SUDO/ADMIN: You will need permissions for any action that modify hosts file, add sudo
to the commands below when needed. If you are on windows, make sure you run it as administrator.
WARNING: it should work on any system. It's tested on Ubuntu and Windows 10. If you can confirm it works on other system, please let me know here.
Contributing
Be sure to read CONTRIBUTING and CODE_OF_CONDUCT.
Contributors ✨
Thanks goes to these wonderful people (emoji key):
<!-- ALL-CONTRIBUTORS-LIST:START - Do not remove or modify this section --> <!-- prettier-ignore-start --> <!-- markdownlint-disable --> <table> <tr> <td align="center"><a href="https://github.com/gkze"><img src="https://avatars0.githubusercontent.com/u/3131232?v=4?s=50" width="50px;" alt=""/><br /><sub><b>George Kontridze</b></sub></a><br /><a href="https://github.com/guumaster/hostctl/commits?author=gkze" title="Code">💻</a></td> <td align="center"><a href="https://github.com/pacodes"><img src="https://avatars2.githubusercontent.com/u/28688410?v=4?s=50" width="50px;" alt=""/><br /><sub><b>Pacodes</b></sub></a><br /><a href="https://github.com/guumaster/hostctl/commits?author=pacodes" title="Tests">⚠️</a> <a href="https://github.com/guumaster/hostctl/commits?author=pacodes" title="Code">💻</a></td> <td align="center"><a href="https://772424.com"><img src="https://avatars3.githubusercontent.com/u/64371?v=4?s=50" width="50px;" alt=""/><br /><sub><b>BarbUk</b></sub></a><br /><a href="https://github.com/guumaster/hostctl/commits?author=BarbUk" title="Code">💻</a> <a href="#ideas-BarbUk" title="Ideas, Planning, & Feedback">🤔</a></td> <td align="center"><a href="https://github.com/devopsbrett"><img src="https://avatars1.githubusercontent.com/u/4403441?v=4?s=50" width="50px;" alt=""/><br /><sub><b>Brett Mack</b></sub></a><br /><a href="https://github.com/guumaster/hostctl/commits?author=devopsbrett" title="Code">💻</a></td> <td align="center"><a href="https://peterthaleikis.com"><img src="https://avatars0.githubusercontent.com/u/8433587?v=4?s=50" width="50px;" alt=""/><br /><sub><b>Peter Thaleikis</b></sub></a><br /><a href="https://github.com/guumaster/hostctl/commits?author=spekulatius" title="Code">💻</a> <a href="https://github.com/guumaster/hostctl/commits?author=spekulatius" title="Documentation">📖</a></td> <td align="center"><a href="https://github.com/smhmd"><img src="https://avatars0.githubusercontent.com/u/46059092?v=4?s=50" width="50px;" alt=""/><br /><sub><b>simohamed</b></sub></a><br /><a href="#ideas-smhmd" title="Ideas, Planning, & Feedback">🤔</a> <a href="https://github.com/guumaster/hostctl/commits?author=smhmd" title="Code">💻</a></td> <td align="center"><a href="https://github.com/fabiang"><img src="https://avatars2.githubusercontent.com/u/348344?v=4?s=50" width="50px;" alt=""/><br /><sub><b>Fabian Grutschus</b></sub></a><br /><a href="#ideas-fabiang" title="Ideas, Planning, & Feedback">🤔</a></td> <td align="center"><a href="https://github.com/kadern0"><img src="https://avatars.githubusercontent.com/u/13137996?v=4?s=50" width="50px;" alt=""/><br /><sub><b>Pablo Caderno</b></sub></a><br /><a href="https://github.com/guumaster/hostctl/commits?author=kadern0" title="Code">💻</a></td> <td align="center"><a href="https://github.com/ddl-jbrown"><img src="https://avatars.githubusercontent.com/u/67287351?v=4?s=50" width="50px;" alt=""/><br /><sub><b>Josh Brown</b></sub></a><br /><a href="https://github.com/guumaster/hostctl/issues?q=author%3Addl-jbrown" title="Bug reports">🐛</a></td> <td align="center"><a href="https://github.com/lukasmrtvy"><img src="https://avatars.githubusercontent.com/u/768572?v=4?s=50" width="50px;" alt=""/><br /><sub><b>Lukas M</b></sub></a><br /><a href="https://github.com/guumaster/hostctl/issues?q=author%3Alukasmrtvy" title="Bug reports">🐛</a> <a href="#ideas-lukasmrtvy" title="Ideas, Planning, & Feedback">🤔</a></td> </tr> </table> <!-- markdownlint-restore --> <!-- prettier-ignore-end --> <!-- ALL-CONTRIBUTORS-LIST:END -->This project follows the all-contributors specification. Contributions of any kind welcome!
Author(s)
If you like this tool and think is worth it, you can invite me a coffee: