Skip to content

Commit 336a995

Browse files
committed
docs: update README to enhance clarity and detail on CDNS features and installation options
1 parent 14f6312 commit 336a995

File tree

1 file changed

+45
-12
lines changed

1 file changed

+45
-12
lines changed

README.md

Lines changed: 45 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,13 @@
11
<div align="center">
22
<img src="./assets/icon.svg" alt="CDNS" width="120" height="120" />
33

4-
**Linux DNS Management Made Simple**
4+
**change DNS servers effortlessly via terminal**
5+
6+
[**Usage**](#-usage) | [**Report Bugs**](https://github.com/junevm/cdns/issues) | [**Releases**](https://github.com/junevm/cdns/releases) | [**Contributing**](#-contributing)
57

68
</div>
79

8-
**CDNS (change DNS)** is a robust, interactive CLI tool for managing DNS settings on Linux. It abstracts away the complexity of modern Linux networking (NetworkManager, systemd-resolved, resolv.conf) to give you simple, safe control over your DNS providers.
10+
**CDNS (change DNS)** is a dead-simple terminal tool that handles the messy details of `systemd-resolved` and `NetworkManager` for you, so you can swap DNS providers in seconds without the headache.
911

1012
```
1113
___ ___ _ _ ___
@@ -14,24 +16,55 @@
1416
\___|___/|_|\_|___/
1517
```
1618

17-
## Features
19+
## Why CDNS?
20+
21+
- **🔐 Privacy in a click**: Easily switch to trusted providers like Quad9, Cloudflare, or AdGuard for a more secure browsing experience.
22+
- **✨ Terminal-first**: A clean, reactive TUI that makes managing network settings actually enjoyable.
23+
- **🧠 Zero-config discovery**: It just works. Whether you're on NetworkManager, systemd-resolved, or a plain old resolv.conf, CDNS finds it and handles the heavy lifting.
24+
- **🚑 Fail-safe**: Messed something up? Roll back to your previous configuration instantly with zero stress.
25+
26+
## Compatibility
27+
28+
While CDNS is designed to work across any Linux distribution using standard networking stack, here is the current status:
1829

19-
- **🛡️ Privacy Focused**: Quickly switch to encrypted/private DNS providers like Quad9, Cloudflare, or AdGuard.
20-
- **🖥️ Interactive TUI**: Beautiful terminal interface powered by Bubble Tea.
21-
- **🔌 Multi-Backend**: Automatically detects and handles `NetworkManager`, `systemd-resolved`, and traditional `/etc/resolv.conf`.
22-
- **↩️ Safe Reverts**: Automatic state backup allowing quick rollback if things go wrong.
30+
| Distribution | Status |
31+
| :------------- | :---------- |
32+
| **Ubuntu** | ✅ Verified |
33+
| **Debian** | ⚠️ Untested |
34+
| **Fedora** | ⚠️ Untested |
35+
| **Arch Linux** | ⚠️ Untested |
36+
| **Pop!\_OS** | ⚠️ Untested |
37+
38+
_If it works for you on an untested distro, please [let us know](https://github.com/junevm/cdns/issues)!_
2339

2440
## Installation
2541

26-
### From Source
42+
### Option 1: Install Script (Recommended)
43+
44+
The easiest way to install the latest release is via our installer script:
45+
46+
```bash
47+
curl -sfL https://raw.githubusercontent.com/junevm/cdns/main/install.sh | sh
48+
```
49+
50+
### Option 2: Go Install
51+
52+
If you have Go installed:
53+
54+
```bash
55+
go install github.com/junevm/cdns/apps/cli/cmd/app@latest
56+
```
57+
58+
### Option 3: Homebrew (Linux)
2759

2860
```bash
29-
go install github.com/junevm/cdns@latest
61+
brew tap junevm/homebrew-tap
62+
brew install cdns
3063
```
3164

32-
### Pre-built Binaries
65+
### Option 4: Manual Download
3366

34-
Check the [Releases](https://github.com/junevm/cdns/releases) page for your architecture.
67+
Download the latest binary for your architecture from the [Releases](https://github.com/junevm/cdns/releases) page.
3568

3669
## Usage
3770

@@ -44,7 +77,7 @@ cdns
4477
**Quick Commands**
4578

4679
```bash
47-
# List available presets
80+
# List available DNS presets
4881
cdns list
4982

5083
# Set DNS to Cloudflare

0 commit comments

Comments
 (0)