From 31375d134b895d1603d16d3a4449a3e4ab64eb83 Mon Sep 17 00:00:00 2001 From: sanj <67624670+iodrift@users.noreply.github.com> Date: Sat, 26 Oct 2024 14:04:02 -0700 Subject: [PATCH] Auto-update: Sat Oct 26 14:04:02 PDT 2024 --- README.md | 102 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 102 insertions(+) diff --git a/README.md b/README.md index e5c58e4..e65c423 100644 --- a/README.md +++ b/README.md @@ -65,3 +65,105 @@ python3 bates.py /path/to/folder --prefix "FWS-" --digits 6 --name-prefix "FWS " - Always test with `--dry-run` first - Original filenames are preserved in Finder comments (macOS only) - OCR is disabled by default to keep things fast + + + + +## vpn + +A command-line utility for managing Tailscale exit nodes with privacy-focused features. + +### Overview + +This tool helps you: +- Start and stop Tailscale exit nodes +- Select new exit nodes automatically +- Choose random exit nodes from privacy-friendly countries +- Verify successful connections using Mullvad's API + +### Requirements + +- Python 3 +- Tailscale installed and configured +- `requests` Python package + +Install dependencies: +```bash +pip3 install requests +``` + +### Usage + +```bash +python3 vpn.py +``` + +#### Available Actions + +- `start`: Connect to a suggested exit node if not already connected +```bash +python3 vpn.py start +``` + +- `stop`: Disconnect from current exit node +```bash +python3 vpn.py stop +``` + +- `new`: Switch to a new suggested exit node +```bash +python3 vpn.py new +``` + +- `shh`: Connect to a random exit node in a privacy-friendly country +```bash +python3 vpn.py shh +``` + +### Privacy Features + +The script considers the following countries as privacy-friendly for the `shh` command: +- Sweden +- Switzerland +- Germany +- Finland +- Netherlands +- Norway + +### Configuration + +The script uses these default Tailscale arguments: +- `--exit-node-allow-lan-access`: Allow access to LAN while using exit node +- `--accept-dns`: Use DNS settings from the exit node +- `--accept-routes`: Accept advertised routes from the exit node + +### Verification + +The script verifies successful connections by: +1. Checking Tailscale's reported exit node +2. Verifying the connection using Mullvad's API +3. Confirming the hostnames match + +### Examples + +Start using an exit node: +```bash +$ python3 vpn.py start +Suggested exit node: stockholm.ts.net +Current exit node hostname: stockholm +Exit node set successfully! +``` + +Switch to a privacy-focused node: +```bash +$ python3 vpn.py shh +Selected random privacy-friendly exit node: zurich.ts.net +Current exit node hostname: zurich +Exit node set successfully! +``` + +### Notes + +- The script requires an active Tailscale configuration +- Internet connectivity is required for verification +- Some commands may require administrative privileges