Skip to content

Commit b4d51b8

Browse files
Vpn doc (#56)
1 parent eeedee8 commit b4d51b8

2 files changed

Lines changed: 102 additions & 3 deletions

File tree

docs/apps/transmission-setup-README.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
>
55
> **VPN Binding Strongly Recommended**: For privacy and security, it is highly recommended to bind Transmission to a VPN connection to prevent IP address exposure during BitTorrent operations.
66
>
7-
> **Not Included in This Setup**: VPN configuration and binding functionality is NOT included in this automation. You will need to configure VPN binding manually after setup completion.
7+
> **Not Included in This Setup**: VPN configuration and binding functionality is NOT included in this automation. You will need to [configure VPN binding manually](../vpn-transmission.md) after setup completion.
88
>
99
> **Manual Configuration Required**: Consult your VPN provider's documentation for instructions on binding applications to VPN interfaces (typically involves network interface binding or kill-switch configuration).
1010
@@ -206,7 +206,7 @@ TR_TORRENT_NAME # Torrent display name
206206
**Common Customizations**:
207207

208208
- FileBot automatic processing
209-
- Email/notification integration
209+
- Email/notification integration
210210
- Cloud sync triggers
211211
- Custom file organization
212212
- Statistics logging
@@ -225,7 +225,7 @@ All preferences use verified keys from actual plist analysis. See `docs/transmis
225225
### Quality Standards
226226

227227
- **Zero shellcheck warnings/errors**: Maintains project quality standards
228-
- **Verified configuration only**: No assumed or untested preference keys
228+
- **Verified configuration only**: No assumed or untested preference keys
229229
- **Comprehensive testing**: Isolated test scripts validate all functionality
230230
- **Documentation**: Complete coverage of automated and manual settings
231231

docs/vpn-transmission.md

Lines changed: 99 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,99 @@
1+
# Transmission + PIA VPN Setup on macOS (Multi-User, Leak-Proof)
2+
3+
This guide outlines a reliable method to run **Transmission GUI** on macOS through **Private Internet Access (PIA)** such that all torrent traffic is routed through the VPN, leaks are prevented, and other apps bypass the VPN.
4+
5+
---
6+
7+
## Requirements
8+
9+
- macOS 15.6.1 or later
10+
- Administrator account (for initial PIA installation)
11+
- Operator account (or any non-admin account for daily Transmission use)
12+
- Private Internet Access (PIA) subscription
13+
- Transmission 4.1.0-beta.2 (GUI version)
14+
15+
---
16+
17+
## Step 1: Install and Configure PIA (Admin Account)
18+
19+
1. Download and install the PIA macOS client from [PIA’s website](https://www.privateinternetaccess.com/download/mac-vpn).
20+
2. Log in with your PIA credentials.
21+
3. Enable **Launch on Startup**.
22+
4. Enable **Split Tunnel**:
23+
- Mode: *Only VPN*
24+
- App: `Transmission`
25+
- All other apps: *Bypass VPN*
26+
5. Enable **Advanced Kill Switch**: blocks all non-VPN traffic if VPN drops.
27+
6. Choose a P2P-friendly server (for example, nearest international endpoint: Vancouver, BC, Canada).
28+
7. Optionally, enable **Request Port Forwarding** if your server supports it.
29+
30+
> ✅ Tip: Advanced Kill Switch ensures Transmission cannot leak even if the VPN is disconnected.
31+
32+
---
33+
34+
## Step 2: Copy PIA Configurations to Operator Account
35+
36+
1. Locate PIA preferences in Admin account:
37+
38+
```text
39+
~/Library/Application Support/com.privateinternetaccess.vpn/
40+
~/Library/Preferences/com.privateinternetaccess.vpn.plist
41+
```
42+
43+
2. Copy these files to the Operator account’s corresponding directories.
44+
3. Adjust ownership if needed:
45+
46+
```bash
47+
sudo chown -R operator:staff /Users/operator/Library/Application\ Support/com.privateinternetaccess.vpn
48+
sudo chown operator:staff /Users/operator/Library/Preferences/com.privateinternetaccess.vpn.plist
49+
```
50+
51+
4. Log in as Operator and launch PIA once. Confirm:
52+
53+
- Launch on Startup is enabled
54+
- Auto-connect is active
55+
- Advanced Kill Switch is on
56+
- Split Tunnel is bound to Transmission
57+
58+
## Step 3: Verify VPN Binding and Traffic Routing
59+
60+
1. Launch Transmission before VPN (optional).
61+
2. Use a Magnet IP Leak test (ipleak.net → Torrent Address Detection) to confirm Transmission traffic shows the VPN’s IP.
62+
3. Confirm other apps bypass VPN as expected.
63+
4. Reboot into Operator account and verify:
64+
65+
- PIA auto-starts and auto-connects
66+
- Transmission only uses VPN
67+
- Non-VPN apps continue using standard ISP traffic
68+
69+
> ✅ Tip: With Advanced Kill Switch, Transmission will not leak even if it launches before the VPN is up.
70+
71+
## Step 4: Port Forwarding (Optional, Recommended)
72+
73+
1. In PIA: Settings → Network → Request Port Forwarding → enable.
74+
2. Reconnect VPN to receive assigned port.
75+
3. Transmission: Preferences → Network → Incoming TCP Port → set to PIA-assigned port.
76+
4. Click Test Port → should show “Open.”
77+
78+
> Note: PIA may assign a new port on each connection. For automation, a small shell script can sync the PIA-assigned port to Transmission on login.
79+
80+
## Notes & Best Practices
81+
82+
- Transmission GUI vs Daemon: GUI stores settings in `~/Library/Preferences/org.m0k.transmission.plist`, not `settings.json`.
83+
- Kill Switch Behavior:
84+
- Advanced: Blocks all WAN traffic unless VPN is active (LAN still allowed).
85+
- Regular: Blocks only traffic outside VPN while connected.
86+
- Auto-start Ordering: Advanced Kill Switch protects you even if Transmission launches first.
87+
- Multi-User: Each macOS user who wants Transmission + VPN needs their own copy of the PIA preferences or must configure PIA in their account.
88+
89+
---
90+
91+
✅ Summary
92+
93+
- PIA VPN is always on and bound only to Transmission.
94+
- Advanced Kill Switch prevents any leaks.
95+
- Split Tunnel ensures other apps bypass VPN normally.
96+
- Port Forwarding improves swarm connectivity (optional).
97+
- Multi-user configuration supported by copying prefs or reconfiguring PIA per account.
98+
99+
This setup provides a *bulletproof, leak-free, per-app VPN environment* for torrenting on macOS with the Transmission GUI.

0 commit comments

Comments
 (0)