Quentin McGaw
0423388b52
Fix build information setting at build time
2020-11-07 22:31:20 +00:00
Quentin McGaw
a7a7efe9c3
Remove PIA v3 servers support
2020-11-05 02:10:34 +00:00
Quentin McGaw
3b04677f8f
HTTP control server /version endpoint
2020-11-04 14:07:04 +00:00
Quentin McGaw
0c9f74ffa4
HTTP proxy written in Go to replace Tinyproxy ( #269 )
2020-10-31 21:50:31 -04:00
Quentin McGaw
db64dea664
Fix #273 ( #277 ), adding FIREWALL_OUTBOUND_SUBNETS
2020-10-29 19:23:44 -04:00
Quentin McGaw
edc08c46d4
Health server runs on 127.0.0.1:9999, fix #272
2020-10-27 03:28:25 +00:00
Quentin McGaw
0c81154f36
No firewall setup needed for Shadowsocks
2020-10-26 02:52:10 +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
2020-10-24 18:05:11 -04:00
Quentin McGaw
ea3b3bc8a3
Netlink Go library to interact with IP routes ( #267 )
2020-10-22 18:55:28 -04:00
Quentin McGaw
9c73faaaeb
Add linters and fix lint issues
2020-10-20 02:45:28 +00: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
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
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
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
c5b5ae9ca7
Add warning logs when openvpn cannot connect
2020-09-18 14:28:14 +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
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
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
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
7c102c0028
Fix #135
2020-08-30 14:48:57 +00:00
Quentin McGaw
aac5274eab
Fix #224
2020-08-29 19:14:52 +00:00
Quentin McGaw
d463e4cb69
New PIA servers support ( #227 )
...
* Adapt storage: SyncServers write to file option, export FlushToFile
* CLI built-in updater for old and new PIA servers
* Update hardcoded IP addresses for PIA old and new servers
* Add PIA old to allServers struct and update timestamps
* Adapt code to work with new and old PIA servers
* Remove PIA subdomains (unneeded) from resolver tool
2020-08-28 08:17:04 -04:00
Quentin McGaw
93aaf1ab02
Fix exiting without fatalOnError function
2020-08-27 22:59:58 +00:00
Quentin McGaw
aa9693a84d
Persistent server pools ( #226 )
...
* GetAllServers with version & timestamp tests
* Storage package to sync servers
* Use storage Sync to get and use servers
2020-08-25 19:38:50 -04:00
hyness
7e3e6f166a
Add new PIA servers hostnames to resolver tool ( #222 )
...
Refers to #216
2020-08-20 19:20:59 -04:00
Quentin McGaw
c614a192a4
Shadowsocks in Go ( #220 ), fixes #211
2020-08-20 19:19:54 -04:00
Quentin McGaw
cd60fe4406
Add PIA US Dallas region, refers to #212
2020-07-28 02:40:38 +00:00
Quentin McGaw
a2a9410053
Fix #212
2020-07-28 00:31:19 +00:00
Quentin McGaw
f95f6201b1
Rename repo to Gluetun, refers to #112
2020-07-26 12:07:06 +00:00
Quentin McGaw
8f547500d0
Purevpn support ( #208 )
...
Fixes #192
2020-07-25 11:19:45 -04:00
Quentin McGaw
c5c53a2ff8
FatalOnError fixes
2020-07-23 02:15:37 +00:00
Quentin McGaw
28e0abc922
FIREWALL_VPN_INPUT_PORTS variable, fixes #196
2020-07-20 02:07:13 +00:00
Quentin McGaw
a13be8f45e
Firewall simplifications
...
- Only a map of allowed input port to interface
- port forwarded is in the map of allowed input ports
- port forwarded has the interface tun0 in this map
- Always allow tcp and udp for allowed input ports
- Port forward state is in openvpn looper only
- Shadowsocks input port allowed on default interface only
- Tinyproxy input port allowed on default interface only
2020-07-20 00:39:59 +00:00
Quentin McGaw
85bd4f2e8d
Get default route and local subnet only at start
2020-07-20 00:35:53 +00:00
Quentin McGaw
4baf0420d6
Openvpn get settings http route
2020-07-19 14:26:24 +00:00
Quentin McGaw
29f74df450
Fix #202
2020-07-19 14:22:23 +00:00
Quentin McGaw
51af8d1ab0
PUBLICIP_PERIOD environment variable
2020-07-16 01:12:54 +00:00
Quentin McGaw
1281026850
Nordvpn support ( #189 ), fix #178
2020-07-15 18:14:45 -04:00
Quentin McGaw
616ba0c538
Replace explicit channels with functions
2020-07-15 01:34:46 +00:00
Quentin McGaw
7e7312459d
Cyberghost: read client key as file, see #179
2020-07-14 00:17:31 +00:00
Quentin McGaw
e3a677c22b
Add openvpnconfig command, for #179
2020-07-13 23:43:26 +00:00
Quentin McGaw
618441b008
Vyprvpn support, fix #181 ( #193 )
2020-07-13 08:04:35 -04:00
Quentin McGaw
0fc69e068e
FIREWALL_DEBUG variable, refers to #190 , #194
2020-07-13 02:14:56 +00:00
Quentin McGaw
7252ac722c
Logging improvements ( #195 )
...
- Fix (and test) filtering of lines
- Filter out shadowsocks cannot resolve error
- Change tinyproxy color
- Deduct logging level according to message content
2020-07-12 21:19:44 -04:00
Quentin McGaw
4cd6b33044
Add missing subnets setup, fixes #190
...
- Also setup subnet routes when firewall is disabled
2020-07-12 21:21:41 +00:00
Quentin McGaw
6afa4f69a0
Fix routing reading issues
...
- Detect VPN gateway properly
- Fix local subnet detection, refers to #188
- Split LocalSubnet from DefaultRoute (2 different routes actually)
2020-07-12 19:05:48 +00:00