Auto-update: Sat Oct 26 14:04:02 PDT 2024

This commit is contained in:
sanj 2024-10-26 14:04:02 -07:00
parent b0b307b1e3
commit 31375d134b

102
README.md
View file

@ -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 <action>
```
#### 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