Skip to content

DnsMaster is a cross-platform CLI and GUI application for managing and switching between multiple DNS configurations. Easily add, modify, delete, and set your DNS settings.

License

Notifications You must be signed in to change notification settings

Std-Enigma/dns-master

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

45 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🚀 DNS Master

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 ✨.

🎯 Features

  • 📝 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.

🛠️ Technologies

  • 🐍 Python
  • 🗄️ SQLite for database management
  • ⌨️ Typer for command-line interactions
  • 🎨 Rich for enhanced terminal output and styling

📦 Installation

To install and set up DNS Master:

  1. Clone the repository:

    git clone https://github.com/Std-Enigma/dns-master.git
    cd dns-master
  2. Install the required dependencies:

    pip install -r requirements.txt

🚀 Usage

➕ Add a DNS Configuration

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"

📜 List All Configurations

dns-master list

📋 Copy DNS Address to Clipboard

dns-master copy <identifier>

You will be prompted to select whether to copy the primary, secondary, or both addresses.

🛠️ Modify a DNS Configuration

dns-master modify <identifier> [new_identifier] [new_primary_dns] [new_secondary_dns] [new_description]

🗑️ Remove a DNS Configuration

dns-master remove <identifier> [--force]

To skip confirmation, use the --force option.

🚮 Clear All Configurations

dns-master clear [--force]

Use the --force option to delete all configurations without confirmation.

📜 License

This project is licensed under the GPL license. See the LICENSE file for details.

🤝 Contributing

Contributions are welcome! Please submit issues and pull requests to improve the tool.

About

DnsMaster is a cross-platform CLI and GUI application for managing and switching between multiple DNS configurations. Easily add, modify, delete, and set your DNS settings.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages