Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

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

AltStyle ใซใ‚ˆใฃใฆๅค‰ๆ›ใ•ใ‚ŒใŸใƒšใƒผใ‚ธ (->ใ‚ชใƒชใ‚ธใƒŠใƒซ) /