Initial commit: Hermes Agent skills collection
- Trading skills (OKX, dividend, lottery, quantitative) - Creative skills (ASCII art, diagrams, video) - Development skills (GitHub, debugging, TDD) - Research skills (arXiv, blog monitoring) - Productivity skills (email, documents, notes) - MCP integration skills - Custom user skills
This commit is contained in:
@@ -0,0 +1,20 @@
|
||||
---
|
||||
name: vpn-management
|
||||
description: Manage WireGuard VPN connections via wg-quick.
|
||||
---
|
||||
|
||||
# VPN Management (WireGuard)
|
||||
|
||||
This skill provides a way to manage WireGuard VPN connections using `wg-quick`. It includes scripts for turning the connection on and off, as well as handling sudo requirements.
|
||||
|
||||
For complete WireGuard removal (when switching to Clash/proxy), see `references/wireguard-removal.md`.
|
||||
|
||||
## Usage
|
||||
- **Turn ON**: `bash ~/wg-on.sh` (Runs `sudo wg-quick up wg0`)
|
||||
- **turn OFF**: `bash ~/wg-off.sh` (Runs `sudo wg-quick down wg0`)
|
||||
|
||||
## Pitfalls
|
||||
- **⚠️ TEST BEFORE EXECUTE — WireGuard can kill all connectivity instantly.** `wg-quick up wg0` with full-tunnel config (`AllowedIPs = 0.0.0.0/0`) routes ALL traffic through the VPN the moment it activates. If the VPN endpoint is unreachable or misconfigured, the machine loses all network access (including SSH). **Always verify before acting**: (1) `ip route` — check current routing, (2) `wg show` — check if interface already exists, (3) `ping <vpn-endpoint>` — confirm the WireGuard server is reachable, (4) after activating, immediately `ping 8.8.8.8` to confirm connectivity. If you lose access, you need physical console or a pre-existing SSH session to run `wg-quick down wg0`.
|
||||
- **Sudo requirement**: Both commands require `sudo`. If running in a non-interactive terminal, ensure your environment handles the password prompt or use `sudo -S` if you modify the scripts.
|
||||
- **Interface name**: These scripts target `wg0`. If your interface name is different, update the scripts or use the appropriate command.
|
||||
- **Command not found**: If `wg-on` or `wg-off` (without `.sh`) is preferred, ensure they are added to your shell's `PATH` or set as aliases.
|
||||
@@ -0,0 +1,40 @@
|
||||
# WireGuard Complete Removal Guide
|
||||
|
||||
When WireGuard is no longer needed (e.g., switched to Clash/Mihomo proxy), remove it completely to prevent it from intercepting traffic on reboot.
|
||||
|
||||
## Step-by-step removal
|
||||
|
||||
```bash
|
||||
# 1. Stop the interface immediately
|
||||
sudo wg-quick down wg0
|
||||
|
||||
# 2. Disable the systemd service (prevents auto-start on boot)
|
||||
sudo systemctl disable wg-quick@wg0
|
||||
|
||||
# 3. Verify no WireGuard interfaces remain
|
||||
ip addr show wg0 2>/dev/null || echo "wg0 removed"
|
||||
sudo wg show # should show nothing
|
||||
|
||||
# 4. Verify routing table is clean (no wg0 routes)
|
||||
ip route show | grep wg0 # should show nothing
|
||||
|
||||
# 5. Test connectivity
|
||||
ping -c 3 8.8.8.8
|
||||
```
|
||||
|
||||
## If you want to fully uninstall WireGuard
|
||||
|
||||
```bash
|
||||
# Ubuntu/Debian
|
||||
sudo apt remove wireguard wireguard-tools
|
||||
|
||||
# Remove config files
|
||||
sudo rm -rf /etc/wireguard/
|
||||
```
|
||||
|
||||
## Pitfalls
|
||||
|
||||
- **`wg-quick down` alone is NOT enough** — the systemd service will restart wg0 on next boot. Always `systemctl disable` as well.
|
||||
- **Check routing after removal** — WireGuard may have added custom routes or iptables rules. Verify with `ip route show` and `sudo iptables -L -n`.
|
||||
- **DNS leaks** — WireGuard may have modified `/etc/resolv.conf`. Check and restore if needed.
|
||||
- **Clash/Mihomo coexistence** — If switching from WireGuard to Clash, ensure WireGuard is fully stopped BEFORE starting Clash to avoid route conflicts.
|
||||
Reference in New Issue
Block a user