➡️ 📖 Corresponding wiki
Features
WIREGUARD_MTUenviromnent variable (#1571)OPENVPN_VERSION=2.6support- Soft breaking changes:
- Openvpn 2.4 no longer supported
- Control server JSON field names changed
- NordVPN Wireguard support and new API endpoint (#1380)
- Wireguard MTU defaults to 1400 instead of 1420
- Wireguard debug logs log obfuscated keys
- Bump Alpine from 3.17 to 3.18
- Shadowsocks bumped from v0.4.0 to v0.5.0-rc1
Fixes
- AirVPN: allow Airvpn as Wireguard provider
- routing: ip family match function ipv4-in-ipv6 should match ipv6
- HTTP proxy: fix httpproxy.go error message (#1596)
- Netlink:
RouteListlist routes from all tables and does no longer filter by link- use
AddrReplaceinstead ofAddrAdd
- Wireguard: delete existing Wireguard link before adding it
Documentation
- Readme: fix Alpine version from 3.17 to 3.18 (#1636)
- Github labels: add problem category labels: Config problem, Routing, IPv6, Port forwarding
Maintenance
Code
internal/routing:- remove old assigned ip debug log
- unexport
IPIsPrivateasipIsPrivate - remove unused
VPNDestinationIP
internal/settings: usegithub.com/qdm12/gosettings- remove now unused settings helpers
- remove now unused helpers/messages.go
- use helping functions:
FileExists,ObfuscateKey,BoolToYesNo - use
gosettings/sources/envfunctions
internal/netlink:- IPv6 detection simplified
- Define own types with minimal fields and separate code by OS
- Allow to swap
github.com/vishvananda/netlink - Add files tagged for each platform
- Create non-implemented files for NOT linux
- Allow development on non-Linux platforms
- Allow to swap
internal/httpproxy: addTest_returnRedirectto prevent error wrap ofErrUseLastResponseinternal/settings/secrets: add test forreadSecretFileAsStringPtr
Dependencies
- Bump github.com/breml/rootcerts from 0.2.10 to 0.2.11 (#1567)
- Bump github.com/stretchr/testify from 1.8.2 to 1.8.4 (#1575, #1633)
- Bump golang.org/x/text from 0.9.0 to 0.10.0 (#1681)
CI
- CI triggers for pull requests to branches other than master
- Bump docker/build-push-action from 4.0.0 to 4.1.1 (#1684)
Development tooling
- Update devcontainer definitions
- Set build tag as
linuxfor cross development - Specify
.vscoderecommendations - Linting:
- upgrade to v1.53.2
- add linters
dupword,paralleltest,gosmopolitan,mirror,tagalign,zerologlintandgocheckcompilerdirectives - add linter
musttagand fix lint errors (change JSON fields in control server)