Commit Graph

520 Commits

Author SHA1 Message Date
Quentin McGaw
f29707fa9f Remove unneeded openvpn remote-random 2020-10-24 22:26:15 +00:00
Quentin McGaw
e97d1e4a9a Set default for DOT_CACHING in code 2020-10-24 22:24:20 +00:00
Quentin McGaw
ed4fcc17b3 Routing improvements (#268)
- Fixes #82 
- Remove `EXTRA_SUBNETS`
- Remove no longer needed iptables rules
- Reduce routing interface arity
- Routing setup is done in main.go instead of in the firewall
- Routing setup gets reverted at shutdown
v3.5.0
2020-10-24 18:05:11 -04:00
Quentin McGaw
716eb14da1 Allow empty string for CSV variables with golibs 2020-10-24 19:09:54 +00:00
Quentin McGaw
f92489f99b Fix Nordvpn number empty string allowance 2020-10-24 18:45:44 +00:00
Quentin McGaw
ea3b3bc8a3 Netlink Go library to interact with IP routes (#267) 2020-10-22 18:55:28 -04:00
Quentin McGaw
a80cb8f9ba VSCode development container changes
- SSH directory bind mounted as read write
- Remove linters list from devcontainer, use workspace ones instead
2020-10-22 03:54:18 +00:00
Quentin McGaw
d4813ba21c Fix #265 and refers to #256
- Logs a message about auth failure for PIA v4 servers
2020-10-22 00:36:12 +00:00
Quentin McGaw
bf92008e45 Fix #263 2020-10-20 18:13:59 +00:00
Quentin McGaw
9c73faaaeb Add linters and fix lint issues 2020-10-20 02:45:28 +00:00
Quentin McGaw
f9bef8ecda Fix #102 2020-10-19 00:28:07 +00:00
Quentin McGaw
302adb26d7 Fix servers filtering for PIA 2020-10-18 23:44:16 +00:00
Quentin McGaw
af606463ea Multi options filters, fixes #231 (#262)
* OWNED environment variable for Mullvad
* CSV are now accepted for all servers filtering environment variables
2020-10-18 17:15:42 -04:00
Quentin McGaw
c932f48a95 Fixes #254 new variable FIREWALL_INPUT_PORTS (#260) 2020-10-18 09:22:28 -04:00
Quentin McGaw
84c1f46ae4 Upgrade dependencies
- Use of context for custom http client
- Remove unused nodeid for logger
- Upgrade shadowsocks dependency
2020-10-18 02:24:34 +00:00
Quentin McGaw
b27e637894 HTTP_CONTROL_SERVER_LOG variable, fixes #249 2020-10-17 22:21:20 +00:00
Quentin McGaw
4da9607b4d Do not log healthcheck HTTP requests 2020-10-17 22:17:08 +00:00
Quentin McGaw
8abc22977c Fix #261 add variable HTTP_CONTROL_SERVER_PORT 2020-10-17 22:07:15 +00:00
Quentin McGaw
6f4be72785 Using context for HTTP requests 2020-10-17 21:54:09 +00:00
Quentin McGaw
0d2ca377df PIA port forwarding final fixes (#259)
- Returns an error if the server does not support port forwarding
- TLS verification using the server common name obtained through the API
- Updated readme
- Fixes #236
v3.4.0
2020-10-15 22:53:13 -04:00
Quentin McGaw
98f778c3bb Improve timing behavior of ticking in loops 2020-10-15 23:20:36 +00:00
Quentin McGaw
9b9ae69404 Repurpose OPENVPN_TARGET_IP for #229 2020-10-12 20:21:26 +00:00
Quentin McGaw
1c747a10c8 Fix CN data for PIA v4 servers 2020-10-12 19:34:36 +00:00
Quentin McGaw
c4354871f7 Single connection written to openvpn configuration (#258)
- From now only a single OpenVPN connection is written to the OpenVPN configuration file
- If multiple connections are matched given the user parameters (i.e. city, region), it is picked at pseudo random using the current time as the pseudo random seed.
- Not relying on Openvpn picking a random remote address, may refer to #229 
- Program is aware of which connection is to be used, in order to use its matching CN for port forwarding TLS verification with PIA v4 servers, see #236 
- Simplified firewall mechanisms
2020-10-12 15:29:58 -04:00
Quentin McGaw
9f6450502c Obtain PIA v4 server information from API (#257)
- Obtain CN for port forwarding https verification
- Obtain for each server if they support port forwarding
- Obtain for each server their IP address for openvpn UDP and openvpn TCP (one for each)
- Updater program updated to use API
- Hardcoded values updated for PIA v3 and v4 servers
- Clearer separation between pia v3 and v4
- Fixes #250
2020-10-12 13:57:45 -04:00
Quentin McGaw
ae7fc5fe96 Fix guard pattern for max parallel DNS requests 2020-10-12 17:35:46 +00:00
Quentin McGaw
ec157f102b PIA nextgen portforward (#242)
* Split provider/pia.go in piav3.go and piav4.go
* Change port forwarding signature
* Enable port forwarding parameter for PIA v4
* Fix VPN gateway IP obtention
* Setup HTTP client for TLS with custom cert
* Error message for regions not supporting pf
2020-10-12 10:55:08 -04:00
Quentin McGaw
fbecbc1c82 Fix updater guard pattern (#255) 2020-10-01 17:56:14 -04:00
Quentin McGaw
ecf76896a2 Mullvad: configurable ipv6 tunneling (#253)
- Disabled by default
- Wiki pages updated
- Readme updated
v3.3.0
2020-09-26 09:33:24 -04:00
Quentin McGaw
ae876b93d7 Update readme Wiki links 2020-09-25 23:12:34 +00:00
Quentin McGaw
606f2cffce Fix Shadowsocks documentation, fixing #245 2020-09-18 19:56:53 +00:00
Quentin McGaw
564d9cbf90 Faster servers information updater (#248)
* Asynchronous repeatResolve
* Parallel cyberghost and PIA (v3) processing, with a 10 goroutines limit
* Add missing vyprvpn cli flag to updater
* Increase DNS repetitions to 5 in order to obtain more IP addresses
* Update old PIA IP addresses
* Add Surfshark servers by API (unused for now)
2020-09-18 15:52:28 -04:00
Quentin McGaw
c5b5ae9ca7 Add warning logs when openvpn cannot connect 2020-09-18 14:28:14 +00:00
Quentin McGaw
4e0bd46dd5 Updated Mullvad servers information 2020-09-18 14:16:17 +00:00
Quentin McGaw
f9b6e854b1 Fix surfshark updater and update server data 2020-09-13 00:41:31 +00:00
Quentin McGaw
1fc1776dbf Simplify main.go 2020-09-12 19:17:19 +00:00
Quentin McGaw
464c7074d0 Get public IP and version only when DNS is ready 2020-09-12 18:50:42 +00:00
Quentin McGaw
cb1520cb18 Write 200 http status codes to restart routes 2020-09-12 18:37:06 +00:00
Quentin McGaw
e0e450ca1c Revisit waitgroup (#241)
* Fix Add to waitgroup out of goroutines calling wg.Done()
* Pass waitgroup to other loop functions
2020-09-12 14:34:15 -04:00
Quentin McGaw
1c012e4c92 Minor readme changes
- Mullvad ipv6 startup error fix
- VPNSP variable in docker run example command
2020-09-12 18:06:52 +00:00
Quentin McGaw
78ce272bd0 Minor Dockerfile changes 2020-09-12 18:06:10 +00:00
Quentin McGaw
a19efbd923 Updater loop with period and http route (#240)
* Updater loop with period and http route
* Using DNS over TLS to update servers
* Better logging
* Remove goroutines for cyberghost updater
* Respects context for servers update (quite slow overall)
* Increase shutdown grace period to 5 seconds
* Update announcement
* Add log lines for each provider update start
2020-09-12 14:04:54 -04:00
Quentin McGaw
ee64cbf1fd Use IP addresses resolved for PIA old servers (#239)
- Fix #238
- Not using raw IPs from PIA as they seem invalid
- Update PIA old server information
2020-09-10 21:09:16 -04:00
Quentin McGaw
5b3cbb6906 Fix #235: DNS over TLS log messages 2020-09-09 21:44:50 +00:00
Quentin McGaw
443c7e36d7 Youtube videos added 2020-09-09 20:52:22 +00:00
Max Isom
22b389b6f8 Fix firewall reference to Wiki (#237) 2020-09-09 16:45:36 -04:00
Quentin McGaw
797fa33971 Servers updater (#232)
* Support for all VPN providers
* Update all VPN providers servers information
* Remove old tooling binaries
2020-09-05 12:57:16 -04:00
Quentin McGaw
9dcc00900e Healthcheck moved to HTTP control server 2020-08-31 01:57:45 +00:00
Quentin McGaw
7c102c0028 Fix #135 2020-08-30 14:48:57 +00:00
Quentin McGaw
aac5274eab Fix #224 2020-08-29 19:14:52 +00:00