Quentin McGaw
12f08bf5ad
fix(configuration/sources/files/wireguard): fix parsing ipv6 endpoint port
2026-05-05 21:28:08 +00:00
Quentin McGaw
4a78989d9d
chore: do not use sentinel errors when unneeded
...
- main reason being it's a burden to always define sentinel errors at global scope, wrap them with `%w` instead of using a string directly
- only use sentinel errors when it has to be checked using `errors.Is`
- replace all usage of these sentinel errors in `fmt.Errorf` with direct strings that were in the sentinel error
- exclude the sentinel error definition requirement from .golangci.yml
- update unit tests to use ContainersError instead of ErrorIs so it stays as a "not a change detector test" without requiring a sentinel error
2026-05-02 03:29:46 +00:00
Drew Wells
2006fae0e3
fix(wireguard): support IPv6 address formatting from config files ( #3273 )
2026-04-08 17:04:35 +02:00
Quentin McGaw
00d1592899
hotfix(sources/secrets): fix wireguard/amnezia mixup
...
- Fix #3228
2026-03-13 14:48:11 +00:00
Quentin McGaw
b04529c380
chore!(amneziawg): refactor to be separate from wireguard
...
- amneziawg is now a VPN protocol and no longer a Wireguard implementation
- Use it with VPN_TYPE=amneziawg
- document AMNEZIAWG_* options in Dockerfile
- document amneziawg support in readme
- separate amneziawg settings and code from wireguard
- re-use code from wireguard whenever possible
2026-03-11 17:16:18 +00:00
Zhurik
e6fc792f4f
feat(wireguard): amneziawg implementation ( #3150 )
2026-03-11 14:55:28 +01:00
Quentin McGaw
76a4bb5dc3
chore: use gofumpt for code formatting
2024-10-11 19:27:29 +00:00
Quentin McGaw
abe9dcbe33
chore(lint): add new linters and update codebase
...
- add canonicalheader
- add copyloopvar
- add fatcontext
- add intrange
2024-10-11 18:28:00 +00:00
Quentin McGaw
3c8e80a1a4
chore(lint): upgrade linter from v1.56.2 to v1.61.0
...
- Remove no longer needed exclude rules
- Add new exclude rules for printf govet errors
- Remove deprecated linters `execinquery` and `exportloopref`
- Rename linter `goerr113` to `err113`
- Rename linter `gomnd` to `mnd`
2024-10-11 18:05:54 +00:00
Quentin McGaw
36c8da7ea7
hotfix(config): split common VPN options per VPN type
...
- Split `VPN_ENDPOINT_IP` in `OPENVPN_ENDPOINT_IP` and `WIREGUARD_ENDPOINT_IP`
- Split `VPN_ENDPOINT_PORT` in `OPENVPN_ENDPOINT_PORT` and `WIREGUARD_ENDPOINT_PORT`
- Fixes bad usage of Wireguard config file endpoint for OpenVPN #2347
2024-07-27 10:42:01 +00:00
Quentin McGaw
fe05521f2b
feat(config): read wireguard config file without case sensitivity
2024-06-28 20:57:57 +00:00
Quentin McGaw
7b4befce61
hotfix(settings): openvpn encrypted key reading from file
2024-04-08 07:40:14 +00:00
Quentin McGaw
e01ce9c6d8
hotfix(config): read wireguard config from /gluetun/wireguard/wg0.conf
2024-03-26 07:04:26 +00:00
Quentin McGaw
ecc80a5a9e
chore(config): upgrade to gosettings v0.4.0
...
- drop qdm12/govalid dependency
- upgrade qdm12/ss-server to v0.6.0
- do not unset sensitive config settings (makes no sense to me)
2024-03-25 19:14:20 +00:00
Quentin McGaw
4d9c619b24
chore(config): use openvpn protocol string field instead of TCP bool
2024-03-25 18:29:51 +00:00
Quentin McGaw
62007bf1a1
chore(config): provider name field as string instead of string pointer
2024-03-23 09:41:25 +00:00
Quentin McGaw
7674efe8d7
chore(config): remove bad retro-compatiblity for HTTP_CONTROL_SERVER_ADDRESS
...
- Retro-compatible variable key CONTROL_SERVER_ADDRESS was never defined
- Old variable key CONTROL_SERVER_PORT was removed in v3.28.0 and no complain so far
2024-03-23 09:37:54 +00:00
Adam Hebden
b3ceece779
feat(nordvpn): filter with SERVER_CATEGORIES ( #1806 )
...
- update NordVPN servers data built-in
2024-03-22 10:02:31 +01:00
Dennis Gaida
fb00fb16c2
feat(settings): load wireguard individual fields as secret files ( #1348 )
...
- Private key from `/run/secrets/wireguard_private_key` (path configurable with `WIREGUARD_PRIVATE_KEY_SECRETFILE`)
- Preshared key from `/run/secrets/wireguard_preshared_key` (path configurable with `WIREGUARD_PRESHARED_KEY_SECRETFILE`)
- Addresses from `/run/secrets/wireguard_addresses` (path configurable with `WIREGUARD_ADDRESSES_SECRETFILE`)
2024-03-21 10:08:41 +01:00
Quentin McGaw
6096b7ad4b
feat(config): read Wireguard config from secret
...
- defaults to `/run/secrets/wg0.conf`
- can be changed with variable `WIREGUARD_CONF_SECRETFILE`
2024-03-21 08:18:14 +00:00
Anton Nesterov
b51aa0c6b9
feat(pia): PORT_FORWARD_ONLY variable ( #2070 )
2024-03-18 18:40:09 +01:00
Anton Nesterov
84d00b42f1
fix(config): STREAM_ONLY should set StreamOnly flag for server selection ( #2126 )
2024-03-18 16:01:00 +01:00
Quentin McGaw
423a5c37e0
feat(publicip): PUBLICIP_API variable supporting ipinfo and ip2location
2024-02-14 07:36:45 +00:00
Quentin McGaw
6a6337b98f
feat(publicip/ipinfo): add PUBLICIP_API_TOKEN variable
2024-02-13 10:55:06 +00:00
Quentin McGaw
657b4b787f
fix(custom): read wireguard presharedkey from peer section
2023-12-09 17:26:01 +00:00
Quentin McGaw
4105f74ce1
feat(portforward): port redirection with VPN_PORT_FORWARDING_LISTENING_PORT
2023-11-23 08:37:43 +00:00
Quentin McGaw
de196490db
fix(settings): wireguard preshared key from toml file
2023-11-08 10:06:57 +00:00
Quentin McGaw
9b00763a69
feat(config): add /32 if not present for Wireguard addresses
2023-09-24 16:50:34 +00:00
Quentin McGaw
0ebfe534d3
feat(settings): parse Wireguard settings from /gluetun/wireguard/wg0.conf ( #1120 )
2023-07-22 17:25:30 +02:00
Quentin McGaw
919b55c3aa
feat(wireguard): WIREGUARD_ALLOWED_IPS variable ( #1291 )
2023-07-06 09:08:59 +02:00
Quentin McGaw
fae6544431
feat(pf): VPN_PORT_FORWARDING_PROVIDER variable ( #1616 )
2023-06-30 19:24:01 +02:00
Quentin McGaw
d3d8484b8e
hotfix(env): case sensitivity for OPENVPN_CUSTOM_CONFIG
2023-06-28 12:27:13 +00:00
Quentin McGaw
a9cd7be3f9
chore(sources/env): bump gosettings to v0.3.0-rc13
...
- Use `RetroKeys` option with env.* method calls
- Use `CSV*` typed methods
- Inject `handleDeprecatedKey` function
2023-06-08 07:40:37 +00:00
Quentin McGaw
3b136e02db
chore(secrets): add test for readSecretFileAsStringPtr
2023-06-01 09:07:25 +00:00
Quentin McGaw
482447c151
chore(env): bump qdm12/gosettings to v0.3.0-rc11
2023-06-01 09:07:22 +00:00
Quentin McGaw
5d8fbf8006
fix(sources/secrets): do not lowercase env secret file paths
2023-06-01 08:20:13 +00:00
Quentin McGaw
2ab80771d9
feat(shadowsocks): bump from v0.4.0 to v0.5.0-rc1
2023-05-31 14:31:56 +00:00
Quentin McGaw
7399c00508
chore(sources/env): bump gosettings to v0.3.0-rc9
2023-05-31 14:31:56 +00:00
Quentin McGaw
b87b2109b1
chore(settings): use gosettings/sources/env functions
2023-05-30 13:02:10 +00:00
Quentin McGaw
2c30984a10
hotfix(env): read some settings with case sensitivity
2023-05-30 12:46:10 +00:00
Quentin McGaw
47593928f9
fix(settings): use qdm12/gosettings env.Get
2023-05-29 20:43:06 +00:00
Filippo Buletto
7ba70f19ef
fix(settings): fix httpproxy.go error message ( #1596 )
2023-05-27 20:01:55 +02:00
Quentin McGaw
75670a80b8
chore(deps): bump gosettings and govalid
2023-05-27 08:52:41 +00:00
Lars Haalck
1dd38bc658
feat(wireguard): WIREGUARD_MTU enviromnent variable ( #1571 )
2023-05-21 15:11:07 +02:00
Quentin McGaw
0a29337c3b
chore(all): replace net.IP with netip.Addr
2023-05-20 20:06:12 +00:00
Quentin McGaw
b6c8399c3b
feat(health): HEALTH_SUCCESS_WAIT_DURATION
2023-05-07 09:35:51 +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
67bd1171ae
feat(env): rename vpn port forwarding variables
...
- `VPN_PORT_FORWARDING_STATUS_FILE`
- `VPN_PORT_FORWARDING`
- Deprecate PIA specific variables for VPN port forwarding
2023-04-27 10:23:55 +00:00
Quentin McGaw
4e2e46014d
chore(settings): inet.af/netaddr -> net/netip
2023-04-23 11:43:50 +00:00
Quentin McGaw
1693c59e0d
chore(lint): fix issues
...
- sources/env: remove unused `envToInt`
- fix `ireturn` error for `newCipherDESCBCBlock`
2023-04-22 11:02:53 +00:00