dbee65337b
Signed-off-by: Hans Kokx <hans.d.kokx@gmail.com>
96 lines
2.5 KiB
Markdown
96 lines
2.5 KiB
Markdown
# NextDNS Linux Trayicon
|
|
|
|
This small Python script and .desktop file add a quick toggle to the desktop
|
|
environment's system tray.
|
|
|
|

|
|
|
|
## Prerequisites
|
|
|
|
1. **NextDNS CLI**: The script controls the nextdns service. If you haven't installed it yet:
|
|
|
|
```bash
|
|
sh -c 'curl -sL https://nextdns.io/install | sh'
|
|
```
|
|
|
|
1. **Python 3 & PyQt6**: The interface is built using Python 3 and the Qt6
|
|
toolkit. (This is installed by default on (K)ubuntu.)
|
|
|
|
```bash
|
|
sudo apt update
|
|
sudo apt install python3 python3-pyqt6
|
|
```
|
|
|
|
1. **Polkit Agent**: The script uses pkexec to handle start/stop commands safely. Most desktop environments (KDE, GNOME, XFCE) come with this pre-installed.
|
|
|
|
## Installation
|
|
|
|
Preferred (single command):
|
|
|
|
```bash
|
|
./install.sh
|
|
```
|
|
|
|
Enable autostart during install:
|
|
|
|
```bash
|
|
./install.sh --autostart
|
|
```
|
|
|
|
## Uninstall
|
|
|
|
```bash
|
|
./uninstall.sh
|
|
```
|
|
|
|
Preview what would be removed:
|
|
|
|
```bash
|
|
./uninstall.sh --dry-run
|
|
```
|
|
|
|
1. **Copy the files to your home directory:**
|
|
|
|
```bash
|
|
# Create directories if they don't exist
|
|
mkdir -p ~/.local/bin ~/.local/share/applications ~/.local/share/icons
|
|
# Copy the specific files
|
|
cp home/.local/bin/nextdns-tray ~/.local/bin/
|
|
cp home/.local/share/applications/nextdns-tray.desktop ~/.local/share/applications/
|
|
cp home/.local/share/icons/nextdns.png ~/.local/share/icons/
|
|
```
|
|
|
|
1. **Make the script executable**
|
|
|
|
```bash
|
|
chmod +x ~/.local/bin/nextdns-tray
|
|
```
|
|
|
|
The bundled `nextdns-tray.desktop` launcher runs `nextdns-tray` directly (via `PATH`) so it is not tied to any repository location.
|
|
If your desktop session does not include `~/.local/bin` in `PATH`, use an absolute path in `~/.local/share/applications/nextdns-tray.desktop`.
|
|
|
|
1. **(Optional) Add to Autostart**: If you want the tray to start automatically when you log in:
|
|
|
|
```bash
|
|
mkdir -p ~/.config/autostart
|
|
cp ~/.local/share/applications/nextdns-tray.desktop ~/.config/autostart/
|
|
```
|
|
|
|
### Manual Installation (equivalent)
|
|
|
|
```bash
|
|
sh -c 'curl -sL https://nextdns.io/install | sh'
|
|
sudo apt update
|
|
sudo apt install python3 python3-pyqt6
|
|
```
|
|
|
|
```bash
|
|
mkdir -p ~/.local/bin ~/.local/share/applications ~/.local/share/icons
|
|
cp home/.local/bin/nextdns-tray ~/.local/bin/
|
|
cp home/.local/share/applications/nextdns-tray.desktop ~/.local/share/applications/
|
|
cp home/.local/share/icons/nextdns.png ~/.local/share/icons/
|
|
chmod +x ~/.local/bin/nextdns-tray
|
|
mkdir -p ~/.config/autostart
|
|
cp ~/.local/share/applications/nextdns-tray.desktop ~/.config/autostart/
|
|
```
|