DNS Master is a command-line tool designed to simplify the management of your DNS configurations 🌐. It allows you to easily add, modify, delete, and copy DNS settings right from your terminal. DNS configurations are stored in an SQLite database 🗄️, ensuring persistent storage. The application is built using Python 🐍, Typer for the CLI interface, and Rich for enhanced terminal output ✨.
- 📝 Add DNS Configurations: Create and save DNS configurations with unique identifiers.
- 🛠️ Modify Configurations: Update existing configurations by changing DNS addresses or identifiers.
- 🗑️ Remove Configurations: Delete any DNS configuration or clear all at once.
- 📜 List Configurations: View all saved configurations or filter by specific identifiers.
- 📋 Copy to Clipboard: Quickly copy primary, secondary, or both DNS addresses to your clipboard for easy use.
- 🐍 Python
- 🗄️ SQLite for database management
- ⌨️ Typer for command-line interactions
- 🎨 Rich for enhanced terminal output and styling
To install and set up DNS Master:
-
Clone the repository:
git clone https://github.com/Std-Enigma/dns-master.git cd dns-master
-
Install the required dependencies:
pip install -r requirements.txt
dns-master add <identifier> <primary-dns> [secondary-dns] [description]
Example:
dns-master add google 8.8.8.8 8.8.4.4 "Google's DNS"
dns-master list
dns-master copy <identifier>
You will be prompted to select whether to copy the primary, secondary, or both addresses.
dns-master modify <identifier> [new_identifier] [new_primary_dns] [new_secondary_dns] [new_description]
dns-master remove <identifier> [--force]
To skip confirmation, use the --force
option.
dns-master clear [--force]
Use the --force
option to delete all configurations without confirmation.
This project is licensed under the GPL license. See the LICENSE file for details.
Contributions are welcome! Please submit issues and pull requests to improve the tool.