Quentin McGaw (desktop)
04fad1b781
Maint: internal/subnet package
2021-08-25 17:22:48 +00:00
Quentin McGaw (desktop)
dcaf952986
Maint: http proxy server constructor returns struct
2021-08-25 17:03:55 +00:00
Quentin McGaw (desktop)
ca3b9e892d
Maint: http proxy HTTPS handling simplifications
2021-08-25 17:02:50 +00:00
Quentin McGaw (desktop)
9f12ffc069
Fix: MULTIHOP_ONLY defaults to no
2021-08-24 13:12:40 +00:00
Quentin McGaw (desktop)
0d6800a515
Fix: panic for certain no server found errors
2021-08-23 21:19:53 +00:00
Quentin McGaw (desktop)
b3d8b78205
Maint: only internal/netlink depends on github.com/vishvananda/netlink
2021-08-23 21:12:28 +00:00
Quentin McGaw (desktop)
ee82a85543
Maint: internal/routing uses internal/netlink
2021-08-23 20:56:10 +00:00
Quentin McGaw (desktop)
7907146aaf
Maint: rework IPIsPrivate in internal/routing
2021-08-23 20:50:50 +00:00
Quentin McGaw (desktop)
1a677ce4f7
Maint: internal/routing returns *Routine struct
2021-08-23 20:50:32 +00:00
Quentin McGaw (desktop)
f1a6594474
Maint: utils.FilterByProtocol function
2021-08-23 20:16:29 +00:00
Quentin McGaw
f1a82d9d9c
Feat: rework Surfshark servers data ( #575 )
...
- Feat: `MULTIHOP_ONLY` variable
- Feat: `COUNTRY` variable
- Feat: `CITY` variable
- Feat: `REGION` variable, with retro-compatibility
- Feat: merge servers from API, zip and hardcoded hostnames
- Fix: remove outdated and duplicate servers
- Maint: faster update with fully parallel DNS resolutions
2021-08-23 10:25:00 -07:00
Quentin McGaw (desktop)
8b52af0d03
Maint: common GetPort for OpenVPN+Wireguard providers
2021-08-23 16:13:20 +00:00
Quentin McGaw (desktop)
dbf5c569ea
Maint: common GetProtocol for OpenVPN+Wireguard providers
2021-08-23 16:07:47 +00:00
Quentin McGaw (desktop)
06a2d79cb4
Feat: Wireguard support for Ivpn ( #584 )
2021-08-23 16:01:01 +00:00
Quentin McGaw (desktop)
eb6238ee52
Feat: WIREGUARD_PORT for Mullvad
2021-08-23 16:00:40 +00:00
Quentin McGaw (desktop)
f41fec57ed
Feat: IVPN supports TCP and custom port
2021-08-23 13:34:00 +00:00
Quentin McGaw
c348343b22
IVPN server data update code and ISP filter ( #578 )
...
- Use IVPN's HTTP API instead of their .zip file
- Unit tests for API and GetServers
- Paves the way for Wireguard
- Update server information for IVPN
- Add `ISP` filter for IVPN
2021-08-22 20:11:56 -07:00
Quentin McGaw
b69dcb62e3
LOG_LEVEL variable (#577 )
2021-08-22 18:57:10 -07:00
Quentin McGaw (laptop)
e4a260f148
Maint: upgrade qdm12/golibs
v3.23.0
2021-08-22 20:44:14 +00:00
Quentin McGaw
614eb10d67
Wireguard support for Mullvad and Windscribe ( #565 )
...
- `internal/wireguard` client package with unit tests
- Implementation works with kernel space or user space if unavailable
- `WIREGUARD_PRIVATE_KEY`
- `WIREGUARD_ADDRESS`
- `WIREGUARD_PRESHARED_KEY`
- `WIREGUARD_PORT`
- `internal/netlink` package used by `internal/wireguard`
2021-08-22 14:58:39 -07:00
Quentin McGaw
0bfd58a3f5
Fix: sorted IP addresses for servers.json ( #574 )
...
- Reduce deltas between updates
- Applies to the following providers
- IPVanish
- IVPN
- Surfshark
- Torguard
- VPNUnlimited
2021-08-21 16:03:18 -07:00
Quentin McGaw (desktop)
ff56857fc8
Fix: port forwarding VPN interface specification
2021-08-21 18:16:44 +00:00
Quentin McGaw (desktop)
8d258feff7
Hot fix: interface name set for openvpn configs
2021-08-20 01:13:04 +00:00
Quentin McGaw (desktop)
96ee1bbfb2
Maint: upgrade from Go 1.16 to Go 1.17
2021-08-20 00:07:41 +00:00
Quentin McGaw (desktop)
abaf688ad8
Doc: update readme
...
- Image size lowered to 34MB
- Using Alpine 3.14
- Beta wireguard support
2021-08-19 23:53:47 +00:00
Quentin McGaw (desktop)
bec8ff27ae
Feat: OPENVPN_INTERFACE defaulting to tun0
...
- Fix: custom config with custom network interface name for firewall
- Keep VPN tunnel interface in firewall state
- Vul fix: only allow traffic through vpn interface when needed
- Adapt code to adapt to network interface name
- Remove outdated TUN and TAP constants
2021-08-19 23:22:55 +00:00
Quentin McGaw (desktop)
7191d4e911
Maint: upgrade golibs, fix logger settings inheritance
2021-08-19 19:29:50 +00:00
Quentin McGaw (desktop)
6f59bc3037
Maint: simplify provider configuration logging
2021-08-19 17:41:37 +00:00
Quentin McGaw (desktop)
5c2286f4e8
Maint: simplify settings code in internal/vpn
2021-08-19 14:57:11 +00:00
Quentin McGaw (desktop)
9218c7ef19
Maint: create OpenVPN runner in VPN run loop
2021-08-19 14:45:57 +00:00
Quentin McGaw (desktop)
3d8e61900b
Maint: make VPN connection not specific to OpenVPN
...
- Add VPN field to ServerSelection struct
- Set VPN type to server selection at start using VPN_TYPE
- Change OpenVPNConnection to Connection with Type field
- Rename Provider GetOpenVPNConnection to GetConnection
- Rename GetTargetIPOpenVPNConnection to GetTargetIPConnection
- Rename PickRandomOpenVPNConnection to PickRandomConnection
- Add 'OpenVPN' prefix to OpenVPN specific methods on connection
2021-08-19 14:09:41 +00:00
Quentin McGaw (desktop)
105d81c018
Maint: move Openvpn package files
...
- Move internal/openvpn/config/*.go to internal/openvpn/
- Move internal/openvpn/setup.go to internal/vpn/openvpn.go
2021-08-19 13:31:12 +00:00
Quentin McGaw (desktop)
d4ca5cf257
Maint: internal/vpn package for vpn loop
2021-08-18 22:01:04 +00:00
Quentin McGaw (desktop)
05018ec971
Maint: use VPN settings instead of OpenVPN in loop
2021-08-18 21:27:09 +00:00
Quentin McGaw (desktop)
538bc72c3c
Maint: better log when cathing an OS signal
2021-08-18 21:22:27 +00:00
Quentin McGaw (desktop)
0027a76c49
Maint: move OpenVPN streams processing to config package
2021-08-18 21:16:28 +00:00
Quentin McGaw (desktop)
a0cb6fabfd
Maint: rename openvpn command.go to start.go
2021-08-18 20:47:03 +00:00
Quentin McGaw (desktop)
9e5400f52d
Maint: split out OpenVPN version functions to openvpn/config/version.go
2021-08-18 20:46:20 +00:00
Quentin McGaw (desktop)
7a1d0ff3ec
Maint: internal/openvpn setup.go file
2021-08-18 20:43:47 +00:00
Quentin McGaw (desktop)
d9fbecaa01
Maint: minor changes to openvpn/config package
...
- Constructor returns concrete struct instead of interface
- Rename conf to openvpnConf in openvpn loop
2021-08-18 20:28:42 +00:00
Quentin McGaw (desktop)
ecdf9396a5
Maint: move OpenVPN configurator to openvpn/config
2021-08-18 20:23:50 +00:00
Quentin McGaw (desktop)
df51aa40f4
Maint: split custom config files in openvpn/custom
2021-08-18 20:18:49 +00:00
Quentin McGaw (desktop)
996942af47
Maint: move custom config files to custom package
2021-08-18 20:14:02 +00:00
Quentin McGaw (desktop)
f17a4eae3e
Maint: rework OpenVPN custom configuration code
...
- Refactor code and errors returned
- Add unit tests
- Make custom config code independent from loop
2021-08-18 20:12:26 +00:00
Quentin McGaw (desktop)
c515603d2f
Fix: Openvpn custom config: remove user set
2021-08-18 17:41:53 +00:00
Quentin McGaw (desktop)
14c3b6429b
Maint: openvpn process user in Openvpn settings
2021-08-18 16:16:47 +00:00
Quentin McGaw (desktop)
bd110b960b
Maint: remove startPFCh from Openvpn loop
2021-08-18 16:07:35 +00:00
Quentin McGaw (desktop)
3ad4319163
Maint: minor Openvpn loop simplifications
2021-08-18 15:52:38 +00:00
Quentin McGaw (desktop)
97340ec70b
Fix: chown openvpn configuration file
2021-08-18 15:47:11 +00:00
Quentin McGaw (desktop)
5140a7b010
Maint: set PUID and PGID in openvpn configurator
2021-08-18 15:44:58 +00:00