Quentin McGaw
d73765a5f5
DNS_UPDATE_PERIOD environment variable
2020-05-05 18:00:56 +00:00
Quentin McGaw
754bab9763
Unbound restart logic
...
- Update files and restart unbound every 24hours
- HTTP route to force update & restart of Unbound
- Fix #151
2020-05-02 17:08:15 +00:00
Quentin McGaw
507374ca4e
Improve openvpn run loop logs
2020-05-02 17:03:11 +00:00
Quentin McGaw
c068484fa0
Initial DNS IP is ipv4/6 depending on DOT_IPV6
2020-05-02 15:41:28 +00:00
Quentin McGaw
363fabc810
Reduced main.go code complexity
2020-05-02 14:48:18 +00:00
Quentin McGaw
bc05ff34fd
Launch DNS over TLS after tunneling
...
- No data is downloaded before tunneling
- Fixes #127
2020-05-02 13:11:41 +00:00
Quentin McGaw
8e77842f1e
FatalOnError cancels parent context
2020-05-02 13:05:09 +00:00
Quentin McGaw
41168f88cd
Improved connected signaling mechanism
2020-05-01 03:15:49 +00:00
Quentin McGaw
f4cd1896c9
Go HTTP control server with restart openvpn route
...
- Fix #147
- Dockerfile updated
- Documentation updated
- Using contexts to restart openvpn
- Code foundation for more http routes
2020-04-30 23:41:57 +00:00
Quentin McGaw
944e6a107b
Logs wait function errors as soon as they happen
2020-04-30 23:39:28 +00:00
Quentin McGaw
b6135d2476
Support consoles without /dev/stdout
2020-04-30 23:34:35 +00:00
Quentin McGaw
c9b6e79792
Clear ip status file on termination
2020-04-30 12:55:07 +00:00
Quentin McGaw
94255aaa38
Better onConnected logic
...
- First port forward after 5 seconds
- Public IP obtained ASAP
- Logging in main only
- Allow port forward firewall with 1 second timeout local context
2020-04-30 12:54:48 +00:00
Quentin McGaw
ac706bd156
Wait for openvpn to exit on program termination
2020-04-30 11:01:22 +00:00
Quentin McGaw
d864a9f580
Refixes #148
2020-04-30 10:48:26 +00:00
Quentin McGaw
45a7a5b9e2
Fix build
2020-04-30 00:46:29 +00:00
Quentin McGaw
9af2a7a640
Retry port forwarding after 5 seconds, fix #148
2020-04-30 00:02:27 +00:00
Quentin McGaw
eb62ad06db
Better context handling (prep for restart logic)
2020-04-29 23:59:23 +00:00
Quentin McGaw
a033637e85
Better exit handling
2020-04-29 01:27:42 +00:00
Quentin McGaw
b0ea739c20
Restarts openvpn on failure without Docker restart ( #144 )
2020-04-28 21:22:18 -04:00
Quentin McGaw
e94f4283e1
Port forwards 1 second after openvpn connects
2020-04-27 12:10:36 +00:00
Quentin McGaw
f1569dac05
Each stream uses a different color, fixes #136
2020-04-19 20:40:31 +00:00
Quentin McGaw
4cb32ef9dc
Reliably wait for all processes to exit
2020-04-19 20:10:48 +00:00
Quentin McGaw
e805d42197
Updated dependencies
2020-04-19 18:13:48 +00:00
Quentin McGaw
422bd8d428
Log stderr stream from shadowsocks
2020-04-14 12:22:14 +00:00
Quentin McGaw
768147095f
Golangcilint in build pipeline and fix lint errors
...
- Fix bad permissions bits for files
- VPNSP is 'private internet access' instead of 'pia' (retro compatible)
- Check errors of deferred unsetEnv functions in params package
- Other lint errors fixing and code simplifications
2020-04-12 20:05:28 +00:00
Quentin McGaw
3d7cfb125a
Using WithPrefix for loggers
2020-04-12 19:07:19 +00:00
Quentin McGaw
3ac3e5022c
IP_STATUS_FILE and routing improvements ( #130 )
...
- Obtains VPN public IP address from routing table
- Logs and writes VPN Public IP address to `/ip` as soon as VPN is up
- Obtain port forward, logs it and writes it as soon as VPN is up
- Routing fully refactored and tested
- Routing reads from `/proc/net/route`
- Routing mutates the routes using `ip route ...`
2020-04-12 08:55:13 -04:00
Quentin McGaw
60cec716b2
Clears port forward status file at exit, fix #125
2020-04-09 12:11:36 +00:00
Quentin McGaw
e7a475a303
Stops on port forwarding error, fixes #120
2020-03-31 12:03:26 +00:00
Quentin McGaw
7e79d9696f
TZ setting shown at start ( #119 )
2020-03-30 07:58:40 -04:00
Quentin McGaw
0235df74a0
SHADOWSOCKS_METHOD environment variable ( #117 )
2020-03-29 20:06:27 -04:00
Quentin McGaw
e5adccd9c5
Custom UID and GID for subprocesses and files written ( #116 ) Fix #116
...
- Environment variables `UID` and `GID`, both defaulting to `1000`
- All subprocesses (openvpn, tinyproxy, etc.) run using the UID and GID given
- All files are written with an ownership for the UID and GID given
- Port forwarded file has also ownership for UID, GID and read permission only
2020-03-29 19:52:49 -04:00
Quentin McGaw
76cea56864
Windscribe support ( #114 )
2020-03-29 16:42:06 -04:00
Quentin McGaw
643745d33e
OPENVPN_AUTH variable, refers to #94
2020-03-29 16:22:21 -04:00
Quentin McGaw
15a549be11
OPENVPN_CIPHER variable ( #100 ), refers to #94 and #59
2020-03-26 20:29:32 -04:00
Quentin McGaw
e334cf6c5f
Minor changes
2020-03-23 20:37:56 +00:00
Quentin McGaw
9435db8e1e
Fix #90 add env variable OPENVPN_TARGET_IP
2020-03-18 23:49:40 +00:00
Quentin McGaw
d2b361b998
Fix #81 , new env variable OPENVPN_ROOT
2020-03-18 23:05:47 +00:00
Quentin McGaw
fa0272d5ad
Support Mullvad over openvpn ( #85 )
...
Additional changes:
- Allow empty value for PIA region
- Most settings are lowercased
- `OPENVPN_VERBOSITY` environment variable
- openvpn also tunnels IPv6, and unbound supports ipv6
- auth kept only on disk, not in memory
- readme reworked
- CI script fixed and improved
- Added v2 Docker tag
- Shadowsocks log defaults to `off`
2020-02-29 21:05:20 -05:00
Quentin McGaw (desktop)
f45f40eee1
Added OPENVPN_VERBOSITY environment variable
2020-02-22 15:48:09 +00:00
Quentin McGaw (desktop)
095623925a
Might fix #82
...
- Allow any input traffic on Shadowsocks port if Shadowsocks is enabled
- Allow any input traffic on TinyProxy port if TinyProxy is enabled
2020-02-16 23:58:03 +00:00
Quentin McGaw (desktop)
2051aa1b04
Wire up everything for Mullvad and PIA in main.go
2020-02-16 22:16:11 +00:00
Quentin McGaw (desktop)
ce11745f6f
Using struct for VPN connection settings
2020-02-16 19:50:21 +00:00
Quentin McGaw (desktop)
ded635bd56
Fatal container exit if openvpn or unbound exits
2020-02-13 13:23:22 +00:00
Quentin McGaw (desktop)
321579333d
Added simple healthcheck
2020-02-08 21:50:17 +00:00
Quentin McGaw (desktop)
6734779e90
Merges streams from start and exits cleanly
2020-02-08 17:51:30 +00:00
Quentin McGaw (desktop)
e527f14bd2
Fixes #72
...
- Using custom DNS internally (without TLS) to download Unbound files
- Using then Unbound with DNS over TLS internally and system wide
- Works even if you host system DNS is broken
- Waits a few milliseconds for Unbound to start up
2020-02-08 17:47:25 +00:00
Quentin McGaw (desktop)
86ed6736a5
Fixes #79 Create TUN device if it does not exist
2020-02-08 15:30:28 +00:00
Quentin McGaw (desktop)
1f873e7d66
Fixes mix of parameter (Shadowsocks, Tinyproxy)
2020-02-08 14:09:20 +00:00