Anton Nesterov
b51aa0c6b9
feat(pia): PORT_FORWARD_ONLY variable ( #2070 )
2024-03-18 18:40:09 +01:00
Quentin McGaw
5467652b8b
chore(openvpn): support multiple CAs in generated config
2023-12-19 18:21:03 +00:00
Quentin McGaw
a194906bdd
chore(protonvpn): add debug logs for keeping port forwarded
2023-09-28 07:08:07 +00:00
Quentin McGaw
aa6dc786a4
chore(provider): use type assertion for port forwarders
2023-09-23 13:02:09 +00:00
Quentin McGaw
0406de399d
chore(portforward): move vpn gateway obtention within port forwarding service
2023-09-23 12:03:06 +00:00
Quentin McGaw
919b55c3aa
feat(wireguard): WIREGUARD_ALLOWED_IPS variable ( #1291 )
2023-07-06 09:08:59 +02:00
Quentin McGaw
8ad16cdc12
feat(protonvpn): port forwarding support with NAT-PMP ( #1543 )
...
Co-authored-by: Nicholas Xavier <nicho@nicho.dev >
2023-06-30 20:09:44 +02:00
Quentin McGaw
e8f2296a0d
change(openvpn): Openvpn 2.4 no longer supported
2023-05-21 13:20:02 +00:00
Lars Haalck
1dd38bc658
feat(wireguard): WIREGUARD_MTU enviromnent variable ( #1571 )
2023-05-21 15:11:07 +02:00
Julio Gutierrez
5200ee5722
chore(settings): use generics for helping functions ( #1427 )
2023-05-20 22:37:23 +02:00
Quentin McGaw
86ec75722a
chore(wireguard): use netip.AddrPort instead of *net.UDPAddr
2023-05-20 20:06:12 +00:00
Quentin McGaw
0a29337c3b
chore(all): replace net.IP with netip.Addr
2023-05-20 20:06:12 +00:00
Quentin McGaw
d21a943779
chore(all): use netip.Prefix for ip networks
...
- remove usage of `net.IPNet`
- remove usage of `netaddr.IPPrefix`
2023-04-27 13:42:50 +00:00
Quentin McGaw
723d0f5e12
chore(lint): upgrade from v1.51.2 to v1.52.2
2023-04-12 09:40:00 +00:00
Quentin McGaw
3b86927ca7
fix(vpnsecure): upgrade Openvpn key encryption if needed ( #1471 )
2023-04-03 03:40:09 -07:00
Quentin McGaw
4ba159e483
chore(all): review error wrappings
...
- remove repetitive `cannot` and `failed` prefixes
- rename `unmarshaling` to `decoding`
2023-04-01 16:57:18 +00:00
Quentin McGaw
2e3eb1fd7b
fix(wireguard): ignore IPv6 addresses if IPv6 is not supported
2022-12-14 11:52:03 +00:00
Quentin McGaw
03ed3cb1c8
feat(wireguard): WIREGUARD_IMPLEMENTATION variable
...
- Can be `auto` (default), `userspace` or `kernelspace`
2022-12-02 11:16:27 +00:00
Quentin McGaw
f15dde6502
feat(providers): add AirVPN support ( #1145 )
2022-10-17 02:54:56 -04:00
Quentin McGaw
6a5aa8eddb
fix(openvpn): do not set tun-ipv6
...
- Server should push `tun-ipv6` if it is available
- Add ignore filter for `tun-ipv6` if ipv6 is not supported on client
- Fixes #435
2022-09-14 00:03:31 +00:00
Quentin McGaw
7fdc7de210
feat(ipv6): use ipv6 endpoint IPs if supported
2022-09-12 21:31:37 +00:00
Quentin McGaw
dd7630997b
fix(vpnsecure): allow empty OpenVPN user+password
2022-09-10 14:46:17 +00:00
Quentin McGaw
5ddd703f6a
feat(vpn): auto detection of IPv6 support
...
- `OPENVPN_IPV6` removed
- Affects OpenVPN
- Use the same mechanism for OpenVPN and Wireguard
- Check only once at program start since this is unlikely to change at runtime
- Log if IPv6 is supported
- Remove `IPv6` boolean from settings structs
- Move IPv6 detection as a method on NetLinker
2022-09-06 12:16:29 +00:00
Quentin McGaw
71c51a7455
chore(provider/utils): do not check for empty wg keys
2022-09-05 15:50:02 +00:00
Quentin McGaw
062b6a276c
fix(settings): read PEM files but b64 env vars
...
- Extract base64 data from PEM files and secret files
- Environment variables are not PEM encoded and only the base64 data
- Affects OpenVPN certificate, key and encrypted key
2022-08-24 17:48:45 +00:00
Quentin McGaw
a182e3503b
feat: add VPNsecure.me support ( #848 )
...
- `OPENVPN_ENCRYPTED_KEY` environment variable
- `OPENVPN_ENCRYPTED_KEY_SECRETFILE` environment variable
- `OPENVPN_KEY_PASSPHRASE` environment variable
- `OPENVPN_KEY_PASSPHRASE_SECRETFILE` environment variable
- `PREMIUM_ONLY` environment variable
- OpenVPN user and password not required for vpnsecure provider
2022-08-15 16:54:58 -07:00
Quentin McGaw
8db2944749
chore(settings): OpenVPN ClientCrt -> Cert
2022-08-13 18:59:07 +00:00
Quentin McGaw
5986432a22
chore(settings): OpenVPN ClientKey -> Key
2022-08-13 18:58:09 +00:00
barino28
9f959dbc6a
fix(expressvpn): OpenVPN fragment option and add ciphers ( #1047 )
...
* Fragment was defined in `OpenVPNProviderSettings` but was not written to the OpenVPN configuration file.
* Added two additional ciphers to the configuration for ExpressVPN
Authored-by: barino86 <barino@mac.com >
2022-06-29 05:23:16 -07:00
Quentin McGaw
535297dcf5
chore: extract.PEM replaces PEM parse functions
2022-06-24 23:10:00 +00:00
Quentin McGaw
89b6a031b0
chore(vpn): add check for empty public key for Wireguard
2022-06-12 15:59:48 +00:00
Quentin McGaw
ebd94723c1
chore(updater): incorporate FetchServers method in Provider interface
...
- Each provider interface can now fetch updated servers data
- Rename each provider updater subpackage name to `updater`
- Updater constructor does not take a settings struct
- Updater update method takes in a slice of provider strings
2022-06-09 23:47:41 +00:00
Quentin McGaw
5359257c65
hotfix(pia): port forwarding to use server name
2022-06-06 18:09:21 +00:00
Quentin McGaw
684cef6eab
hotfix(openvpn): openvpn udp specific lines added
2022-06-05 15:48:14 +00:00
Quentin McGaw
36b504609b
chore(all): memory and thread safe storage
...
- settings: get filter choices from storage for settings validation
- updater: update servers to the storage
- storage: minimal deep copying and data duplication
- storage: add merged servers mutex for thread safety
- connection: filter servers in storage
- formatter: format servers to Markdown in storage
- PIA: get server by name from storage directly
- Updater: get servers count from storage directly
- Updater: equality check done in storage, fix #882
2022-06-05 15:19:16 +00:00
Quentin McGaw
4bcd8ee9f5
chore(constants): add internal/constants/openvpn package
2022-05-27 16:29:49 +00:00
Quentin McGaw
7ff14a356c
chore(internal/providers): simplify OpenVPN config building
2022-05-27 16:29:47 +00:00
Quentin McGaw
da8c104ebd
chore(internal/provider/utils): unexport functions
2022-05-07 19:33:12 +00:00
Quentin McGaw
0ef7b66047
chore(internal/provider): GetConnection test
2022-05-07 19:33:05 +00:00
Quentin McGaw
e32d251cc1
hotfix(windscribe): OpenVPN certificate validation
2022-05-07 07:05:24 +00:00
Quentin McGaw
0c0f1663b1
chore: simplify provider GetConnection
2022-04-20 15:16:55 +00:00
Quentin McGaw
f5c00c3e2d
chore(filter): common filter for all providers
2022-04-18 17:08:31 +00:00
Quentin McGaw
934fafb64b
chore(constants): internal/constants/vpn package
2022-04-18 11:14:07 +00:00
Quentin McGaw
0dd723b29f
chore(provider): add safety connection count check
2022-04-17 16:23:53 +00:00
Quentin McGaw
7d824a5179
chore(settings): refactor settings processing ( #756 )
...
- Better settings tree structure logged using `qdm12/gotree`
- Read settings from environment variables, then files, then secret files
- Settings methods to default them, merge them and override them
- `DNS_PLAINTEXT_ADDRESS` default changed to `127.0.0.1` to use DoT. Warning added if set to something else.
- `HTTPPROXY_LISTENING_ADDRESS` instead of `HTTPPROXY_PORT` (with retro-compatibility)
2022-01-06 06:40:23 -05:00
Quentin McGaw (desktop)
ca975b1c01
Feat: multiple OpenVPN ciphers for negotiation
...
- Perfect privacy to accept AES-256-CBC and AES-256-GCM
- Cyberghost default cipher set to AES-256-GCM
- `OPENVPN_CIPHER` accept comma separated cipher values
- Use `ncp-ciphers` for OpenVPN 2.4
2021-10-05 20:36:23 +00:00
Quentin McGaw (desktop)
cf95692b93
Maint: package local narrow Logger interfaces
2021-09-23 17:06:09 +00:00
Quentin McGaw (desktop)
f9aadeef1c
Maint: Remove CYBERGHOST_GROUP (change)
...
- It does not make any sense with newer server data
- It was to be deprecated anyway
2021-09-23 13:54:24 +00:00
Quentin McGaw (desktop)
145da0b21d
Maint: rename wireguard CustomPort
2021-09-10 19:07:14 +00:00
Quentin McGaw (desktop)
61afdce788
Hotfix: Wireguard WIREGUARD_ADDRESSES setting
2021-08-28 20:59:39 +00:00