dependabot[bot]
44bc60b00d
Chore(deps): Bump docker/build-push-action from 4.0.0 to 4.1.1 ( #1684 )
2023-06-28 14:28:59 +02:00
dependabot[bot]
6f0be57860
Chore(deps): Bump golang.org/x/text from 0.9.0 to 0.10.0 ( #1681 )
2023-06-28 14:28:44 +02:00
Quentin McGaw
d3d8484b8e
hotfix(env): case sensitivity for OPENVPN_CUSTOM_CONFIG
2023-06-28 12:27:13 +00:00
Quentin McGaw
515ae8efb3
hotfix(nordvpn): update url
2023-06-18 11:00:36 +00:00
Quentin McGaw
83826e1253
hotfix(settings): fix godot lint error
2023-06-12 13:51:50 +00:00
Quentin McGaw
4292a500ae
fix(wireguard): delete existing Wireguard link before adding it
2023-06-10 20:23:21 +00:00
Quentin McGaw
4a0f9c36ba
hotfix(nordvpn): accept countries in SERVER_REGIONS
2023-06-10 16:29:30 +00:00
Quentin McGaw
ea1991496e
hotfix(routing): remove debug prints
2023-06-08 22:44:08 +00:00
Quentin McGaw
4675572328
hotfix(routing): change main table from 0 to 254
2023-06-08 20:03:07 +00:00
Quentin McGaw
412921fc1f
hotfix(routing): ignore non-main table for routes
...
- When searching for default routes
- When searching for local networks
2023-06-08 19:50:42 +00:00
Quentin McGaw
1c905d0e6f
chore(labels): add problem category labels
...
- Config problem
- Routing
- IPv6
- Port forwarding
2023-06-08 10:04:09 +00:00
Quentin McGaw
2ec9293324
feat(wireguard): MTU defaults to 1400 instead of 1420
2023-06-08 09:50:21 +00:00
Quentin McGaw
9b39a301a8
chore(routing): remove unused VPNDestinationIP
2023-06-08 09:17:27 +00:00
Quentin McGaw
cade2b99bf
chore(routing): unexport IPIsPrivate as ipIsPrivate
2023-06-08 09:14:17 +00:00
Quentin McGaw
40cdb4f662
fix(netlink): RouteList list routes from all tables
...
- Do not filter by link anymore
- IPv6 detection simplified
2023-06-08 09:12:46 +00:00
Quentin McGaw
c58d6d4de2
chore(lint): upgrade to v1.53.2 and add linters
...
- gosmopolitan
- mirror
- tagalign
- zerologlint
2023-06-08 07:43:30 +00:00
Quentin McGaw
0da2b6ad0b
chore(lint): add musttag linter and fix lint errors
...
Breaking change: JSON fields changed in the server API
2023-06-08 07:43:26 +00:00
Quentin McGaw
37f0e5c73b
chore(lint): add linters dupword, paralleltest and gocheckcompilerdirectives
2023-06-08 07:40:37 +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
Julio Gutierrez
07459ee854
feat(nordvpn): new API endpoint and wireguard support ( #1380 )
...
Co-authored-by: Quentin McGaw <quentin.mcgaw@gmail.com >
2023-06-08 09:39:07 +02:00
Quentin McGaw
943943e8d1
fix(settings): MergeWithSlice for both elements nil
2023-06-01 10:00:44 +00:00
Quentin McGaw
5927ee9dec
chore(ci): trigger for PR to other branches
2023-06-01 09:09:01 +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
Leeroy Ding
2d2f657851
docs(readme): fix Alpine version from 3.17 to 3.18 ( #1636 )
2023-05-31 16:27:10 +02:00
dependabot[bot]
0e21fdc9de
Chore(deps): Bump github.com/stretchr/testify from 1.8.3 to 1.8.4 ( #1633 )
2023-05-31 16:24:49 +02: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
Quentin McGaw
b961284845
feat(dev): specify vscode recommendations
2023-05-29 16:42:00 +00:00
Quentin McGaw
b5d230d47a
chore(dev): set build tag as linux for cross development
2023-05-29 16:40:10 +00:00
Quentin McGaw
c2972f7bf6
chore(dev): update devcontainer definitions
2023-05-29 15:57:09 +00:00
Quentin McGaw
aed235f52d
chore(httpproxy): add Test_returnRedirect to prevent error wrap of ErrUseLastResponse
2023-05-29 09:44:49 +00:00
Quentin McGaw
bfe5e4380f
fix(httpproxy): redirect from http to https
2023-05-29 09:39:48 +00:00
Quentin McGaw
eca182a32f
chore(tun): not linux or not darwin tagged files
2023-05-29 09:36:29 +00:00
Quentin McGaw
caabaf918e
feat(dev): support development on darwin (OSX)
...
- Netlink linux tagged files
- Netlink linux || darwin tagged files
- Create non-implemented files for NOT linux
- Create non-implemented files for NOT linux and NOT darwin
- Specify wireguard netlink integration test as for linux only
2023-05-29 07:26:59 +00:00
Quentin McGaw
d6924597dd
chore(netlink): separate linux only and OS independent code
...
- Move `Addr` and its `String` method to `types.go`
- Move `IsWireguardSupported` to `wireguard.go` to have `family.go` OS independant
- Remove dependency on vishvananda/netlink in `ipv6.go`
- Move `Link` to `types.go`
- Move `Route` to `types.go`
- Move `Rule` and its `String` method to `types.go`
2023-05-29 06:56:55 +00:00
Quentin McGaw
c26476a2fd
chore(netlink): remove unused link fields
2023-05-29 06:56:52 +00:00
Quentin McGaw
5be0d0bbba
feat(wireguard): debug logs log obfuscated keys
2023-05-29 06:45:12 +00:00
Quentin McGaw
38ddcfa756
chore(netlink): define own types with minimal fields
...
- Allow to swap `github.com/vishvananda/netlink`
- Allow to add build tags for each platform
- One step closer to development on non-Linux platforms
2023-05-29 06:44:58 +00:00
Quentin McGaw
163ac48ce4
chore(wireguard): fix netlink integration test
...
- Broken since recent commit 9d1a0b60a2
2023-05-29 05:54:01 +00:00
Quentin McGaw
def407d610
chore(settings): use qdm12/gosettings functions
...
- use: FileExists, ObfuscateKey, BoolToYesNo
- remove local functions moved to gosettings
2023-05-28 10:33:36 +00:00
Quentin McGaw
22b2e2cc6e
chore(deps): bump qdm12/gosettings to v0.3.0-rc4
2023-05-28 10:29:15 +00:00
Quentin McGaw
c92962e97c
chore(deps): tidy Go dependencies
2023-05-28 10:26:25 +00:00
Quentin McGaw
9d1a0b60a2
fix(netlink): use AddrReplace instead of AddrAdd
2023-05-28 10:22:51 +00:00
Quentin McGaw
9cf2c9c4d2
chore(settings): remove now unused helpers/messages.go
2023-05-28 10:22:51 +00:00
Quentin McGaw
e7150ba254
chore(settings): remove unused settings helpers
2023-05-28 10:22:51 +00:00
Filippo Buletto
7ba70f19ef
fix(settings): fix httpproxy.go error message ( #1596 )
2023-05-27 20:01:55 +02:00
dependabot[bot]
9488a9f88a
Chore(deps): Bump github.com/breml/rootcerts from 0.2.10 to 0.2.11 ( #1567 )
2023-05-27 20:01:17 +02:00
dependabot[bot]
020196f1c3
Chore(deps): Bump github.com/stretchr/testify from 1.8.2 to 1.8.3 ( #1575 )
2023-05-27 20:01:08 +02:00
Quentin McGaw
7e325715c7
hotfix(settings): case insensitivity for server filters
2023-05-27 08:53:18 +00:00
Quentin McGaw
75670a80b8
chore(deps): bump gosettings and govalid
2023-05-27 08:52:41 +00:00
Quentin McGaw
a43973c093
chore(settings): use github.com/qdm12/gosettings
2023-05-25 12:08:43 +00:00
Quentin McGaw
1827a03afd
fix(airvpn): allow Airvpn as Wireguard provider
2023-05-24 21:47:31 +00:00
Quentin McGaw
3100cc1e5e
hotfix(routing): unmap ipv4-in-ipv6 when converting
2023-05-22 08:03:52 +00:00
Quentin McGaw
eed62fdc6d
fix(routing): ip family match function
...
- ipv4-in-ipv6 should match ipv6
2023-05-22 06:01:52 +00:00
Quentin McGaw
d2b8dbcb10
chore(routing): remove old assigned ip debug log
2023-05-22 06:01:07 +00:00
Quentin McGaw
90d43856ef
fix(routing): net.IPNet to netip.Prefix conversion
2023-05-22 06:00:24 +00:00
Quentin McGaw
86f95cb390
chore(docker): bump Alpine from 3.17 to 3.18
2023-05-21 13:25:01 +00:00
Quentin McGaw
3b807e2ca9
feat(openvpn): add support for openvpn 2.6
2023-05-21 13:23:51 +00: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
Quentin McGaw
63303bc311
fix(mullvad): add aes-256-gcm cipher
2023-05-21 12:33:27 +00: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
00ee6ff9a7
chore(wireguard): fix netlink integration tests
2023-05-20 20:06:12 +00:00
Quentin McGaw
6d0a2a968f
chore(settings): remove unneeded CopyNetipPrefix
2023-05-20 20:06:12 +00:00
dependabot[bot]
4bb77ebcc5
Chore(deps): Bump golang.org/x/net from 0.9.0 to 0.10.0 ( #1561 )
2023-05-10 11:00:50 +02:00
dependabot[bot]
56ecfcb9f4
Chore(deps): Bump golang.org/x/sys from 0.7.0 to 0.8.0 ( #1557 )
2023-05-10 10:58:31 +02:00
15ky3
9a0fcbc011
fix(perfectprivacy): update cert and key ( #1549 )
...
Credits to @Thamos88 and @15ky3
2023-05-10 10:56:32 +02:00
Quentin McGaw
b6c8399c3b
feat(health): HEALTH_SUCCESS_WAIT_DURATION
2023-05-07 09:35:51 +00:00
Quentin McGaw
7a88a09341
chore(healthcheck): prefer Go dialer
2023-05-06 07:14:34 +00:00
Quentin McGaw
912b31cfc6
fix(settings): clarify Wireguard provider error
2023-05-01 08:00:25 +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
801a7fd6fe
chore(routing): simplify default routes for loop
2023-04-27 10:41:18 +00:00
Quentin McGaw
80053f6b7d
feat(routing): log default route family as string
2023-04-27 10:41:03 +00:00
Quentin McGaw
e165bb6870
chore(dev): do not bind mount ~/.gitconfig
2023-04-27 10:27:40 +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
Quentin McGaw
9d4105ee59
chore(settings): remove unneeded pointers.go
2023-04-22 11:02:53 +00:00
Quentin McGaw
19585da3bc
chore(deps): bump inet.af/netaddr
2023-04-20 23:25:41 +00:00
Quentin McGaw
51f830cfc1
chore(wireguard): bump dependencies
2023-04-20 23:24:58 +00:00
Quentin McGaw
804ea7ebd6
feat(surfshark): update servers data
2023-04-20 23:22:27 +00:00
Quentin McGaw
3294b8df60
feat(perfectprivacy): update servers data
2023-04-20 23:10:57 +00:00
Quentin McGaw
d77ec7a6cb
fix(perfectprivacy): remove check for hostname in servers
2023-04-20 23:10:06 +00:00
Quentin McGaw
219d1f371c
chore(all): wrap all sentinel errors
...
- Force to use `errors.Is` instead of `==` to compare errors
2023-04-20 23:10:06 +00:00
Quentin McGaw
fa7fd5f076
fix(pprof): settings rates can be nil
2023-04-20 23:10:02 +00:00
dependabot[bot]
d4f8eea7bf
Chore(deps): Bump github.com/vishvananda/netlink from 1.1.1-0.20211129163951-9ada19101fc5 to 1.2.1-beta.2 ( #1414 )
2023-04-12 05:30:45 -07:00
Quentin McGaw
723d0f5e12
chore(lint): upgrade from v1.51.2 to v1.52.2
2023-04-12 09:40:00 +00:00
dependabot[bot]
20f4d8cc0b
Chore(deps): Bump github.com/fatih/color from 1.14.1 to 1.15.0 ( #1484 )
2023-04-11 09:04:35 -07:00
dependabot[bot]
64cca69bf3
Chore(deps): Bump golang.org/x/net from 0.0.0-20220418201149-a630d4f3e7a2 to 0.9.0 ( #1509 )
2023-04-11 09:04:11 -07:00
Kyle Manna
fc8a2abb8f
fix(routing): add policy rules for each destination local networks ( #1493 )
2023-04-11 09:03:07 -07:00
Quentin McGaw
16ecf48b89
fix(vpnunlimited): lower TLS security level to 0 ( #1476 )
2023-04-11 14:08:54 +02:00
Quentin McGaw
8fa4fd1b64
chore(labels): update labels
...
- remove issue category labels
- Add temporary status labels
- Add complexity labels
2023-04-03 11:58:12 +00:00
Quentin McGaw
4db6d1ecf9
chore(dev): add openssl to dev container
2023-04-03 10:41:37 +00:00
Quentin McGaw
3b86927ca7
fix(vpnsecure): upgrade Openvpn key encryption if needed ( #1471 )
2023-04-03 03:40:09 -07:00
Quentin McGaw
8bfa2f9b27
chore(docker): loosen pin for openssl 1.1
...
- Credits to @kylemanna
2023-04-03 08:21:58 +00:00
Quentin McGaw
fe2a3e4d11
chore(docker): remove no longer needed apk-tools
2023-04-03 08:20:08 +00:00
Quentin McGaw
b0451d8e50
feat(docker): install full-featured wget
...
- Fixes #1260 , #1494
- Does not spawn openssl zombie processes
2023-04-03 08:10:48 +00:00
Quentin McGaw
a0b9044fd3
fix(hidemyass): add warning of end of life
...
- Fixes #1498
- Credits to @Fukitsu
2023-04-03 07:58:04 +00:00
Quentin McGaw
c7a841f4b4
chore(openvpn/extract): simplify PEM extract
2023-04-01 16:57:18 +00: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
dependabot[bot]
63a696d7e7
Chore(deps): Bump docker/build-push-action from 3.2.0 to 4.0.0 ( #1378 )
2023-04-01 08:28:34 -07:00
Quentin McGaw
d457342b46
feat(log): warn Openvpn 2.4 is to be removed
2023-04-01 15:24:42 +00:00
Quentin McGaw
c246dae2cc
feat(log): log warnings about user settings
...
- Warn when using Openvpn 2.4 and SlickVPN
- Warn when using Openvpn 2.5 and SlickVPN
2023-04-01 15:22:32 +00:00
Quentin McGaw
0f4a2e5224
hotfix(deps): bump old openssl to 1.1.1t-r2
2023-03-31 09:34:33 +00:00
dependabot[bot]
db262050d5
Chore(deps): Bump github.com/stretchr/testify from 1.8.1 to 1.8.2 ( #1483 )
2023-03-30 10:54:44 -07:00
Quentin McGaw
227cdea0c8
fix(slickvpn): allow AES-256-GCM
2023-03-26 12:38:55 +02:00
Quentin McGaw
33a6f1c01b
fix(slickvpn): lower TLS security level to 0
2023-03-26 12:38:55 +02:00
Quentin McGaw
f6f3c110f0
fix(slickvpn): all servers support TCP and UDP
2023-03-26 12:38:55 +02:00
Quentin McGaw
27a3f2c846
fix(slickvpn): precise default TCP port as 443
2023-03-26 12:38:55 +02:00
dependabot[bot]
62169baeea
Chore(deps): Bump golang.org/x/text from 0.5.0 to 0.8.0 ( #1436 )
2023-03-26 12:36:29 +02:00
dependabot[bot]
4b18636a91
Chore(deps): Bump golang.org/x/sys from 0.3.0 to 0.6.0 ( #1438 )
2023-03-25 22:11:01 +01:00
Quentin McGaw
51432ca05f
hotfix(health): remove previous err debug line
2023-03-25 17:34:56 +00:00
colereynolds
b5ebdcd040
docs(readme): add servers updater environment variables ( #1393 )
2023-03-25 16:14:07 +01:00
Quentin McGaw
416c1ee113
chore(deps): tidy dependencies
2023-03-25 15:09:27 +00:00
Quentin McGaw
fe97e28461
fix(health): log link to Wiki on VPN restart
2023-03-25 15:09:13 +00:00
Quentin McGaw
cbd8711a21
feat(airvpn): update servers data
2023-03-25 14:50:49 +00:00
stevenl4
7578e52ed5
fix(ipvanish): updater zip file url ( #1449 )
2023-03-25 15:36:44 +01:00
Quentin McGaw
0df68f76d5
fix(airvpn): remove commas from city names
2023-03-25 12:55:21 +00:00
Quentin McGaw
9a528c42f8
chore(settings): precise base64 DER for some OpenVPN fields
2023-03-25 12:10:01 +00:00
Quentin McGaw
5607916af6
hotfix: bump old openssl to 1.1.1t-r1
2023-03-23 16:36:14 +00:00
Quentin McGaw
4ad7a2a444
feat(mullvad): update servers data
2023-03-23 15:23:53 +00:00
Quentin McGaw
ab5dbdca97
feat(pia): update servers data
2023-03-01 13:00:18 +00:00
Quentin McGaw
a97fcda283
fix(version): add name in version check error
2023-02-27 20:16:55 +00:00
Quentin McGaw
e955adc1e1
hotfix: install older openssh for openvpn 2.4
2023-02-27 05:21:42 +00:00
Quentin McGaw
ac5141b411
Chore(deps): Bump github.com/breml/rootcerts from 0.2.8 to 0.2.10
2023-02-26 18:14:59 +00:00
dependabot[bot]
f8c189e48a
Chore(deps): Bump github.com/fatih/color from 1.13.0 to 1.14.1 ( #1369 )
2023-02-26 11:14:15 -08:00
Quentin McGaw
2f2a904c64
feat(mullvad): update servers data
2023-02-26 15:16:22 +00:00
Quentin McGaw
9261dca8ab
chore(lint): bump from v1.49.0 to v1.51.2
2023-02-26 15:15:34 +00:00
Quentin McGaw
7b5d5c3884
feat(alpine): bump from 3.16 to 3.17
2023-02-26 15:15:34 +00:00
Quentin McGaw
7c80d80904
chore(build): upgrade Go from 1.19 to 1.20
2023-02-26 15:15:30 +00:00
Quentin McGaw
ea40b84ec0
fix(settings): print outbound subnets correctly
2022-12-31 17:46:55 +00:00
Quentin McGaw
4e6ef649c4
fix(airvpn): remove commas from API locations
2022-12-31 17:30:31 +00:00
Quentin McGaw
dd40f1d2e6
chore(devcontainer): same ssh bind mount for all platforms
2022-12-31 17:30:31 +00:00
dependabot[bot]
490693bb26
Chore(deps): Bump golang.org/x/text from 0.4.0 to 0.5.0 ( #1275 )
2022-12-15 04:58:43 -05:00
Quentin McGaw
c8d33ca5f3
fix(surfshark): update location data
...
- Add 2 new 'HK' servers
- Remove 3 servers no longer resolving
2022-12-15 09:29:48 +00:00
Quentin McGaw
e6df026332
feat(surfshark): update servers data
2022-12-15 09:29:09 +00:00
Quentin McGaw
7a30343053
docs(readme): document alternative ghcr image name
2022-12-15 09:02:37 +00:00
ksurl
fc02ae9c13
feat(docker): ghcr.io/qdm12/gluetun image ( #1231 )
2022-12-14 16:04:41 -05:00
Quentin McGaw
f70f0aca9c
fix(settings): validate Wireguard addresses depending on IPv6 support
2022-12-14 11:52:03 +00:00
Quentin McGaw
16acd1b162
chore(netlink): log ipv6 support at debug level
2022-12-14 11:52:03 +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
a4cf17f81e
fix(netlink): change logger level
2022-12-14 11:50:36 +00:00
Quentin McGaw
c0a301611d
fix(health): set config to default in healthcheck mode
2022-12-07 10:34:24 +00:00
Quentin McGaw
cc934f5c68
hotfix(netlink): ipv6 detection for nil src/dst in routes
2022-12-02 11:39:37 +00:00
Quentin McGaw
74426f6202
feat(netlink): add debug logger
2022-12-02 11:26:52 +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
1b1335835b
fix(netlink): inspect each route for IPv6 support
2022-12-01 12:18:46 +00:00
Quentin McGaw
5070dbcf7f
feat(fastestvpn): update servers data
2022-11-30 19:21:56 +00:00
rsquarev
90b9d85742
fix(fastesvpn): updater zip file url ( #1264 )
2022-11-30 14:19:14 -05:00
Quentin McGaw
7a3b9941aa
fix(exit): exit with 1 on runtime error
2022-11-18 09:46:31 +00:00
Quentin McGaw
698095f0a0
fix(pprof): do not run if disabled
2022-11-15 12:45:47 +00:00
Quentin McGaw
5a06d8e155
fix(firewall): iptables detection with permission denied
2022-11-15 12:34:25 +00:00
Quentin McGaw
7421dcb45f
feat(openvpn): explain ip route error in logs
...
- `RTNETLINK answers: File exists` changed to warning with explanation
- `Linux route add command failed:` changed to warning with explanation
2022-11-11 09:48:55 +00:00
Quentin McGaw
554a6cdb92
feat(healthcheck): add FAQ url on unhealthy log
2022-11-11 09:43:07 +00:00
Quentin McGaw
5aa39be973
fix(firewall): remove previously allowed input ports
2022-11-11 09:19:03 +00:00
Quentin McGaw
192a7a56a3
fix(httpproxy): lower shutdown wait from 2s to 100ms
2022-10-31 11:21:25 +00:00
Quentin McGaw
1d1657e9be
fix(pia): remove username+password from login bad http status code
2022-10-31 11:00:43 +00:00
Quentin McGaw
49b7301295
feat(mullvad): update servers data
2022-10-31 10:44:36 +00:00
dependabot[bot]
126804c15e
Chore(deps): Bump golang.org/x/text from 0.3.7 to 0.4.0 ( #1198 )
2022-10-28 07:24:35 -04:00
dependabot[bot]
a7643c6201
Chore(deps): Bump github.com/stretchr/testify from 1.8.0 to 1.8.1 ( #1210 )
2022-10-28 07:24:20 -04:00
dependabot[bot]
db2de5fc84
Chore(deps): Bump docker/build-push-action from 3.1.1 to 3.2.0 ( #1193 )
2022-10-28 07:24:04 -04:00
dependabot[bot]
5c7b9aa6a1
Chore(deps): Bump github.com/breml/rootcerts from 0.2.6 to 0.2.8 ( #1173 )
2022-10-28 07:23:40 -04:00
Quentin McGaw
63890c159e
feat(servers): update FastestVPN servers
2022-10-28 11:02:39 +00:00
Quentin McGaw
e7d5ae5dc1
fix(fastestvpn): handle lowercase .ovpn filenames
2022-10-28 11:02:24 +00:00
Quentin McGaw
b275354a92
fix(env): trim space for wireguard addresses
2022-10-28 10:49:51 +00:00
Quentin McGaw
ac02a64d17
fix(ipinfo): handle 403 as too many requests
2022-10-28 10:35:29 +00:00
Quentin McGaw
9c80150e09
fix(publicip): no retry when too many requests to ipinfo.io
2022-10-28 10:35:09 +00:00
Quentin McGaw
31a8bc9062
feat(servers): update PureVPN
2022-10-28 09:11:33 +00:00
Quentin McGaw
f15dde6502
feat(providers): add AirVPN support ( #1145 )
2022-10-17 02:54:56 -04:00
Quentin McGaw
f70609c464
fix(wireguard): ignore IPv6 addresses if IPv6 disabled
2022-10-17 06:31:32 +00:00
Quentin McGaw
c954e6f231
fix: parse udp4, udp6, tcp4 or tcp6
2022-10-16 16:54:12 +00:00
Quentin McGaw
cb804577a9
feat(httpproxy): log credentials sent on mismatch
2022-10-02 09:31:03 +00:00
Quentin McGaw
e5be20d719
fix(exit): exit with 0 on successful shutdown
2022-09-14 13:23:31 +00:00
EkilDeew
875690ab18
feat(network): enable ipv6 connection and tunneling ( #1114 )
...
Co-authored-by: Quentin McGaw <quentin.mcgaw@gmail.com >
2022-09-13 17:18:10 -07: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
aba5ca4536
fix(cyberghost): remove outdated server groups
...
- Remove `94-1` pemium udp usa
- Remove `95-1` premium udp asia
- Remove `93-1` pemium udp usa
- Remove `96-1` premium tcp asia
- Update servers data
2022-09-08 12:19:12 +00:00
Quentin McGaw
7506625f40
chore(tests): fix netlink test for previous crash
2022-09-06 12:17:51 +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
284d4340b1
fix(tests): fix netlink wireguard test
2022-09-05 15:23:31 +00:00
Quentin McGaw
2c1281d0a2
hotfix(tests): panic tests for previous commit
2022-09-05 15:04:43 +00:00
Stijn Hoop
532df9f8d4
fix(privateinternetaccess): get token for port forwarding ( #1132 )
2022-09-05 08:01:48 -07:00
Quentin McGaw
45b7da1058
chore(dev): improve missing provider panic string
2022-09-05 14:51:30 +00:00
Quentin McGaw
907daff483
chore(build): tidy Go modules dependencies
2022-09-04 23:01:02 +00:00
Quentin McGaw
7757e8a114
chore(dev): improve update command launch config
...
- Run without `debug` mode
- Run from workspace folder so it writes to the right path
- Pick `-maintainer` or `-enduser` update mode
2022-09-04 18:40:08 +00:00
Quentin McGaw
e59e28152f
fix(ivpn): update mechanism for Wireguard servers
2022-09-02 00:36:13 +00:00
Quentin McGaw
2fe0594db7
feat(servers): update ProtonVPN servers data
2022-08-30 11:44:34 +00:00
Quentin McGaw
794e96b449
docs(readme): add ProtonVPN and PureVPN to Wireguard support
2022-08-29 00:31:38 +00:00
Quentin McGaw
07282f414c
chore(wireguard): upgrade wireguard depdencies
2022-08-27 18:37:24 +00:00
Quentin McGaw
e583f9de47
fix(codeql): fix integer parsing (false positive)
2022-08-27 16:45:29 +00:00
Quentin McGaw
8570e09eb9
chore(config): rename Reader to Source struct
2022-08-26 15:40:35 +00:00
Quentin McGaw
ae5cba519c
chore(config): define Source interface locally where needed
2022-08-26 15:03:59 +00:00
Quentin McGaw
26f3832187
chore(config): rename mux source to merge
2022-08-26 14:59:35 +00:00
Quentin McGaw
5989f29035
feat(surfshark): Wireguard support ( #587 )
2022-08-26 07:55:46 -07:00
Quentin McGaw
4ace99f318
chore(servers): remove "udp": true for Wireguard
2022-08-25 13:24:22 +00:00
Quentin McGaw
d1c5e00df8
fix(updater): error when server has not the minimal information
2022-08-25 13:23:27 +00:00
Quentin McGaw
5eacb46226
feat(servers): update servers data for Ivpn, Mullvad and Windscribe
2022-08-25 13:05:20 +00:00
Quentin McGaw
6c17612310
chore(filter): no network protocol filter for Wireguard
2022-08-25 13:03:58 +00:00
Quentin McGaw
fba73a0a0f
fix(settings): OPENVPN_CUSTOM_CONFIG precedence for custom provider only if VPN_SERVICE_PROVIDER is empty
2022-08-25 04:01:17 +00:00
Quentin McGaw
4faef87c03
chore(build): bump Go from 1.18 to 1.19
2022-08-24 21:54:49 +00:00
Quentin McGaw
5914cb0e37
chore(build): bump Go from 1.17 to 1.18
...
- Unneeded disabled linters are: `rowserrcheck`, `sqlclosecheck`
- Disabled linter is `wastedassign` which is tolerable
2022-08-24 21:54:08 +00:00
Quentin McGaw
aa53436e56
chore(lint): upgrade golangci-lint to v1.49.0
...
- Add linter `interfacebloat` and fix code issues
- Add linter `reassign`
- Remove deprecated linter `nosnakecase`
2022-08-24 21:48:24 +00:00
Quentin McGaw
8dfaebc737
chore(all): remove deprecated io/ioutil import
2022-08-24 21:43:37 +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
647cd07de7
feat(surfshark): update servers data
2022-08-24 13:04:34 +00:00
Quentin McGaw
a530c84c5f
fix(surshark): remove invalid retro-servers
2022-08-24 13:04:18 +00:00
Quentin McGaw
0bb320065e
feat(server): patch VPN settings
...
- `PUT` at `/v1/vpn/settings`
- Undocumented, experimental for now
2022-08-21 23:36:48 +00:00
Quentin McGaw
d685d78e74
feat(server): add vpn route to replace /openvpn
2022-08-21 23:29:25 +00:00
Quentin McGaw
48896176e5
chore(server): do not redact openvpn credentials from response
2022-08-21 22:04:04 +00:00
Quentin McGaw
54dcf28b31
chore(server): replace 404 with 401 for unsupported routes and methods
2022-08-21 22:02:06 +00:00
Quentin McGaw
f8bf32bb34
docs(readme): add slickvpn to list of providers
2022-08-16 00:02:34 +00:00
Quentin McGaw
748923021c
fix(ci): permissions for labels workflow
2022-08-15 23:58:33 +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
991cfb8659
chore(ci): limit labels workflow to not forked
2022-08-15 23:53:29 +00:00
Richard Hodgson
d0dfc21e2b
feat: SlickVPN Support ( #961 )
...
- `internal/updater/html` package
- Add unit tests for slickvpn updating code
- Change shared html package to be more share-able
- Split html utilities in multiple files
- Fix processing .ovpn files with prefix space
Authored by @Rohaq
Co-authored-by: Quentin McGaw <quentin.mcgaw@gmail.com >
2022-08-15 08:25:06 -07:00
dependabot[bot]
617bd0c600
Chore(deps): Bump github.com/stretchr/testify from 1.7.5 to 1.8.0 ( #1052 )
2022-08-13 12:16:57 -07:00
dependabot[bot]
349b5429ba
Chore(deps): Bump docker/build-push-action from 3.1.0 to 3.1.1 ( #1098 )
2022-08-13 12:16:44 -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
Quentin McGaw
652daec509
Change: OPENVPN_CLIENTKEY -> OPENVPN_KEY
...
- No breaking change since this was undocumented
2022-08-13 18:56:37 +00:00
Quentin McGaw
f94d4b761a
Change: OPENVPN_CLIENTCRT -> OPENVPN_CERT
...
- No breaking change since this was undocumented
2022-08-13 18:55:29 +00:00
Quentin McGaw
1ab74e6bb3
chore: OpenVPN user and password as nullable
...
- Username and password can be the empty string for custom provider
2022-08-13 18:01:26 +00:00
dependabot[bot]
8e101d49a1
Chore(deps): Bump github.com/breml/rootcerts from 0.2.4 to 0.2.6 ( #1058 )
2022-08-12 17:01:45 -07:00
Quentin McGaw
7c08e8f607
chore(lint): add asasalint and usestdlibvars
2022-08-12 23:54:20 +00:00
Quentin McGaw
a4caa61c47
chore(lint): add nosnakecase linter
2022-08-12 23:53:47 +00:00
Quentin McGaw
ebae167815
chore(lint): golangci-lint v1.47.2 -> v1.48.0
...
- Remove deprecated `ifshort` linter
- Fix bad `//nolint:gomnd` comment
2022-08-12 23:52:30 +00:00
Quentin McGaw
a6f00f2fb2
chore(lint): upgrade golangci-lint to v1.47.2
...
- Fix Slowloris attacks on HTTP servers
- Force set default of 5 minutes for pprof read timeout
- Change `ShutdownTimeout` to time.Duration since it cannot be set to 0
2022-08-01 21:09:16 +00:00
dependabot[bot]
877617cc53
Chore(deps): Bump docker/build-push-action from 3.0.0 to 3.1.0 ( #1073 )
2022-07-23 20:08:34 -07:00
Quentin McGaw
2800588ef7
feat(expressvpn): update servers data
2022-07-18 18:01:08 +00:00
Quentin McGaw
f5efa42aaf
chore(lint): remove some linters
...
- remove duplicate `predeclared`
- remove commented `varnamelen` and `wrapcheck`
2022-07-17 23:11:42 +00:00
Hey
10bd0e1505
fix(readme): typo sercice to service ( #1067 )
2022-07-15 19:52:04 -04:00
Quentin McGaw
a4c80b3045
chore(ci): add mocks check
...
- Check for missing `//go:generate` comments
- Check for outdated mocks
2022-07-04 00:39:01 +00:00
Quentin McGaw
dbb71bd695
chore(mocks): use common mocks for ivpn and ipvanish
2022-07-04 00:34:48 +00:00
dependabot[bot]
a544f6e604
Chore(deps): Bump github.com/breml/rootcerts from 0.2.3 to 0.2.4 ( #1033 )
2022-07-03 16:50:38 -07:00
dependabot[bot]
a18e026b70
Chore(deps): Bump github.com/stretchr/testify from 1.7.2 to 1.7.5 ( #1042 )
2022-07-03 16:50:27 -07:00
Quentin McGaw
0413a0a1ab
chore(ci): rework docker hub description workflow
...
- Run only on base repository
- Rename job from `dockerHubDescription` to `docker-hub-description`
- Limit permissions of job to read only
- Remove unneeded names for steps
2022-07-03 14:31:49 +00:00
Quentin McGaw
cb6e9cb761
docs(readme): add links to add a provider
2022-07-03 13:39:47 +00:00
Quentin McGaw
420ae40901
feat(dev): Add provider example package
2022-07-02 21:04:57 +00:00
Quentin McGaw
34e67f9f99
chore(markdown): alphabetically sorted headers
2022-07-02 20:58:43 +00:00
Quentin McGaw
18c53aa597
docs(readme): simplify heading description
2022-07-02 20:58:43 +00:00
Quentin McGaw
6d2f9b9508
chore(updater): check servers have minimal information
2022-07-02 20:58:43 +00:00
Quentin McGaw
6826b05d58
chore(all): remove all package comments
2022-07-02 20:58:43 +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
87dbae5745
hotfix(fastestvpn): re-fix Openvpn configuration
...
- add `auth sha256` option
- remove `remote-cert-tls server` option
2022-06-26 21:29:05 +00:00
Quentin McGaw
037f19e852
hotfix(publicip): revert back JSON to public_ip
2022-06-26 18:08:11 +00:00
Quentin McGaw
62ad8bcd8f
fix(pia): set port forward file owned with PUID and PGID
2022-06-25 15:44:29 +00:00
Quentin McGaw
2805c3388a
hotfix(fastestvpn): add remote-cert-tls server
2022-06-25 15:16:38 +00:00
Quentin McGaw
535297dcf5
chore: extract.PEM replaces PEM parse functions
2022-06-24 23:10:00 +00:00
Quentin McGaw
b3b6933ef4
chore(lint): review exclude rules
2022-06-20 13:36:24 +00:00
Quentin McGaw
edbbcc041a
fix(protonvpn): set free field for free servers
2022-06-18 18:30:27 +00:00
Quentin McGaw
d430ebc34f
feat(protonvpn): update servers data
2022-06-18 18:30:05 +00:00
Quentin McGaw
0e9abc6e1d
chore(tests): modify JSON tests to not need all providers listed
2022-06-18 15:08:59 +00:00
Quentin McGaw
0c0dd10766
chore(dev): add VSCode launch.json
...
- Credits to @Rohaq
2022-06-18 00:17:09 +00:00
Quentin McGaw
75454be6b6
fix(pprof): override operation in global settings
2022-06-18 00:16:14 +00:00
Quentin McGaw
4952e3b74e
docs(bug): fix render of logs to be plain text
2022-06-18 00:15:29 +00:00
Quentin McGaw
04b34a266c
chore(deps): update go4.org/unsafe/assume-no-moving-gc
...
- Allow development on Go 1.18 without `ASSUME_NO_MOVING_GC_UNSAFE_RISK_IT_WITH=go1.18`
2022-06-17 23:59:39 +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
d4c6a9bdb5
feat(storage): log time difference as a friendly duration
2022-06-12 15:35:04 +00:00
Quentin McGaw
cdc29d48b7
chore(ci): build PR images as pr-N ( #1026 )
...
- Remove event validity check (unneeded and was buggy)
- Remove `branch` metadata trigger since it conflicts with the PR trigger
2022-06-12 08:33:16 -07:00
dependabot[bot]
f4b464a7cf
Chore(deps): Bump github.com/stretchr/testify from 1.7.1 to 1.7.2 ( #1016 )
2022-06-12 08:31:53 -07:00
dependabot[bot]
76690d3add
Chore(deps): Bump crazy-max/ghaction-github-labeler from 3 to 4 ( #1007 )
2022-06-12 07:07:25 -07:00
Quentin McGaw
9898387579
feat(updater): Configurable min ratio
...
- `UPDATER_MIN_RATIO` variable
- `-minratio` flag for CLI operation
2022-06-12 14:03:00 +00:00
Quentin McGaw
1ea15a1a13
chore(protonvpn): document to remove SERVER_NAMES
2022-06-12 01:58:46 +00:00
Quentin McGaw
bda6707685
chore(all): remove unexported interfaces
2022-06-12 01:15:14 +00:00
Quentin McGaw
89277828ac
chore(publicip): internal/publicip/ipinfo package
2022-06-12 01:11:22 +00:00
Quentin McGaw
83b4a3fe55
chore(publicip): refactoring
...
- Exported `Fetcher` interface
- Inject `Fetcher` to publicip loop and updaters
- Get public IP and information at the same time
- Only query ipinfo.io
- Make `MultiInfo` part of the `Fetch` object
2022-06-12 00:46:08 +00:00
Quentin McGaw
45c9e780c0
chore(updater): rename presolver to parallelResolver
2022-06-11 20:12:35 +00:00
Quentin McGaw
33b8f5f596
chore(settings): updater DNS address as string
2022-06-11 20:11:20 +00:00
Quentin McGaw
447a7c9891
updater: refactoring and set DNS server correctly
...
- Fix CLI operation not setting DNS server
- Fix periodic operation not setting DNS server
- Set DNS address for resolution once at start for both CLI and periodic operation
- Inject resolver to each provider instead of creating it within
- Use resolver settings on every call to `.Resolve` method, instead of passing it to constructor
- Move out minServers check from resolver
2022-06-11 19:47:46 +00:00
Quentin McGaw
1bd355ab96
chore(lint): add ireturn linter
2022-06-11 01:34:45 +00:00
Quentin McGaw
578ef768ab
chore(all): return concrete types, accept interfaces
...
- Remove exported interfaces unused locally
- Define interfaces to accept arguments
- Return concrete types, not interfaces
2022-06-11 01:34:30 +00:00
Quentin McGaw
0378fe4a7b
chore(all): Providers containing all provider objects
...
- Share the same providers for updater and vpn
- Initialise all providers at start
- Get from `Providers` instead of constructing on every run
2022-06-10 00:47:56 +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
11b55abff3
fix(protonvpn): remove duplicate entry IPs
2022-06-09 22:11:40 +00:00
Quentin McGaw
7f32b43895
fix(pia): load custom PIA certificate for API
2022-06-09 17:11:24 +00:00
Quentin McGaw
899f10c35e
chore(resolver): export structs instead of interfaces
2022-06-09 17:11:24 +00:00
Quentin McGaw
415cb7a945
chore(updater): create resolver in provider updater
...
- Pass min servers to resolve call
- Set settings when constructing resolver
- Construct resolver in each provider updater
- No more common resolver for all providers
2022-06-09 17:11:24 +00:00
Quentin McGaw
e37f557cd5
chore(provider): add Name() method per provider
2022-06-09 17:11:24 +00:00
Quentin McGaw
79f213d97a
chore(updater): rename GetServers to FetchServers
2022-06-09 17:11:24 +00:00
Quentin McGaw
11e1c9f9bb
feat(protonvpn): update hardcoded servers data
2022-06-09 16:41:04 +00:00
Quentin McGaw
3ff3816d77
fix(pia): restrict custom port choice
2022-06-09 16:36:59 +00:00
Quentin McGaw
c0bdae8baf
fix(protonvpn): restrict custom port choice
2022-06-09 16:36:17 +00:00
Quentin McGaw
46e6bd16c9
fix(pia): remove duplicate log of pf data expiration
2022-06-09 16:34:28 +00:00
Quentin McGaw
5359257c65
hotfix(pia): port forwarding to use server name
2022-06-06 18:09:21 +00:00
Quentin McGaw
5e659dc5b3
feat(storage): add keep field for servers
2022-06-06 03:04:58 +00:00
Quentin McGaw
85e9d7d522
docs(maintenance): update document
2022-06-06 02:58:58 +00:00
Quentin McGaw
b71c8e58f4
fix(vpn): do not close wait error channel on consumer side
2022-06-06 02:56:40 +00:00
Quentin McGaw
e998372ce2
feat(ipvanish): update servers data and remove duplicates
2022-06-06 02:24:58 +00:00
Quentin McGaw
1216326867
chore(storage): common sorting for all servers
2022-06-06 02:24:54 +00:00
Quentin McGaw
f53f0cfffd
feat(surfshark): update servers data
2022-06-06 01:41:00 +00:00
Quentin McGaw
f5f65d534a
fix(ci): publish job trigger fixed
2022-06-05 16:01:40 +00:00
Quentin McGaw
684cef6eab
hotfix(openvpn): openvpn udp specific lines added
2022-06-05 15:48:14 +00:00
Quentin McGaw
b4f6ae030d
hotfix(purevpn): add missing key-direction 1
2022-06-05 15:44:33 +00:00
Quentin McGaw
e95c94294f
feat(pia): update servers data
2022-06-05 15:20:03 +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
1e6b4ed5eb
chore(provider): rename test functions to Test_Provider_GetConnection
2022-06-05 14:59:47 +00:00
Quentin McGaw
0549326dfb
chore(updater): tiny code changes
...
- Remove unneeded ctx error check in cyberghost updating code
- Move global scope caser to function local scope
- Return error if updating a single provider in `UpdateServers`
- Add comments on different error paths in `UpdateServers`
2022-06-04 13:50:29 +00:00
Quentin McGaw
87c6ebe1c5
feat(purevpn): update servers data
2022-05-31 14:17:33 +00:00
Quentin McGaw
f0afac243b
feat(privatevpn): update servers data
2022-05-31 14:16:41 +00:00
dependabot[bot]
53472077f4
Chore(deps): Bump docker/setup-buildx-action from 1 to 2 ( #977 )
2022-05-29 11:31:09 -07:00
dependabot[bot]
55afdf33e1
Chore(deps): Bump docker/setup-qemu-action from 1 to 2 ( #978 )
2022-05-29 11:28:05 -07:00
dependabot[bot]
d3c1f9263c
Chore(deps): Bump docker/build-push-action from 2.10.0 to 3.0.0 ( #979 )
2022-05-29 11:27:55 -07:00
dependabot[bot]
6341d1dda6
Chore(deps): Bump docker/metadata-action from 3 to 4 ( #980 )
2022-05-29 11:27:44 -07:00
dependabot[bot]
e62e1883c2
Chore(deps): Bump docker/login-action from 1 to 2 ( #981 )
2022-05-29 11:27:33 -07:00
Quentin McGaw
501b98dbd3
chore(ci): skip workflow for required verify job
2022-05-29 17:33:35 +00:00
Derzsi Dániel
029fd1da1f
feat(docker): upgrade Alpine from 3.15 to 3.16 ( #1005 )
2022-05-29 10:30:10 -07:00
Quentin McGaw
fd0267efef
chore(ci): merge codeql job in CI workflow
2022-05-29 17:23:55 +00:00
Quentin McGaw
4414366370
chore(ci): restrict permissions to read actions+contents
2022-05-29 17:23:55 +00:00
Quentin McGaw
08553bc90b
chore(ci): only publish image for qdm12/gluetun
2022-05-29 17:23:54 +00:00
Quentin McGaw
6f850c4ad4
chore(ci): merge dependabot and fork workflows in ci workflow
2022-05-29 17:23:48 +00:00
Quentin McGaw
8e1316bd8a
chore(storage): minor refactoring
...
- Unexport `SyncServers`
- Re-generate mock file
- Remove single use function
2022-05-28 22:51:19 +00:00
Quentin McGaw
b345368257
hotfix(storage): JSON provider versioning safety
2022-05-28 22:44:14 +00:00
Quentin McGaw
90dd3b1b5c
chore(storage): only pass hardcoded versions to read file
2022-05-28 22:36:16 +00:00
Quentin McGaw
22455ac76f
chore(updater): shared not enough servers error
2022-05-28 22:02:18 +00:00
Quentin McGaw
eb18eaf0a9
fix(wireguard): continue on ipv6 route add permission denial
2022-05-28 21:06:21 +00:00
Quentin McGaw
90c6c8485b
chore(updater): common GetServers signature
...
- Log warnings when running outside of CLI mode
- Remove updater CLI bool setting
- Warnings are logged in updating functions
2022-05-28 20:58:50 +00:00
Quentin McGaw
381089ebdf
chore(storage): rename InfoErrorer to Infoer (bad name)
2022-05-28 16:05:19 +00:00
Quentin McGaw
292813831d
chore(updater): internal/updater/loop subpackage
...
- Do not export updater interface
- Export updater struct
- Define local interfaces where needed
- More restrictive updater loop interface in http control server
- Inject `Updater` into updater loop as an interface
2022-05-28 16:03:59 +00:00
Quentin McGaw
991d75a1d0
chore(provider): rename all BuildConf to OpenVPNConfig
2022-05-27 22:04:14 +00:00
Quentin McGaw
d9dfb81cb4
feat(perfect privacy): update servers data
2022-05-27 21:56:52 +00:00
Quentin McGaw
67a9cacb61
hotfix(custom): allow empty servers data
2022-05-27 21:47:41 +00:00
Quentin McGaw
a91eb95456
chore(internal/provider): rename all structs to Provider
2022-05-27 18:05:04 +00:00
Quentin McGaw
a295269518
hotfix(formatter): cyberghost not forced as format
2022-05-27 17:50:14 +00:00
Quentin McGaw
42904b6749
chore(all): move sub-packages to internal/provider
2022-05-27 17:48:51 +00:00
Quentin McGaw
364f9de756
feat(env): clean env variable values
...
- Remove surrounding spaces
- Remove suffix new line characters
2022-05-27 17:27:54 +00:00
Quentin McGaw
7fd45cf17f
feat(wireguard): add debug logs for IPv6 detection
...
- To debug issue #998
- Enable with `LOG_LEVEL=debug`
2022-05-27 17:27:53 +00:00
Quentin McGaw
eb71cfb144
chore(deps): upgrade gopkg.in/yaml.v3 to v3.0.1
...
- fix 'vulnerability' alert on github
- no impact really since it's just used in unit tests
- checked with `go mod why gopkg.in/yaml.v3`
2022-05-27 17:27:53 +00:00
Quentin McGaw
48e469917e
chore(ci): remove tidy check
...
- Not really needed with newer `go install`
- Conflicts with Go 1.17 go.mod format
- Conflicts with manual indirect dependency upgrade
2022-05-27 17:27:53 +00:00
Quentin McGaw
4bcd8ee9f5
chore(constants): add internal/constants/openvpn package
2022-05-27 16:29:49 +00:00
Quentin McGaw
1b2bcf901a
chore(surfshark): add package internal/provider/surshark/server
...
- Merge `internal/models/location.go` and `internal/constants/surfshark.go` into `internal/provider/surfshark/servers/locationdata.go`
2022-05-27 16:29:48 +00:00
Quentin McGaw
306de8feda
chore(constants): add internal/provider/privateinternetacess/presets package
2022-05-27 16:29:48 +00:00
Quentin McGaw
e3696f1eea
chore(constants): inline Openvpn values in each provider
2022-05-27 16:29:47 +00:00
Quentin McGaw
7ff14a356c
chore(internal/providers): simplify OpenVPN config building
2022-05-27 16:29:47 +00:00
Quentin McGaw
4bde50fb3a
chore(all): use casers instead of strings.Title
...
- Add `golang.org/x/text` dependency
- Update code to use `cases.Title(language.English)`
2022-05-27 16:29:41 +00:00
Quentin McGaw
bd0868d764
chore(all): provider to servers map in allServers
...
- Simplify formatting CLI
- Simplify updater code
- Simplify filter choices for config validation
- Simplify all servers deep copying
- Custom JSON marshaling methods for `AllServers`
- Simplify provider constructor switch
- Simplify storage merging
- Simplify storage reading and extraction
- Simplify updating code
2022-05-27 16:17:53 +00:00
Quentin McGaw
5ffe8555ba
chore(lint): upgrade golangci-lint from v1.44.2 to v1.46.2
...
- Add linter `execinquery`
- Add linter `nosprintfhostport`
2022-05-27 00:52:25 +00:00
Quentin McGaw
78ccbb21cd
change(servers.json): change provider names
...
- From `pia` to `private internet access`
- From `perfectprivacy` to `perfect privacy`
- From `vpnunlimited` to `vpn unlimited`
- This is done to match string constants in the code for another refactor
- Reset each of these providers servers version to `1`.
2022-05-27 00:47:58 +00:00
Quentin McGaw
92dbe1ebad
chore(cli): refactor FormatServers to use provider strings
2022-05-08 19:05:36 +00:00
Quentin McGaw
2eec60cdd2
chore(custom): validate Openvpn file earlier
2022-05-07 19:33:21 +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
9dd5e7bf1d
fix: PUID and PGID as 32 bit unsigned integers
2022-05-01 16:29:56 +00:00
Quentin McGaw
b6de6035f6
hotfix(nordvpn): use aes-256-cbc before GCM
2022-04-28 13:47:24 +00:00
Quentin McGaw
88ccaf0b83
feat(torguard): update servers data
2022-04-26 11:01:42 +00:00
Quentin McGaw
52c8bc075f
feat(nordvpn): update servers data
2022-04-26 11:01:05 +00:00
Quentin McGaw
2537cd5271
fix(port-forwarding): loop exit from vpn loop
2022-04-25 08:31:32 +00:00
Quentin McGaw
db91625de4
fix(pia): port forwarding certificate
...
- Do not use custom PIA certificate
- Only use OS certificates
- Update unit test
2022-04-25 08:31:27 +00:00
Quentin McGaw
df78386fbe
chore(ci): add codeql analysis
2022-04-23 12:30:15 -04:00
Quentin McGaw
a1d70f740a
fix(nordvpn): allow aes-256-gcm for Openvpn 2.4
2022-04-23 12:53:24 +00:00
Quentin McGaw
187f42277a
fix(pia): hide escaped url query values
2022-04-23 11:21:08 +00:00
Quentin McGaw
e1f89bb569
fix(health): HEALTH_VPN_DURATION_ADDITION
2022-04-23 11:09:24 +00:00
Quentin McGaw
1d94f8ab2b
chore(storage): remove unneeded VPN default
2022-04-23 11:09:04 +00:00
Quentin McGaw
045ecabb78
chore(updater): set vpn field for all providers
...
- Bump servers model versions for all providers except mullvad, ivpn, windscribe
- Do not leave `vpn` JSON field empty for any server
2022-04-23 11:08:59 +00:00
Quentin McGaw
e6c3cb078a
chore(storage): tcp and udp fields for all servers
...
- Updater code sets UDP and TCP compatibility for all providers
- Increase servers.json model versions for affected providers (mullvad, windscribe, privado, protonvpn, privatevpn)
- Remove retro-compatibility server defaults
- Update all affected providers servers data (mullvad, windscribe, privado, protonvpn, privatevpn)
2022-04-23 10:23:41 +00:00
Quentin McGaw
afa51b3ff6
hotfix(storage): servers json versions updated
2022-04-22 21:12:27 +00:00
Quentin McGaw
f9c80b2285
hotfix(privatevpn): add missing IP addresses
2022-04-22 21:03:38 +00:00
Quentin McGaw
fc5cf44b2c
fix(firewall): iptables detection improved
...
1. Try setting a dummy output rule
2. Remove the dummy output rule
3. Get the INPUT table policy
4. Set the INPUT table policy to its existing policy
2022-04-22 17:23:57 +00:00
Quentin McGaw
0c0f1663b1
chore: simplify provider GetConnection
2022-04-20 15:16:55 +00:00
Quentin McGaw
306d8494d6
hotfix(servers): assume UDP+TCP if not precised
2022-04-19 11:52:05 +00:00
Quentin McGaw
f5c00c3e2d
chore(filter): common filter for all providers
2022-04-18 17:08:31 +00:00
Quentin McGaw
ac9571c6b2
chore(storage): runtime defaults on servers data
...
- `openvpn` default VPN protocol for servers
- True UDP if VPN protocol is Wireguard
2022-04-18 12:08:26 +00:00
Quentin McGaw
934fafb64b
chore(constants): internal/constants/vpn package
2022-04-18 11:14:07 +00:00
Quentin McGaw
d51514015f
chore(storage): simplify reading of server file
2022-04-18 11:14:02 +00:00
Quentin McGaw
a9cfd16d53
chore(validation): uniformize server filters build
2022-04-18 07:27:00 +00:00
Quentin McGaw
1a6f26fa3b
feat(nordvpn): remove OpenVPN compression
2022-04-18 07:26:53 +00:00
Quentin McGaw
0dd723b29f
chore(provider): add safety connection count check
2022-04-17 16:23:53 +00:00
Quentin McGaw
7ad6fc8e73
docs(maintenance): update document
2022-04-17 16:21:21 +00:00
Quentin McGaw
31c7e6362b
chore(devcontainer): multiple changes and fixes
...
- Fix windows script sourcing
- Remove image name to avoid conflicts
- Bind mount normally without `:z`
- Install `htop`
2022-04-17 16:21:21 +00:00
Quentin McGaw
072b42d867
chore(v4): add v4 comments about server names
2022-04-17 16:21:21 +00:00
Quentin McGaw
5d66c193aa
chore(models): common Server & Servers for all providers ( #943 )
2022-04-17 16:21:19 +00:00
Quentin McGaw
aa729515b9
chore(models): streamline all server models IPs ( #942 )
...
- Use `IPs []net.IP` for all server models
- Use `ips` JSON field for all server models
- Merge IPv4 and IPv6 addresses together for Mullvad
2022-04-17 16:18:34 +00:00
Quentin McGaw
54b7e23974
chore(constants): internal/constants/providers
...
- New package to avoid package import cycles
2022-04-16 19:30:26 +00:00
Quentin McGaw
ad80e0c1ab
feat(protonvpn): update servers data
2022-04-16 17:52:53 +00:00
Quentin McGaw
5d7b278957
change(protonvpn): change server name JSON field from name to server_name
2022-04-16 17:51:15 +00:00
dependabot[bot]
678caaf6a0
Chore(deps): Bump docker/build-push-action from 2.9.0 to 2.10.0 ( #893 )
2022-04-15 12:23:38 -04:00
dependabot[bot]
7228cd7b12
Chore(deps): Bump github.com/breml/rootcerts from 0.2.2 to 0.2.3 ( #926 )
2022-04-15 12:22:55 -04:00
Martin Bjeldbak Madsen
7b598a3534
docs(readme): remove announcement ( #938 )
2022-04-15 12:22:30 -04:00
Quentin McGaw
9cdc9e9153
feat(pia): server data updated
2022-04-11 21:29:16 +00:00
Quentin McGaw
71ab0416b0
fix(iptables): use OUTPUT chain for test instead of INPUT
2022-04-11 21:05:12 +00:00
Quentin McGaw
10a13bc8a7
fix(health): change default target address to cloudflare.com:443
2022-04-11 20:21:15 +00:00
Mirco Ianese
be386a8e33
feat(fastestvpn): update servers data ( #923 )
2022-04-02 13:31:00 -04:00
Quentin McGaw
c33fb8bb97
fix(env): OPENVPN_FLAGS functionality
2022-03-31 20:49:01 +00:00
Quentin McGaw
20f20f051b
fix(firewall): iptables support detection
...
- Add dummy rule to `INPUT` to test for iptables support
- This may resolve #896
2022-03-30 09:03:25 +00:00
Quentin McGaw
179274ade0
feat(log): use github.com/qdm12/log library
2022-03-30 09:03:20 +00:00
Quentin McGaw
84607e332b
chore(server): use httpserver package for control server
2022-03-30 09:00:42 +00:00
Quentin McGaw
8186ef2342
chore(httpserver): remove name field
2022-03-30 09:00:36 +00:00
Mirco Ianese
19b184adba
fix(purevpn): update servers Zip file download URL ( #915 )
...
- Fix PureVPN zip file download link
- Update all PureVPN server information
2022-03-28 15:47:40 -04:00
Quentin McGaw
a97fd35d6e
fix(ci): openvpn 2.4.12-r0
2022-03-28 17:32:56 +00:00
dependabot[bot]
470ca020e2
Chore(deps): Bump github.com/stretchr/testify from 1.7.0 to 1.7.1 ( #897 )
...
Bumps [github.com/stretchr/testify](https://github.com/stretchr/testify ) from 1.7.0 to 1.7.1.
- [Release notes](https://github.com/stretchr/testify/releases )
- [Commits](https://github.com/stretchr/testify/compare/v1.7.0...v1.7.1 )
---
updated-dependencies:
- dependency-name: github.com/stretchr/testify
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-03-28 13:23:08 -04:00
dependabot[bot]
f64d7c4343
Chore(deps): Bump peter-evans/dockerhub-description from 2 to 3 ( #908 )
...
Bumps [peter-evans/dockerhub-description](https://github.com/peter-evans/dockerhub-description ) from 2 to 3.
- [Release notes](https://github.com/peter-evans/dockerhub-description/releases )
- [Commits](https://github.com/peter-evans/dockerhub-description/compare/v2...v3 )
---
updated-dependencies:
- dependency-name: peter-evans/dockerhub-description
dependency-type: direct:production
update-type: version-update:semver-major
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-03-28 13:22:58 -04:00
Quentin McGaw
c6f68a64e6
fix(health): use TCP dialing instead of ping
...
- `HEALTH_TARGET_ADDRESS` to replace `HEALTH_ADDRESS_TO_PING`
- Remove `github.com/go-ping/ping` dependency
- Dial TCP the target address, appending `:443` if port is not set
2022-03-22 08:50:56 +00:00
Quentin McGaw
5aaa122460
feat(protonvpn): update server information
2022-03-17 19:25:33 +00:00
Quentin McGaw
de169c027f
feat(privatevpn): update server information
2022-03-16 10:21:49 +00:00
Quentin McGaw
314c9663a2
fix(privatevpn): update servers without hostname
2022-03-16 10:21:42 +00:00
Quentin McGaw
21995eb3e3
feat(privado): update server information
2022-03-16 10:06:10 +00:00
Quentin McGaw
6fc700bd62
feat(mullvad): update server information
2022-03-16 10:05:01 +00:00
Quentin McGaw
acdbe2163e
chore(protonvpn): remove unused exit IPs field
2022-03-16 09:44:57 +00:00
Quentin McGaw
c3a231e0ab
chore(storage): omit empty fields in servers.json
2022-03-16 09:43:47 +00:00
Quentin McGaw
984e143336
feat(shutdown): log out OS signal name
2022-03-15 08:16:08 +00:00
Quentin McGaw
e2ba2f82c0
feat(routing): add IPv6 inbound routing
2022-03-13 19:36:45 +00:00
Quentin McGaw
ace5e97e68
fix(routing): only set routes for IPv4 default routes
2022-03-13 14:40:17 +00:00
Quentin McGaw
82d42297e8
chore(routing): remove unused LocalSubnetGetter
2022-03-13 13:32:19 +00:00
Quentin McGaw
f99d5e8656
feat(firewall): use all default routes
...
- Accept output traffic from all default routes through VPN interface
- Accept output from all default routes to outbound subnets
- Accept all input traffic on ports for all default routes
- Add IP rules for all default routes
2022-03-13 13:26:33 +00:00
dependabot[bot]
0795008c23
Chore(deps): Bump docker/build-push-action from 2.8.0 to 2.9.0 ( #832 )
...
Bumps [docker/build-push-action](https://github.com/docker/build-push-action ) from 2.8.0 to 2.9.0.
- [Release notes](https://github.com/docker/build-push-action/releases )
- [Commits](https://github.com/docker/build-push-action/compare/v2.8.0...v2.9.0 )
---
updated-dependencies:
- dependency-name: docker/build-push-action
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-03-09 16:09:51 -05:00
dependabot[bot]
c975a86a70
Chore(deps): Bump actions/checkout from 2.4.0 to 3 ( #870 )
...
Bumps [actions/checkout](https://github.com/actions/checkout ) from 2.4.0 to 3.
- [Release notes](https://github.com/actions/checkout/releases )
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md )
- [Commits](https://github.com/actions/checkout/compare/v2.4.0...v3 )
---
updated-dependencies:
- dependency-name: actions/checkout
dependency-type: direct:production
update-type: version-update:semver-major
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-03-09 16:09:28 -05:00
Quentin McGaw
69eee345d2
feat(ivpn): allow no password for account IDs
...
- When matching `i-xxxx-xxxx-xxxx` username
- When matching `ivpn-xxxx-xxxx-xxxx` username
2022-03-09 21:01:25 +00:00
Quentin McGaw
48afc05bcb
docs(readme): re-add /dev/net/tun since some OS need it
2022-03-09 11:20:05 +00:00
Quentin McGaw
39a62f5db7
feat(firewall): improve error message when NET_ADMIN is missing
2022-03-09 11:16:10 +00:00
Quentin McGaw
006b218ade
feat(firewall): auto-detect which iptables
...
- On `iptables` error, try to use `iptables-nft`
- On `ip6tables` error, try to use `ip6tables-nft`
2022-02-26 22:55:22 +00:00
Quentin McGaw
2b09b9c290
fix(ci): docker metadata image tags
...
- Move metata as top step in publish workflow
- Simplify `v0.x.x` check
- Dynamically determine base branch
2022-02-26 16:15:31 +00:00
Quentin McGaw
c42865b3d9
chore(ci): merge misspell workflow in ci workflow
2022-02-26 14:01:15 +00:00
Quentin McGaw
836f021a87
chore(lint): add containedctx, decorder and errchkjson
2022-02-26 13:49:53 +00:00
Quentin McGaw
26b049b361
fix(ci): docker/metadata-action logic
2022-02-26 13:39:35 +00:00
Quentin McGaw
e75627365d
chore(lint): upgrade golangci-lint to v1.44.2
2022-02-20 21:26:38 +00:00
Quentin McGaw
ae0334c930
chore(sources): wrap error with source string
2022-02-20 03:04:16 +00:00
Quentin McGaw
920ad8b54b
chore(errors): review all errors in codebase
2022-02-20 02:58:16 +00:00
Quentin McGaw
ac4a4f83fc
chore(settings): split openvpn validation in functions
2022-02-20 00:08:55 +00:00
Quentin McGaw
a4652c2d32
feat(validation): reject server filters ignored for some VPN providers
2022-02-18 14:06:13 +00:00
Quentin McGaw
c40d4e075e
chore(validation): move functions from constants
...
- Move validation functions from `internal/constants` to `internal/configuration/settings/validation`
- Concatenate all OpenVPN constants in `internal/constants/openvpn.go`
2022-02-13 01:21:25 +00:00
Quentin McGaw
95967136d3
feat(firewall): faster setup 75ms to 10ms
2022-02-09 13:41:38 +00:00
Quentin McGaw (desktop)
576c1ee0c5
fix(env): accept uppercase SHADOWSOCKS_CIPHER
2022-02-09 12:33:47 +00:00
Quentin McGaw (desktop)
5d4032edf4
fix(env): accept uppercase OPENVPN_PROTOCOL
2022-02-09 12:33:24 +00:00
Quentin McGaw (desktop)
ff3f84f9fd
hotfix(env): OPENVPN_CIPHERS empty parsing
2022-02-06 22:58:23 +00:00
Quentin McGaw
2a19b68b9a
hotfix(env): fix parsing of unset server filters
2022-02-06 20:13:40 +00:00
Quentin McGaw
ed6c010aff
hotfix(env): fix BLOCK_SURVEILLANCE parsing
2022-02-06 20:06:58 +00:00
Quentin McGaw
783fb38e41
hotfix(env): allow empty VPN_ENDPOINT_IP
2022-02-06 20:02:45 +00:00
Quentin McGaw
fcab4ae3c6
chore(env): SERVER_NAMES variable
...
- With retro-compatibility with `SERVER_NAME`
2022-02-06 19:59:07 +00:00
Quentin McGaw
a69c456965
chore(env): SERVER_HOSTNAMES variable
...
- With retro-compatibility with `SERVER_HOSTNAME`
2022-02-06 19:59:07 +00:00
Quentin McGaw
0e6db2f1c5
chore(env): SERVER_REGIONS variable
...
- With retro-compatibility with `REGION`
2022-02-06 19:59:07 +00:00
Quentin McGaw
7aab18d197
chore(env): SERVER_CITIES variable
...
- With retro-compatibility with `CITY`
2022-02-06 19:59:07 +00:00
Quentin McGaw
d6b39e66d1
chore(env): SERVER_COUNTRIES variable
...
- With retro-compatibility with `COUNTRY`
2022-02-06 19:59:07 +00:00
Quentin McGaw
3f5c72d898
chore(env): simplify Cyberghost retro logic
2022-02-06 19:59:07 +00:00
Quentin McGaw
691ade794b
chore(env): PRIVATE_INTERNET_ACCESS_VPN_PORT_FORWARDING_STATUS_FILE
...
- With retro-compatibility with `PORT_FORWARDING_STATUS_FILE`
2022-02-06 19:59:07 +00:00
Quentin McGaw
1693c4ed8a
chore(env): PRIVATE_INTERNET_ACCESS_VPN_PORT_FORWARDING
...
- With retro-compatibility with `PORT_FORWARDING`
2022-02-06 19:59:07 +00:00
Quentin McGaw
ae9b3279c3
chore(env): PRIVATE_INTERNET_ACCESS_OPENVPN_ENCRYPTION_PRESET variable
...
- With retro-compatibility with `PIA_ENCRYPTION` and `ENCRYPTION`
2022-02-06 19:59:07 +00:00
Quentin McGaw
04956e45c7
chore(env): OPENVPN_CIPHERS variable
...
- With retro-compatibility with `OPENVPN_CIPHER`
2022-02-06 19:59:07 +00:00
Quentin McGaw
027664af7b
chore(env): VPN_SERVICE_PROVIDER variable
...
- With retro-compatibility with `VPNSP`
2022-02-06 19:59:07 +00:00
Quentin McGaw
f8d5f76bdf
chore(env): WIREGUARD_ADDRESSES variable
...
- With retro-compatibility with `WIREGUARD_ADDRESS`
2022-02-06 19:59:07 +00:00
Quentin McGaw
114f9be47f
chore(env): DNS_ADDRESS variable
...
- With retro-compatibility with `DNS_PLAINTEXT_ADDRESS`
2022-02-06 19:59:07 +00:00
Quentin McGaw
c73369e11c
chore(constants): remove and move constant paths
...
- Remove unused paths
- Move paths to inline constants if used only once
2022-02-06 19:59:07 +00:00
Quentin McGaw
5603e25542
chore(env): VPN_INTERFACE
...
- With retro-compatibility with `OPENVPN_INTERFACE`
- With retro-compatibility with `WIREGUARD_INTERFACE`
2022-02-06 19:59:07 +00:00
Quentin McGaw
0d8cb66d43
chore(env): getEnvWithRetro helper function
2022-02-06 19:59:07 +00:00
Quentin McGaw
e7e4cfca4c
fix(env): Retro-compatible precedence order for variables with defaults set in Dockerfile
...
- `BLOCK_NSA` has precedence over `BLOCK_SURVEILLANCE`
- `HEALTH_OPENVPN_DURATION_ADDITION` has precedence over `HEALTH_VPN_DURATION_ADDITION`
- `HEALTH_OPENVPN_DURATION_INITIAL` has precendence over `HEALTH_VPN_DURATION_INITIAL`
- Chain of precedence: `PROXY` > `TINYPROXY` > `HTTPPROXY`
- Chain of precedence: `PROXY_LOG_LEVEL` > `TINYPROXY_LOG` > `HTTPPROXY_LOG`
- `PROTOCOL` has precendence over `OPENVPN_PROTOCOL`
- `IP_STATUS_FILE` has precendence over `PUBLICIP_FILE`
- `SHADOWSOCKS_PORT` has precedence over `SHADOWSOCKS_LISTENING_ADDRESS`
- `SHADOWSOCKS_METHOD` has precedence over `SHADOWSOCKS_CIPHER`
2022-02-06 19:59:07 +00:00
Quentin McGaw
fd23f1a29b
chore(env): do not validate control server port
2022-02-06 19:59:07 +00:00
Quentin McGaw
57481e3dd7
fix(cyberghost): compat log if COUNTRY is empty
2022-02-06 19:59:07 +00:00
Quentin McGaw
53952b143f
fix(server): allow to bind on a random port
2022-02-06 19:59:07 +00:00
Quentin McGaw
e7b0f4c6be
feat(vpn): VPN_ENDPOINT_PORT
...
- Deprecate `OPENVPN_PORT`
- Deprecate `WIREGUARD_ENDPOINT_PORT`
2022-02-06 19:59:07 +00:00
Quentin McGaw
ea143c0c9a
feat(vpn): VPN_ENDPOINT_PORT
...
- Deprecate `OPENVPN_PORT`
- Deprecate `WIREGUARD_ENDPOINT_PORT`
2022-01-28 00:10:23 +00:00
Quentin McGaw
a951110461
feat(vpn): VPN_ENDPOINT_IP
...
- Deprecate `OPENVPN_TARGET_IP`
- Deprecate `WIREGUARD_ENDPOINT_IP`
2022-01-28 00:09:58 +00:00
Quentin McGaw
7a8f5f53d5
feat(openvpn): OPENVPN_PROCESS_USER and deprecates OPENVPN_ROOT
2022-01-27 23:34:19 +00:00
Quentin McGaw
1b585159d1
feat(server): HTTP_CONTROL_SERVER_PORT to HTTP_CONTROL_SERVER_ADDRESS
2022-01-27 23:15:08 +00:00
Quentin McGaw (desktop)
f3692cd47f
feat(mullvad): OWNED to OWNED_ONLY
2022-01-27 14:12:25 +00:00
Quentin McGaw (desktop)
15800fd4ff
feat(expressvpn): update built-in data
2022-01-27 13:01:08 +00:00
Quentin McGaw (desktop)
9fb085f361
hotfix(updater): do not default to custom
2022-01-27 12:57:27 +00:00
Quentin McGaw
1e3f878470
feat(updater): UPDATER_VPN_SERVICE_PROVIDERS
...
- Updater defaults to update the VPN provider in use if enabled
2022-01-26 22:41:06 +00:00
dependabot[bot]
bcf9bfa5d3
Chore(deps): Bump docker/build-push-action from 2.7.0 to 2.8.0 ( #801 )
...
Bumps [docker/build-push-action](https://github.com/docker/build-push-action ) from 2.7.0 to 2.8.0.
- [Release notes](https://github.com/docker/build-push-action/releases )
- [Commits](https://github.com/docker/build-push-action/compare/v2.7.0...v2.8.0 )
---
updated-dependencies:
- dependency-name: docker/build-push-action
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-01-26 17:35:50 -05:00
dependabot[bot]
56bdc1f0ae
Chore(deps): Bump github.com/breml/rootcerts from 0.2.1 to 0.2.2 ( #812 )
...
Bumps [github.com/breml/rootcerts](https://github.com/breml/rootcerts ) from 0.2.1 to 0.2.2.
- [Release notes](https://github.com/breml/rootcerts/releases )
- [Commits](https://github.com/breml/rootcerts/compare/v0.2.1...v0.2.2 )
---
updated-dependencies:
- dependency-name: github.com/breml/rootcerts
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-01-26 17:35:36 -05:00
Quentin McGaw
9de6428585
feat(pprof): add pprof HTTP server ( #807 )
...
- `PPROF_ENABLED=no`
- `PPROF_BLOCK_PROFILE_RATE=0`
- `PPROF_MUTEX_PROFILE_RATE=0`
- `PPROF_HTTP_SERVER_ADDRESS=":6060"`
2022-01-26 17:23:55 -05:00
Quentin McGaw (desktop)
55e609cbf4
fix(ci): release tag semver check
2022-01-23 15:13:26 +00:00
Kazi
f7319eb7a5
docs(docker-compose): add container_name commented line ( #806 )
2022-01-22 16:44:16 -08:00
Quentin McGaw (desktop)
2cff64fd80
fix(settings): allow DNS_UPDATE_PERIOD=0
2022-01-23 00:36:45 +00:00
Quentin McGaw (desktop)
fdc0db07e0
fix(updater): do not allow or set custom provider
2022-01-22 22:23:40 +00:00
dependabot[bot]
779cb18590
Chore(deps): Bump github.com/breml/rootcerts from 0.2.0 to 0.2.1 ( #769 )
...
Bumps [github.com/breml/rootcerts](https://github.com/breml/rootcerts ) from 0.2.0 to 0.2.1.
- [Release notes](https://github.com/breml/rootcerts/releases )
- [Commits](https://github.com/breml/rootcerts/compare/v0.2.0...v0.2.1 )
---
updated-dependencies:
- dependency-name: github.com/breml/rootcerts
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-01-22 13:34:43 -08:00
Quentin McGaw (desktop)
a1a1128d6d
fix(settings): trim trailing new line from files
2022-01-19 00:38:04 +00:00
Quentin McGaw (desktop)
7a50daca7c
feat(Dockerfile): entrypoint name to gluetun-entrypoint
2022-01-19 00:23:50 +00:00
Quentin McGaw
2ad23a09e8
fix(dockerfile): change SHADOWSOCKS_ADDRESS to SHADOWSOCKS_LISTENING_ADDRESS
2022-01-13 17:10:09 +00:00
Quentin McGaw
7e2ea4d74d
hotfix(custom): allow empty user and password for OpenVPN
2022-01-13 15:18:39 +00:00
Quentin McGaw
4bdce76041
hotfix(httpproxy): Retro-compat with old env vars
2022-01-12 14:40:19 +00:00
Quentin McGaw
6f5a78c22b
hotfix(settings): hostnames merging
2022-01-07 22:41:57 +00:00
Quentin McGaw
d6d529278e
feat(privado): update servers data
2022-01-07 22:32:04 +00:00
Quentin McGaw
a430d15ac5
feat(protonvpn): update built-in servers data
2022-01-07 22:29:45 +00:00
Quentin McGaw
b0c2d5f299
hotfix(updater): defaults for settings in CLI mode
2022-01-07 22:29:30 +00:00
Quentin McGaw
b32c01c11a
fix(custom): OPENVPN_CUSTOM_CONFIG
2022-01-07 15:12:49 +00:00
Quentin McGaw
05f42f0cb8
fix(httpproxy): HTTPPROXY_PORT variable key
2022-01-07 15:00:23 +00:00
Quentin McGaw
3efe3a524a
fix(control-server): listening port value
2022-01-07 09:42:15 +00:00
Quentin McGaw
8a788dfca5
fix(settings): read env for control server
2022-01-07 09:37:31 +00:00
Quentin McGaw
d5f1589ea1
fix(settings): VPNSP value read as lowercase
2022-01-07 09:23:45 +00:00
Quentin McGaw
c40c8413b5
fix(custom): settings parsing for custom VPNSP
2022-01-07 09:23:29 +00:00
Quentin McGaw
ae074dfb2b
hotfix(surfshark): REGION retro-compatibility
2022-01-06 19:16:14 +00:00
Quentin McGaw
2c8a8f6cd5
fix(settings): HTTP proxy default address
2022-01-06 17:47:06 +00:00
Quentin McGaw
4c7a09c228
fix(settings): change 2^16 to 65535
2022-01-06 17:42:10 +00:00
Quentin McGaw
ab39edc692
fix(settings): system ID max value
2022-01-06 16:48:06 +00:00
Quentin McGaw
6132cd9df2
fix(pia): encryption strong accepted
2022-01-06 15:04:40 +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
46738b2934
fix(hidemyass): REGION validation
2021-12-25 11:41:47 +00:00
Quentin McGaw
ca82fcb48e
feat(docker): upgrade Alpine to 3.15
2021-12-14 18:16:51 +00:00
Quentin McGaw
cfa3bb3b64
feat(internal/wireguard): opportunistic kernelspace
...
- Auto detect if kernelspace implementation is available
- Fallback to Go userspace implementation if kernel is not available
2021-12-14 11:03:36 +00:00
Quentin McGaw
b9a9319cb4
fix(ci): trigger CI on published releases
2021-11-27 12:09:33 +00:00
Quentin McGaw
77e4317135
chore(dev): fix devcontainer post create command
2021-11-27 12:01:07 +00:00
dependabot[bot]
b10d97e53a
Chore(deps): Bump github.com/breml/rootcerts from 0.1.1 to 0.2.0 ( #722 )
...
Bumps [github.com/breml/rootcerts](https://github.com/breml/rootcerts ) from 0.1.1 to 0.2.0.
- [Release notes](https://github.com/breml/rootcerts/releases )
- [Commits](https://github.com/breml/rootcerts/compare/v0.1.1...v0.2.0 )
---
updated-dependencies:
- dependency-name: github.com/breml/rootcerts
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-11-27 06:58:32 -05:00
dependabot[bot]
648a4c04d7
Build(deps): Bump actions/checkout from 2.3.4 to 2.4.0 ( #705 )
...
Bumps [actions/checkout](https://github.com/actions/checkout ) from 2.3.4 to 2.4.0.
- [Release notes](https://github.com/actions/checkout/releases )
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md )
- [Commits](https://github.com/actions/checkout/compare/v2.3.4...v2.4.0 )
---
updated-dependencies:
- dependency-name: actions/checkout
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-11-27 06:58:16 -05:00
Quentin McGaw
3ca674dca7
feat(windscribe): update server information
2021-11-18 22:00:05 +00:00
Quentin McGaw
fa97fd496e
feat(torguard): update server information
2021-11-18 09:35:30 +00:00
Quentin McGaw
c76a7ee8da
chore(dot): add error description for update files failure
2021-11-18 08:12:07 +00:00
Quentin McGaw
80f6b78332
chore(config): fix bad error wrapping
2021-11-17 22:32:33 +00:00
Quentin McGaw
8dc54a7c44
feat(privatevpn): support OPENVPN_PORT
2021-11-17 22:32:18 +00:00
Quentin McGaw
8f080c537b
fix(privatevpn): openvpn configuration values
2021-11-17 22:26:18 +00:00
Quentin McGaw
427cf86f44
chore(ci) disable snyk analysis for false positive
2021-11-12 23:39:01 +00:00
Quentin McGaw
2d244c08e7
Fix: 2 low vulnerability busybox issues
2021-11-12 23:04:42 +00:00
Quentin McGaw
82c0f523aa
fix: openvpn at /usr/sbin/openvpn2.5
...
- Fix operation on QNAP devices
- Refer to #157
2021-11-12 22:48:19 +00:00
Quentin McGaw
c07a0b0ada
chore(lint): add bidichk, ifshort, nilnil and tenv
2021-11-08 22:41:20 +00:00
Quentin McGaw
e4c306c0ee
chore(linter): update golangci-lint to v1.43.0
2021-11-07 21:26:31 +00:00
Quentin McGaw
6ffb94f819
fix(updater): cli error message
2021-11-07 21:25:10 +00:00
Quentin McGaw
142238e8b7
feat(protonvpn): update built-in servers data
2021-11-07 21:24:57 +00:00
Quentin McGaw (desktop)
678e23c7d6
Change: run OpenVPN as root to clean routes on exit
2021-11-01 22:51:03 +00:00
Quentin McGaw (desktop)
0abcebe1d8
Feat: update NordVPN server information
2021-11-01 22:48:36 +00:00
Quentin McGaw (desktop)
f398af1169
Fix: check github http status code for version
2021-10-29 01:37:45 +00:00
Quentin McGaw (desktop)
afbea415e3
Maint: replace ❎ with ❌ for markdown generated tables
2021-10-25 22:38:59 +00:00
Quentin McGaw (desktop)
225bd5d25b
Fix: CI to use short commits
2021-10-21 13:46:50 +00:00
Quentin McGaw (desktop)
3651cc6161
Maint: CI image tags rework
2021-10-16 14:58:11 +00:00
Quentin McGaw (desktop)
dc674014ff
Fix: vyprvpn: openvpn comp-lzo option
2021-10-14 19:55:48 +00:00
Quentin McGaw (desktop)
0e0e03949d
Docs: add urgent and low priority labels
2021-10-14 16:37:09 +00:00
Quentin McGaw (desktop)
f5bf5c236a
Hotfix: CI if condition
2021-10-14 16:32:43 +00:00
dependabot[bot]
94480ecabb
Maint: bump docker/build-push-action from 2.6.1 to 2.7.0 ( #664 )
2021-10-14 09:31:08 -07:00
dependabot[bot]
31ef9b1d45
Maint: bump github.com/breml/rootcerts from 0.1.0 to 0.1.1 ( #668 )
2021-10-14 09:30:21 -07:00
Quentin McGaw (desktop)
bf76132fd4
Maint: fix dependabot CI trigger
2021-10-14 16:29:22 +00:00
Quentin McGaw (desktop)
8cc2983318
Fix: NordVPN: Re-add comp-lzo option
2021-10-13 00:04:51 +00:00
Quentin McGaw (desktop)
caeca18ed7
Hotfix: ci workflow
2021-10-06 18:54:44 +00:00
dependabot[bot]
50febb41ff
Maint: bump docker/build-push-action from 2.6.1 to 2.7.0 ( #583 )
2021-10-06 11:47:06 -07:00
Quentin McGaw (desktop)
79293e067c
Doc: fix readme Wiki links
2021-10-06 17:47:08 +00:00
Quentin McGaw (desktop)
f45be80591
Maint: CI changes
...
- Only trigger on push and PR to master
- Do not push images for branches
- Add fork only workflow
- Add dependabot only workflow
- Do not trigger ci workflow from forked/dependabot PRs
2021-10-06 14:23:01 +00:00
Quentin McGaw (desktop)
d405ba8dca
Feat: run OpenVPN without root
2021-10-05 21:33:15 +00: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
e0e3ca3832
Feat: Perfect privacy support ( #606 )
2021-10-05 10:44:15 -07:00
Quentin McGaw (desktop)
e7c952cbf7
Maint: remove opendns.com due to bad x509 cert
2021-09-30 16:01:35 +00:00
Quentin McGaw (desktop)
85ad2dd39a
Maint: simplify warning logging in http proxy
2021-09-30 16:01:02 +00:00
Quentin McGaw (desktop)
0c4f0ec17b
Doc: add ref to image tags in bug issue template
2021-09-30 15:34:21 +00:00
Quentin McGaw (desktop)
5ad4136955
Maint: move splash at start of program
2021-09-30 15:28:24 +00:00
Quentin McGaw (desktop)
a432de95a9
Maint: deduplicate ProtonVPN servers by entry IP
2021-09-30 15:23:18 +00:00
Quentin McGaw (desktop)
1d25a0e18c
Fix: server data version diff when reading file
2021-09-30 15:22:57 +00:00
Quentin McGaw (desktop)
29fd95685f
Doc: add custom provider option for bug issue template
2021-09-29 20:41:38 +00:00
Quentin McGaw (desktop)
62a6016882
Fix: FastestVPN new OpenVPN config
...
- Add required `comp-lzo`
- Add `reneg-sec 0` to match their config
- Do not filter `auth-token`
- Set UDP options only when using UDP
2021-09-28 13:52:07 +00:00
Quentin McGaw (desktop)
18a4a79763
Fix: log errors as error for OpenVPN
2021-09-28 11:57:32 +00:00
Quentin McGaw (desktop)
56ea722f93
Doc: update wiki issue template to use yml format
2021-09-27 23:47:10 +00:00
Quentin McGaw (desktop)
d2ab974933
Doc: update feature request issue template to use yml format
2021-09-27 23:44:15 +00:00
Quentin McGaw (desktop)
37d7a8b5fe
Doc: add Unraid template discussion link to issues
2021-09-27 23:40:22 +00:00
Quentin McGaw (desktop)
e4dcadd825
Doc: update bug issue template to use yml format
2021-09-27 23:37:40 +00:00
Quentin McGaw (desktop)
fee99e9fe3
Doc: add Github discussion link to issue config
2021-09-27 14:15:56 +00:00
Quentin McGaw (desktop)
8ac4826126
Doc: add Console Substack interview link
2021-09-27 13:24:31 +00:00
Quentin McGaw (desktop)
7deb12e06d
Maint: use github.com/breml/rootcerts
2021-09-26 22:26:11 +00:00
Quentin McGaw (desktop)
d6e218141b
Maint: Go program uses time/tzdata instead of OS
2021-09-26 22:25:28 +00:00
Quentin McGaw (desktop)
f44121b044
Maint: upgrade qdm12/goshutdown to v0.3.0
2021-09-26 22:23:52 +00:00
Quentin McGaw (desktop)
5d8d92462d
Feat: update FastestVPN server information
2021-09-25 13:30:29 +00:00
Quentin McGaw
985cf7b7dd
Feat: ExpressVPN support ( #623 )
2021-09-23 10:19:30 -07:00
dependabot[bot]
dcbc10fd57
Build(deps): Bump github.com/fatih/color from 1.12.0 to 1.13.0 ( #635 )
2021-09-23 10:08:31 -07:00
Quentin McGaw (desktop)
79f243e98d
Maint: package local log levels
2021-09-23 17:06:09 +00:00
Quentin McGaw (desktop)
cf95692b93
Maint: package local narrow Logger interfaces
2021-09-23 17:06:09 +00:00
Quentin McGaw
d8e008606f
Feat: WeVPN support ( #591 )
2021-09-23 07:58:13 -07:00
Quentin McGaw (desktop)
3cd26a9f61
Feat: debug log Wireguard keys
2021-09-23 14:42:28 +00:00
Quentin McGaw (desktop)
5d74320ee7
Maint: truncate servers format output file
2021-09-23 14:38:46 +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)
625de1c834
Maint: migrate Cyberghost REGION to COUNTRY
2021-09-23 13:28:32 +00:00
Quentin McGaw (desktop)
1c0a3ed1a4
Feat: update Cyberghost servers data
2021-09-23 13:26:21 +00:00
Quentin McGaw (desktop)
03ba9169f4
Feat: format-servers CLI command
2021-09-23 13:13:17 +00:00
Quentin McGaw (desktop)
c22e0e9db7
Fix: HideMyAss: Cote d'Ivoire server country
2021-09-21 23:56:53 +00:00
Quentin McGaw (desktop)
6bcbaf085d
Maint: remove NordVPN SERVER_NAME filter
...
- Filter was not effective
- Is to be deprecated in v4 anyway
- Bump NordVPN server model version to `3`
- Remove `Name` field from NordVPN server model
2021-09-21 23:56:29 +00:00
Quentin McGaw (desktop)
9a1d9c5d74
Fix: PIA's SERVER_NAME variable
2021-09-21 22:31:50 +00:00
Quentin McGaw (desktop)
59a3a072e0
Feat: support IPv6 routing for Wireguard
2021-09-21 15:12:48 +00:00
Quentin McGaw (desktop)
9f001bbc06
Feat: log wireguard server endpoint
2021-09-18 19:12:27 +00:00
Quentin McGaw (desktop)
b8356b60a6
Maint: use OPENVPN_PORT instead of PORT
...
with retro-compatibility
2021-09-18 16:09:21 +00:00
Quentin McGaw (desktop)
e2e218c74b
Feat: update Mullvad server information
2021-09-18 15:37:49 +00:00
Quentin McGaw (desktop)
3bf23cbae5
Maint: remove enabled by default linters
2021-09-17 18:05:07 +00:00
Quentin McGaw (desktop)
da562d8206
Doc: update maintenance document
2021-09-16 20:42:39 +00:00
Quentin McGaw (desktop)
81bf83db13
Maint: remove disable-occ from PIA (match Wiki)
2021-09-16 20:32:34 +00:00
Quentin McGaw (desktop)
7a25dcd130
Doc: remove duplicate docker-compose.yml
2021-09-16 20:32:04 +00:00
Quentin McGaw (desktop)
877c7e1a9f
Doc: update readme with updated Wiki
2021-09-16 20:24:30 +00:00
Quentin McGaw (desktop)
77b2512745
Doc: add wiki issue template
2021-09-16 19:53:37 +00:00
Quentin McGaw (desktop)
749b73ef15
Doc: remove help issue template
2021-09-16 19:51:32 +00:00
Quentin McGaw (desktop)
e499eca12c
Maint: remove assignees in Github issues
2021-09-16 19:51:14 +00:00
Quentin McGaw (desktop)
80f25c34e5
Hotfix: default cyberghost cipher to aes-128-gcm
2021-09-15 12:54:36 +00:00
Quentin McGaw (desktop)
61677fbce2
Maint: migrate PROTOCOL to OPENVPN_PROTOCOL
2021-09-14 19:27:13 +00:00
Quentin McGaw (desktop)
dc6171185e
Maint: add more linters to golangci-lint
2021-09-14 19:26:46 +00:00
Quentin McGaw (desktop)
f7e4331e93
Fix: PureVPN remove AES-256-CBC cipher
2021-09-14 15:47:06 +00:00
Quentin McGaw (desktop)
1340511b64
Maint: re-order OpenVPN options
2021-09-14 15:46:40 +00:00
Quentin McGaw (desktop)
c3078f84e8
Maint: OpenVPN option: remove all ping-* options
...
- Use the built-in healthcheck vpn restart mechanism instead
- Restarting with `ping-restart` or `ping-exit` would only restart with the same `remote` connection
- Specify `ping` options as VPN specific to ensure the server doesn't disconnect us
2021-09-14 15:23:56 +00:00
Quentin McGaw (desktop)
9f65157a0d
Maint: OpenVPN: add explicit-exit-notify for UDP
2021-09-14 15:13:40 +00:00
Quentin McGaw (desktop)
89166cdabf
Maint: OpenVPN: PIA: add tls-exit option
2021-09-14 15:09:22 +00:00
Quentin McGaw (desktop)
b872973e8b
Maint: OpenVPN option tls-client removed
...
- It's redundant with `client` option
- Affects FastestVPN
2021-09-14 15:04:50 +00:00
Quentin McGaw (desktop)
2000e72357
Maint: OpenVPN option: remove tun-mtu 1500
...
- Since it defaults to `1500`
- Affects FastestVPN
- Affects NordVPN
- Affects ProtonVPN
- Affects Surfshark
- Affects Torguard
2021-09-14 14:59:04 +00:00
Quentin McGaw (desktop)
836e53642d
Maint: OpenVPN option keepalive replaced by ping options
2021-09-14 14:57:31 +00:00
Quentin McGaw (desktop)
af3f882bb8
Maint: OpenVPN: only add persist-key when running without root
2021-09-14 14:55:39 +00:00
Quentin McGaw (desktop)
2ab05b9350
Maint: OpenVPN: only add persist-tun when running without root
2021-09-14 14:54:59 +00:00
Quentin McGaw (desktop)
1022eb8a6e
Maint: remove OpenVPN option route-method
...
- Unneeded unless running on Windows
- Affects PureVPN
2021-09-14 14:49:02 +00:00
Quentin McGaw (desktop)
15fe62de32
Maint: remove OpenVPN route-delay option
...
- Affects Cyberghost
- Affects PureVPN
2021-09-14 14:48:14 +00:00
Quentin McGaw (desktop)
83d87f83f9
Maint: remove useless OpenVPN ping-timer-rem
2021-09-14 14:47:27 +00:00
Quentin McGaw (desktop)
76a0c1f6c4
Fix: OpenVPN remove compression options (security)
...
- Affects FastestVPN
- Affects Hide My Ass
- Affects IP Vanish
- Affects IVPN
- Affects NordVPN
- Affects PrivateVPN
- Affects ProtonVPN
- Affects VPN Unlimited
- Affects VyprVPN
2021-09-14 14:45:30 +00:00
Quentin McGaw (desktop)
a1588302a7
Change: Windscribe: OpenVPN cipher aes-256-gcm
2021-09-14 13:22:43 +00:00
Quentin McGaw (desktop)
91ce790b6b
Fix: OpenVPN custom: do not deduplicate lines
...
- Remove case by case lines to avoid duplicates
- Do not deduplicate all lines
2021-09-14 12:32:15 +00:00
Quentin McGaw (desktop)
5d3982c2d2
Docs: update Wireguard support list in readme
2021-09-13 20:23:16 +00:00
Quentin McGaw (desktop)
2cf7f7b268
Maint: WIREGUARD_PORT to WIREGUARD_ENDPOINT_PORT
2021-09-13 20:06:47 +00:00
Quentin McGaw (desktop)
8645d978ba
Feat: VPNSP=custom for Wireguard
...
- `WIREGUARD_PUBLIC_KEY` variable
- `WIREGUARD_ENDPOINT_IP` variable
2021-09-13 19:33:04 +00:00
Quentin McGaw (desktop)
cc18b158f4
Maint: remove all script-security OpenVPN options
...
- Affects Cyberghost
- Affects Mullvad
- Affects PureVPN
- Affects Surfshark
- Affects Torguard
- Affects Windscribe
2021-09-13 16:05:14 +00:00
Quentin McGaw (desktop)
0730b6db6e
Maint: remove ncp-disable deprecated option
...
- Affects Cyberghost
- Affects PIA
- Affects Torguard
- Affects Windscribe
2021-09-13 15:59:33 +00:00
Quentin McGaw (desktop)
3d2a360401
Fix: remove OpenVPN compression (PIA, torguard)
2021-09-13 15:56:25 +00:00
Quentin McGaw (desktop)
0c60dab384
Maint: remove deprecated keysize OpenVPN option
2021-09-13 15:55:16 +00:00
Quentin McGaw (desktop)
f5f0ad7f28
Maint: remove deprecated tun-ipv6 option
2021-09-13 15:54:01 +00:00
Quentin McGaw
f807f756eb
VPNSP value custom for OpenVPN custom config files (#621 )
...
- Retro-compatibility: `OPENVPN_CUSTOM_CONFIG` set implies `VPNSP=custom`
- Change: `up` and `down` options are not filtered out
- Change: `OPENVPN_INTERFACE` overrides the network interface defined in the configuration file
- Change: `PORT` overrides any port found in the configuration file
- Feat: config file is read when building the OpenVPN configuration, so it's effectively reloaded on VPN restarts
- Feat: extract values from custom file at start to log out valid settings
- Maint: `internal/openvpn/extract` package instead of `internal/openvpn/custom` package
- Maint: All providers' `BuildConf` method return an error
- Maint: rename `CustomConfig` to `ConfFile` in Settings structures
2021-09-13 08:30:14 -07:00
Quentin McGaw (desktop)
11af6c10f1
HotFix: use newer HEALTH variables in Dockerfile
2021-09-13 01:30:37 +00:00
Quentin McGaw (desktop)
40342619e7
Maint: dynamically set allowed VPN input ports
...
- Feat: allow to change VPN type at runtime
- Feat: allow to change interface name at runtime
- Maint: Add cleanup method to cleanup VPN loop on a vpn shutdown
- Change: allow VPN inputs ports only when tunnel is up
2021-09-13 00:50:20 +00:00
Quentin McGaw (desktop)
19bf62c21f
Fix: set non block on TUN device
2021-09-12 13:32:50 +00:00
Quentin McGaw (desktop)
2ea00d149f
Feat: adapt logger prefix to VPN used
...
- `openvpn: ` for OpenVPN
- `wireguard: ` for Wireguard
2021-09-12 13:27:30 +00:00
Quentin McGaw (desktop)
cc677bde93
Maint: change default ping address to github.com to test DNS
2021-09-11 22:27:32 +00:00
Quentin McGaw (desktop)
6627cda96c
Feat: HEALTH_ADDRESS_TO_PING variable
...
- Defaults to `1.1.1.1`
- Add more Ping integration tests with different addresses
- Add unit test pinging 127.0.0.1
- Add comment explaining why we need to use ICMP instead of UDP
2021-09-11 22:22:55 +00:00
Quentin McGaw (desktop)
cade2732b0
Maint: improve internal/configuration/health_test.go unit test
2021-09-11 22:14:37 +00:00
Quentin McGaw (desktop)
541a4a3271
Feat: healthcheck uses ping instead of DNS
2021-09-11 21:49:46 +00:00
Quentin McGaw (desktop)
0eccd068e5
Maint: rename health OpenVPN names to VPN
...
- `HEALTH_OPENVPN_DURATION_INITIAL` renamed to `HEALTH_VPN_DURATION_INITIAL` with retro-compatiblity
- `HEALTH_OPENVPN_DURATION_ADDITION` renamed to `HEALTH_VPN_DURATION_ADDITION` with retro-compatiblity
2021-09-11 21:04:21 +00:00
Quentin McGaw (desktop)
87f4b9e422
Docs: update maintenance document
2021-09-11 15:29:29 +00:00
Quentin McGaw (desktop)
bcaf2e42fd
Maint: re-order Dockerfile environment variables
2021-09-11 15:24:00 +00:00
Quentin McGaw (desktop)
d39201f9b3
Fix: public IP loop deadlock
2021-09-10 22:54:02 +00:00
Quentin McGaw (desktop)
8ac2a816c3
Fix: close HTTP client connections when tunnel comes up
2021-09-10 22:53:05 +00:00
Quentin McGaw (desktop)
344f1bf9ee
Docs: add wireguard in top description
2021-09-10 22:18:29 +00:00
Quentin McGaw (desktop)
f0a006fc43
Docs: add fix the unraid template link
2021-09-10 21:11:08 +00:00
Quentin McGaw (desktop)
145da0b21d
Maint: rename wireguard CustomPort
2021-09-10 19:07:14 +00:00
Quentin McGaw (desktop)
094de89a3e
Fix: PIA_ENCRYPTION default value outside Docker
...
- Defaults to `strong` instead of strong certificate string
- No impact on Docker images since variable is set to `strong` in Dockerfile
- Only read `PIA_ENCRYPTION` if service provider is PIA
2021-09-09 21:36:14 +00:00
Quentin McGaw (desktop)
65ace12def
Maint: internal/openvpn/parse package
...
- Parse PEM key data for Cyberghost and VPNUnlimited
- Add more unit tests
2021-09-08 16:40:19 +00:00
Quentin McGaw (desktop)
9afe455635
Fix: missing status code check for Windscribe API
2021-09-08 16:09:32 +00:00
Quentin McGaw (desktop)
45ce422a89
Maint: use type aliases in internal/netlink
2021-09-07 02:35:39 +00:00
Quentin McGaw (desktop)
4a0738cd49
Fix: repo servers.json path
2021-09-06 13:41:45 +00:00
Quentin McGaw (desktop)
6b6caa435f
Fix: clear IP data when VPN is stopped
2021-09-06 13:28:05 +00:00
Quentin McGaw (desktop)
f9cb71027c
Feat: location data at /v1/publicip/ip
2021-09-05 22:54:10 +00:00
Quentin McGaw (desktop)
82ac568ee3
Fix: wireguard cleanup preventing restarts
2021-09-04 22:29:04 +00:00
Quentin McGaw (desktop)
61afdce788
Hotfix: Wireguard WIREGUARD_ADDRESSES setting
2021-08-28 20:59:39 +00:00
Quentin McGaw (desktop)
119cac5a67
Feat: OPENVPN_TARGET_IP overrides IP
...
- Check target IP matches a server for Wireguard since we need the public key
- Streamline connection picking for all providers
2021-08-28 19:07:44 +00:00
Quentin McGaw (desktop)
c6fedd9214
Feat: support csv addresses in WIREGUARD_ADDRESS
2021-08-28 18:43:23 +00:00
Quentin McGaw (desktop)
da525e039d
Fix: update Mullvad annoucement logged
2021-08-28 18:14:28 +00:00
Quentin McGaw (desktop)
29d92fd307
Fix: Surfshark REGION retro-compatibility
2021-08-28 18:14:21 +00:00
Quentin McGaw (desktop)
3863cc439e
Maint: internal/storage rework
...
- No more global variables
- Inject merged servers to configuration package
- Fix #566 : configuration parsing to use persisted servers.json
- Move server data files from `internal/constants` to `internal/storage`
2021-08-27 19:10:03 +00:00
Quentin McGaw (desktop)
b1cfc03fc5
Maint: internal/storage remove Windscribe debug logs
2021-08-27 12:10:49 +00:00
Quentin McGaw (desktop)
f706071048
Fix: FIREWALL_VPN_INPUT_PORTS for Wireguard
2021-08-26 19:54:48 +00:00
Quentin McGaw (desktop)
501ae2741b
Fix: FIREWALL_OUTBOUND_SUBNETS ip rules
2021-08-26 15:46:19 +00:00
Quentin McGaw (desktop)
5b75635386
Maint: fix rules equality check for nil networks
2021-08-26 14:33:51 +00:00
Quentin McGaw (desktop)
2901db3cf3
Maint: internal/routing IP rules functions
...
- Take in `src` as `*net.IPNet` instead of `net.IP`
- Take `dst` IP network
- Debug logged `ip rule` dynamically built
- Add unit tests for all IP rules functions
2021-08-26 13:59:43 +00:00
Quentin McGaw (desktop)
6c2a3e36b5
Maint: rename outboundsubnets.go to outbound.go
2021-08-25 19:09:42 +00:00
Quentin McGaw (desktop)
8b125e6e95
Maint: internal/routing/inbound.go file
2021-08-25 19:08:55 +00:00
Quentin McGaw (desktop)
e1cc14e055
Fix: firewall inherits log level from LOG_LEVEL
2021-08-25 17:55:46 +00:00
Quentin McGaw (desktop)
d6659552df
Maint: refactor internal/routing
...
- Split Go files better
- Reduce public API for exported errors
2021-08-25 17:52:05 +00:00
Quentin McGaw (desktop)
67001fa958
Maint: rename files in internal/subnet
2021-08-25 17:27:10 +00:00
Quentin McGaw (desktop)
ffeeae91ab
Maint: merge subnet.FindSubnetsToAdd and subnet.FindSubnetsToRemove in subnet.FindSubnetsToChange
2021-08-25 17:25:36 +00:00
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
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
Quentin McGaw (desktop)
bd74879303
Maint: read all settings first
2021-08-18 15:42:19 +00:00
Quentin McGaw (desktop)
da30ae287f
Maint: decouple OpenVPN config writer from loop
2021-08-18 15:35:07 +00:00
Quentin McGaw (desktop)
6a545aa088
Maint: tun package to handle tun device operations
...
- Moved from openvpn package to tun package
- TUN check verifies Rdev value
- TUN create
- Inject as interface to main function
- Add integration test
- Clearer log message for end users if tun device does not exist
- Remove unix package (unneeded for tests)
- Remove tun file opening at the end of tun file creation
- Do not mock unix.Mkdev (no OS operation)
- Remove Tun operations from OpenVPN configurator
2021-08-18 15:31:08 +00:00
Quentin McGaw (desktop)
384a4bae3a
Hotfix: PIA: encryption preset reading
2021-08-17 19:35:57 +00:00
Quentin McGaw (desktop)
e65f924cd7
Maint: remove custom config readProvider constructor
2021-08-17 17:53:13 +00:00
Quentin McGaw (desktop)
9105b33e9f
Maint: configuration Openvpn selection structure
...
- Move network protocol from ServerSelection to OpenVPNSelection child
- Move PIA encryption preset from ServerSelection to OpenVPNSelection child
- Move custom port from ServerSelection to OpenVPNSelection child
2021-08-17 16:54:22 +00:00
Quentin McGaw (desktop)
cc2235653a
Maint: refactor VPN configuration structure
...
- Paves the way for Wireguard
- VPN struct contains Type, Openvpn and Provider configurations
- OpenVPN specific options (e.g. client key) moved from Provider to Openvpn configuration struct
- Move Provider configuration from OpenVPN configuration to VPN
- HTTP control server returns only openvpn settings (not provider settings)
2021-08-17 15:44:11 +00:00
Quentin McGaw (desktop)
a00de75f61
Maint: rename utility names to be Openvpn specific
...
- GetTargetIPConnection to GetTargetIPOpenVPNConnection
- PickRandomConnection to PickRandomOpenVPNConnection
2021-08-17 14:08:53 +00:00
Quentin McGaw (desktop)
836412b032
Maint: move routeReadyEvents to openvpn package
2021-08-16 19:19:41 +00:00
Quentin McGaw (desktop)
ba16270059
Maint: context aware collectLines functions
2021-08-16 19:19:33 +00:00
Quentin McGaw (desktop)
2c73672e64
Fix: restore PIA error if region does not support port forwarding
2021-08-16 19:16:05 +00:00
Quentin McGaw (desktop)
74b7c81195
Fix: apk-tools culnerability fix installation
...
- Install apk-tools before using apk
- Install latest apk-tools so it can be rebuilt in the future
2021-08-09 14:49:45 +00:00
Quentin McGaw (desktop)
a021ff6b22
Fix: loopstate mutex unlocking
...
- Fix #547
- Fix all run loops for restarts
2021-08-09 14:35:55 +00:00
Quentin McGaw (desktop)
6d1a90cac0
Fix: use apk-tools 2.12.7-r0
...
- valid for ppc64le
- additional security fix
2021-08-09 01:21:19 +00:00
Quentin McGaw (desktop)
1f47c16102
Fix: windscribe: only get openvpn IP addresses
2021-08-09 01:18:51 +00:00
Quentin McGaw (desktop)
abbcf60aed
Fix: port forward get route, fixes #552
2021-08-01 15:01:28 +00:00
Quentin McGaw (desktop)
f339c882d7
Feat: updater cyberghost servers
2021-07-31 22:38:18 +00:00
Quentin McGaw (desktop)
982536e9e8
Fix & feat: Cyberghost server groups
...
- Allow multiple comma separated values for CYBERGHOST_GROUP
- Defaults to all UDP groups
- If TCP is enabled, defaults to all TCP groups
- Check groups specified match the protocol
- Default Cyberghost group to empty
- Adjust formatting and messages
2021-07-31 14:53:34 +00:00
Quentin McGaw (desktop)
c17b351efb
Fix: cyberghost: explicit-exit-notify only for UDP
2021-07-31 14:02:02 +00:00
Quentin McGaw (desktop)
130bebf2c6
Doc: add unraid template link to issue templates
2021-07-30 19:48:42 +00:00
Quentin McGaw (desktop)
83c4ad2e59
Hotfix: fix shadowsocks config parsing, refix #548
2021-07-29 13:50:40 +00:00
Quentin McGaw (desktop)
0bcc6ed597
Fix: port forwarding deadlock bug, fix #547
2021-07-29 01:13:16 +00:00
Quentin McGaw (desktop)
c61f854edc
Maint: upgrade ss-server to v0.3.0
...
- `SHADOWSOCKS_PORT` in retrocompatibility
- `SHADOWSOCKS_METHOD` in retrocompatibility
- `SHADOWSOCKS_ADDRESS` added
- `SHADOWSOCKS_CIPHER` added
- Shadowsocks config inherit from ss-server's Settings
- Log adapter removed as no longer needed
2021-07-29 00:48:46 +00:00
Quentin McGaw
2998cf5e48
Maint: port forwarding refactoring ( #543 )
...
- portforward package
- portforward run loop
- Less functional arguments and cycles
2021-07-28 08:35:44 -07:00
Quentin McGaw
c777f8d97d
Feat: add verify-x509-name to Windscribe Openvpn config ( #529 )
2021-07-28 07:18:08 -07:00
Quentin McGaw (desktop)
7d4f5c8906
Fix: Alpine vulnerability with apk
2021-07-27 19:45:23 +00:00
Quentin McGaw (desktop)
da39d07d48
Maint: log line fix for updater version diff
2021-07-27 15:18:10 +00:00
Quentin McGaw (desktop)
b98f2456c0
Fix: deadlock for openvpn, dns and publicip loops
2021-07-27 14:12:22 +00:00
Quentin McGaw (desktop)
564cc2b0bc
Maint: move misplaced writeOpenvpnConf in openvpn
2021-07-26 16:30:51 +00:00
Quentin McGaw (desktop)
49885c63c4
Maint: common no port forwarding implementation
2021-07-26 16:29:40 +00:00
Quentin McGaw (desktop)
d7a6caa2ac
Maint: routing interface composition
2021-07-26 16:18:53 +00:00
Quentin McGaw (desktop)
73c383fd65
Maint: remove routing configurator from Openvpn Loop
2021-07-26 16:18:35 +00:00
Quentin McGaw (desktop)
10b270f742
Maint: remove routing from firewall configurator
2021-07-26 16:17:01 +00:00
Quentin McGaw (desktop)
7a222923c7
Maint: use narrower interfaces for firewall config
2021-07-26 16:07:50 +00:00
Quentin McGaw (desktop)
430512dd27
Maint: openvpn configurator interface composition
2021-07-26 16:03:04 +00:00
Quentin McGaw (desktop)
d5ba15c23b
Maint: improve http proxy loop Run
2021-07-26 01:42:37 +00:00
Quentin McGaw (desktop)
037b43ee10
Maint: add completed status to loopstate
2021-07-26 01:38:49 +00:00
Quentin McGaw (desktop)
ab910403c6
Fix: public IP loop being stuck
2021-07-26 01:35:43 +00:00
Quentin McGaw (laptop)
8105437815
Maint: add missing interface compilation checks
2021-07-24 19:54:15 +00:00
Quentin McGaw (laptop)
7b20cec035
Maint: rename SettingsGetterSetter to SettingsGetSetter
2021-07-24 19:49:50 +00:00
Quentin McGaw (laptop)
8d512852a4
Maint: rework publicip package
...
- Use loopstate package
- Loop interface composition
- Return concrete struct from constructors
- Split into more files
- Add publicip/state package
2021-07-24 19:49:11 +00:00
Quentin McGaw (laptop)
c8ad9b942a
Maint: openvpn loop is a concrete struct
2021-07-24 19:14:49 +00:00
Quentin McGaw (laptop)
8153d4bb2a
Maint: better openvpn loop interface composition
2021-07-24 18:56:42 +00:00
Quentin McGaw (laptop)
849dfee200
Maint: http proxy return concrete Loop struct
2021-07-24 18:52:19 +00:00
Quentin McGaw (laptop)
85540d96b6
Maint: interface composition for HTTP proxy loop
...
- Change SetStatus to ApplyStatus
- Add Runner interface
- Add SettingsGetterSetter alias to state.SettingsGetterSetter
2021-07-24 18:50:17 +00:00
Quentin McGaw (laptop)
7479974d79
Maint: dns package state rework
...
- Interface composition with loopstate interfaces
- Use loopstate.Manager
- Create dns/state package for handling settings
2021-07-24 18:34:55 +00:00
Quentin McGaw (laptop)
3f1fb52fcb
Maint: upgrade qdm12 dependencies
...
- Upgrade qdm12/golibs
- Upgrade qdm12/dns to v1.11.0
2021-07-24 17:59:22 +00:00
Quentin McGaw (desktop)
7e343d7006
Maint: use loopstate for httpproxy
2021-07-23 20:47:36 +00:00
Quentin McGaw (desktop)
72a5e1f695
Maint: openvpn package split files
2021-07-23 20:46:57 +00:00
Quentin McGaw (desktop)
253310bd1a
Maint: loopstate package used in Openvpn state
2021-07-23 20:41:45 +00:00
Quentin McGaw (desktop)
fa6ccb08bd
Fix: openvpn loop: unlock read mutex for GetSettingsAndServers
2021-07-23 20:13:02 +00:00
Quentin McGaw (desktop)
762507855e
Maint: split httpproxy files
2021-07-23 19:25:48 +00:00
Quentin McGaw (desktop)
54610866f2
Maint: healthcheck package interface rework
...
- return concrete struct type
- Add compilation checks for implementations
2021-07-23 19:22:41 +00:00
Quentin McGaw (desktop)
c39ff5c233
Maint: move duration formatting to qdm12/golibs
2021-07-23 19:17:23 +00:00
Quentin McGaw (desktop)
2ddc784965
Maint: firewall package interface rework
...
- return concrete struct type
- split interface is sub-interfaces
2021-07-23 19:12:16 +00:00
Quentin McGaw (desktop)
10aabe8375
Hotfix: cli, alpine and dns interface name changes
2021-07-23 19:11:49 +00:00
Quentin McGaw (desktop)
122647b39d
Maint: pass network values to firewall constructor
2021-07-23 19:04:17 +00:00
Quentin McGaw (desktop)
02492c34a7
Maint: dns package interface rework
...
- return concrete struct type
- split interface is sub-interfaces
2021-07-23 18:57:29 +00:00
Quentin McGaw (desktop)
9436f604ba
Maint: split Go files in dns package
2021-07-23 18:55:53 +00:00
Quentin McGaw (desktop)
d9ca0deb08
Maint: cli package interface rework
...
- return concrete struct type
- split interface is sub-interfaces
2021-07-23 18:52:38 +00:00
Quentin McGaw (desktop)
0b985e8c35
Maint: alpine package interface rework
...
- return concrete struct type
- split interface is sub-interfaces
2021-07-23 18:51:51 +00:00
Quentin McGaw (desktop)
c5d92ae02c
Maint: inject Commander to openvpn and firewall
2021-07-23 18:25:30 +00:00
Quentin McGaw (desktop)
94b60d9f70
Maint: firewall and routing use logger.Debug
...
- Remove SetVerbose and SetDebug from both
- Log routing teardown
- Default logging level set to info
2021-07-23 18:20:18 +00:00
Quentin McGaw (desktop)
b23eb8f29d
Maint: prefer empty string comparison
2021-07-23 17:39:38 +00:00
Quentin McGaw (desktop)
3c44214d01
Maint: pass only single strings to logger methods
...
- Do not assume formatting from logger's interface
- Allow to change golibs in the future to accept only strings for logger methods
2021-07-23 17:36:08 +00:00
Quentin McGaw (desktop)
21f4cf7ab5
Maint: do not mock os functions
...
- Use filepaths with /tmp for tests instead
- Only mock functions where filepath can't be specified such as user.Lookup
2021-07-23 16:06:19 +00:00
Quentin McGaw (desktop)
e94684aa39
Fix: version diff for VPN server information
2021-07-23 02:51:49 +00:00
Quentin McGaw (desktop)
a34cc48197
Feat: update all servers for all providers
2021-07-23 02:47:29 +00:00
Quentin McGaw (desktop)
b262d91ccc
Feat: add -all flag to update all VPN servers
2021-07-23 02:47:04 +00:00
Quentin McGaw (desktop)
39aa983771
Maint: upgrade golibs and env error wrapping
2021-07-23 02:34:15 +00:00
Quentin McGaw (desktop)
5b9887dade
Maint: use qdm12/gosplash
2021-07-22 20:56:47 +00:00
Quentin McGaw (desktop)
c33402ce66
Feat: HEALTH_SERVER_ADDRESS
2021-07-22 20:45:17 +00:00
Quentin McGaw (desktop)
6f58f84151
Maint: improve health code
2021-07-22 20:18:52 +00:00
Quentin McGaw (desktop)
6acb7caf5b
Feat: Env variables to set health timeouts
...
- HEALTH_OPENVPN_DURATION_INITIAL
- HEALTH_OPENVPN_DURATION_ADDITION
2021-07-22 20:13:20 +00:00
Quentin McGaw (desktop)
8beff34cca
Maint: remove debug line in health server
2021-07-22 13:43:19 +00:00
TJJP
478e0f74f7
Fix: Windscribe Openvpn config ( #528 )
...
See https://blog.windscribe.com/openvpn-security-improvements-and-changes-7b04ea49222
> OpenVPN compression phaseout is in progress and will be completed by August 3rd 2021.
If you downloaded configs from this page before you saw this message, you need to re-download them now, or simply remove the compress or comp-lzo flags from the config that you downloaded after July 20th 2021.
2021-07-21 12:48:10 -04:00
Quentin McGaw (desktop)
b7bd23ab60
Fix: buildDate renamed to created in Dockerfile
2021-07-20 23:10:33 +00:00
Quentin McGaw (desktop)
82533c1453
Maint: improve servers data embedding
...
- use embed.FS to have immutable data
- use sync.Once to parse only once without data races
2021-07-20 19:01:49 +00:00
Quentin McGaw (desktop)
e0735b57ce
Maint: build all images fully in parallel
2021-07-20 15:47:28 +00:00
Quentin McGaw (desktop)
1e0bfc3b0c
Maint: rename BUILD_DATE to CREATED
2021-07-20 15:28:02 +00:00
Quentin McGaw (desktop)
cb0e89a38e
Maint: use curly braces around BUILDPLATFORM
2021-07-20 15:27:16 +00:00
Quentin McGaw (desktop)
da4d528463
Maint: hardcoded data in JSON embedded file
...
- Server information, versions and timestamps together in internal/constants/servers.json
- breaking change: updater cli uses -enduser instead of -file
- breaking change: updater cli uses -maintainer instead of -stdout
- Fix: replace special last a character with 'a' from Bogota for PrivateVPN
- Feat: do not write out servers and timestamp if no change was detected
2021-07-20 03:01:26 +00:00
Quentin McGaw (desktop)
394abbbe35
Feat: specify Openvpn flags with OPENVPN_FLAGS
2021-07-19 15:10:53 +00:00
Quentin McGaw (desktop)
fd39bc8518
Maint: upgrade inet.af/netaddr to 2021-07-18
2021-07-19 13:28:13 +00:00
dependabot[bot]
2663e8fba7
Bump docker/build-push-action from 2.4.0 to 2.6.1 ( #513 )
...
Bumps [docker/build-push-action](https://github.com/docker/build-push-action ) from 2.4.0 to 2.6.1.
- [Release notes](https://github.com/docker/build-push-action/releases )
- [Commits](https://github.com/docker/build-push-action/compare/v2.4.0...v2.6.1 )
---
updated-dependencies:
- dependency-name: docker/build-push-action
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-07-18 19:22:59 -07:00
Quentin McGaw (desktop)
faebac6a77
Maint: rename build.yml to ci.yml for linting
2021-07-19 02:20:23 +00:00
Quentin McGaw (desktop)
bc1b09e997
Maint: remove microbadger hook from CI
2021-07-19 02:18:22 +00:00
Quentin McGaw (desktop)
af358f777b
Feat: pull filter ipv6 if OPENVPN_IPV6 is off
2021-07-19 01:46:20 +00:00
Quentin McGaw (desktop)
c0d27b4bfc
Maint: rework openvpn restart on unhealthy
2021-07-18 03:17:48 +00:00
Quentin McGaw (desktop)
7e50c95823
Maint: minor DNS loop fixes and changes
2021-07-16 21:21:09 +00:00
Quentin McGaw (desktop)
39068dda17
Maint: rework Openvpn run loop
2021-07-16 21:20:34 +00:00
Quentin McGaw (desktop)
8185979ca4
Fix: deadlock on dns shutdown when starting up
2021-07-16 20:11:57 +00:00
Quentin McGaw (desktop)
7c44188130
Fix: controlled interrupt exit for subprograms
...
- Openvpn and Unbound do not receive OS signals
- Openvpn and Unbound run in a different process group than the entrypoint
- Openvpn and Unbound are gracefully shutdown by the entrypoint
- Update golibs with a modified command package
- Update dns to v1.9.0 where Unbound is luanched in its own group
2021-07-16 20:04:17 +00:00
Quentin McGaw (desktop)
c2d527bbd3
Fix: openvpn run loop panic about stdout streams
2021-07-16 19:02:04 +00:00
Quentin McGaw (desktop)
ac3ff095a1
Maint: rework DNS run loop
...
- Fix fragile user triggered logic
- Simplify state
- Lock loop when crashed
2021-07-16 19:00:56 +00:00
Quentin McGaw (desktop)
0ed738cd61
Maint: make all set status context aware
2021-07-16 00:49:59 +00:00
Quentin McGaw (desktop)
6bbb7c8f7d
Maint: remove outdated Auth log warning about PIA
2021-07-16 00:49:50 +00:00
Quentin McGaw (desktop)
d29429808c
Maint: deduplicate error logs for goshutdown
2021-07-15 23:02:33 +00:00
Quentin McGaw (desktop)
09eccd7cd9
Fix: events routing behavior when version information is disabled
2021-07-15 22:43:30 +00:00
Quentin McGaw (desktop)
bb2b8b4514
Fix: events routing exit when gluetun stops at start
2021-07-15 22:42:58 +00:00
Quentin McGaw (desktop)
e20b9c5774
Doc: simplify metdata and move it at top of readme
2021-07-14 22:17:51 +00:00
Quentin McGaw (desktop)
3badfa197a
Doc: use native markdown for svg title image
2021-07-14 22:08:40 +00:00
Quentin McGaw (desktop)
dee372e71b
Doc: add video
2021-07-14 00:31:27 +00:00
Quentin McGaw (desktop)
679be6e1bd
Feat: clean suffix new lines for credentials
2021-07-06 14:37:59 +00:00
Quentin McGaw (desktop)
92212fdd11
Fix: Cert validation for IPVanish
2021-07-01 18:28:24 +00:00
Quentin McGaw (desktop)
a6fb1ad9ef
Feat: update IPVanish server information
2021-07-01 18:28:12 +00:00
Quentin McGaw (desktop)
87d712fbd7
Feature: update ProtonVPN server information
2021-06-28 15:30:35 +00:00
Quentin McGaw (desktop)
023809f099
Feature: upgrade to Alpine 3.14
...
- Release note: https://wiki.alpinelinux.org/wiki/Release_Notes_for_Alpine_3.14.0
2021-06-25 19:01:00 +00:00
Quentin McGaw (desktop)
ace37370d1
Maint: xcputranslate version as build argument
2021-06-25 18:57:04 +00:00
Quentin McGaw (desktop)
8efbd4fac1
Maint: download golangci-lint from qmcgaw/binpot
2021-06-25 18:56:18 +00:00
Quentin McGaw (desktop)
06c8792887
Doc: clarify setup instructions
2021-06-22 15:21:49 +00:00
Quentin McGaw (desktop)
3ea376a1b2
Doc: maintenance document
2021-06-22 14:42:15 +00:00
Quentin McGaw (desktop)
9667d30907
Doc: add code highlighting how-to to issue templates
2021-06-22 14:41:48 +00:00
Quentin McGaw (desktop)
3f7ccc6c49
Feature: improve Cyberghost updater
...
- Waits up to 20s for resolutions
- Update server information and timestamp
2021-06-21 20:29:55 +00:00
Quentin McGaw (desktop)
dd97ff5895
Maintenance: cache xcputranslate
2021-06-21 18:50:30 +00:00
Quentin McGaw (desktop)
2e4d80d9bc
Maintenance: sleep for cross building
2021-06-21 18:35:40 +00:00
Quentin McGaw (desktop)
1227dc5a2b
Maintenance: upgrade xcputranslate to v0.6.0
2021-06-21 18:01:21 +00:00
Quentin McGaw (desktop)
ed828bc733
Hotfix: VPN Unlimited variable choices
2021-06-21 13:32:03 +00:00
Quentin McGaw (desktop)
c25a018c05
Maintenance: CI deduplicate base stage build
2021-06-21 13:01:53 +00:00
Quentin McGaw (desktop)
266596af68
Fix errors introduced with golangci-lint 1.41.1
2021-06-20 16:39:38 +00:00
Quentin McGaw
2c77b73ebc
IPVanish support ( #475 )
...
- Fix #410 and #416
2021-06-20 09:21:48 -07:00
Quentin McGaw
d81d4bbda3
VPN Unlimited support ( #499 )
...
- Fixes #420
- Revert to docker/build-push-action@v2.4.0
2021-06-20 09:18:03 -07:00
Quentin McGaw (desktop)
400affe429
Maintenance: add revive linter
2021-06-20 16:12:39 +00:00
Quentin McGaw (desktop)
d3c63680e8
Maintenance: ugprade golangci-lint to v1.41.1
2021-06-20 16:12:09 +00:00
Quentin McGaw (desktop)
28de8a834c
Maintenance: upgrade golang/mock to v1.6.0
2021-06-19 17:24:41 +00:00
Quentin McGaw (desktop)
208374fc54
Fix: Use name prefix for TLS check for IVPN
2021-06-19 16:34:50 +00:00
Quentin McGaw (desktop)
535a136a27
Feature: add IVPN Bulgaria and Spain servers
2021-06-19 16:34:36 +00:00
Quentin McGaw (desktop)
ba4c3e30a4
Doc: docker-compose.yml does not use secrets
2021-06-17 22:46:30 +00:00
Quentin McGaw (desktop)
16d8a388cb
Maintenance: better layer caching
...
- Install g++ in base image before copying code
- Install xcputranslate in base image before copying code
- Install golangci-lint in base image before copying code
- Install golangci-lint using go get directly
2021-06-15 12:27:32 +00:00
Quentin McGaw (desktop)
5ea31b0b64
Maintenance: set entrypoint for test Docker stage
2021-06-15 12:25:57 +00:00
Quentin McGaw (desktop)
582c6d1c43
Fix: only use and write auth file if user is set
...
- Apply to custom openvpn configuration without username
2021-06-14 14:25:37 +00:00
Quentin McGaw (desktop)
c63ae3f3af
Fix: custom openvpn config settings log
2021-06-14 14:24:38 +00:00
Quentin McGaw (desktop)
4c0df96a95
Maintenance: use github.com/qdm12/goshutdown
2021-06-10 15:03:47 +00:00
Quentin McGaw (desktop)
05c6b9379a
Maintenance: prevent exit race condition for loops
2021-06-10 14:13:08 +00:00
Quentin McGaw (desktop)
fb7fdcd925
Fix: change PureVPN default cipher to AES-256-GCM
2021-06-08 00:24:46 +00:00
Quentin McGaw (desktop)
1774e2ad88
Maintenance: update list of linters
2021-06-07 23:31:52 +00:00
Quentin McGaw (desktop)
a402d9135e
Fix: remote line for custom OpenVPN config
2021-06-07 19:46:21 +00:00
Quentin McGaw (desktop)
3d2c56d9ee
Fix: custom cipher for custom files on Openvpn 2.5
2021-06-07 19:45:19 +00:00
Quentin McGaw (desktop)
f9308e6fed
Remove dependency on github.com/kyokomi/emoji
2021-06-06 15:38:49 +00:00
Quentin McGaw (desktop)
6710468020
Maintenance: upgrade Go dependencies
...
- Upgrade fatih/color to v1.12.0
- Upgrade qdm12/dns to v1.8.0
- Upgrade qdm12/golibs
- Upgrade qdm12/updated
2021-06-03 21:31:50 +00:00
Quentin McGaw (desktop)
ad1981fff6
Maintenance: update PureVPN server information
2021-06-02 14:32:15 +00:00
Quentin McGaw (desktop)
01f9e71912
Fix: none encryption preset for PIA
...
- Set cipher and auth to `none`
- Add `ncp-disable` OpenVPN option in every case
2021-06-01 13:52:57 +00:00
Quentin McGaw (desktop)
d41b75ee35
Documentation: add discussion link for help issues
2021-06-01 13:44:04 +00:00
Quentin McGaw (desktop)
b829490aac
Feature: OPENVPN_VERSION which can be 2.4 or 2.5
2021-05-31 18:54:36 +00:00
Quentin McGaw (desktop)
7002bf8e34
Maintenance: improve printVersion function
...
- Print program versions in order given
- Exit program on any error as each program is required
2021-05-31 18:47:38 +00:00
Quentin McGaw (desktop)
625ea493fb
Maintenance: remove unused openvpn files
2021-05-31 17:55:56 +00:00
Quentin McGaw (desktop)
79b3b2823b
Hotfix: remote line for Hidemyass and ivpn
2021-05-31 02:37:20 +00:00
Quentin McGaw (desktop)
9be912e9fd
HotFix: IVPN add TCP and UDP fields
2021-05-31 00:41:44 +00:00
Quentin McGaw (desktop)
3c3cd431cd
Feature: Support none encryption preset for PIA
2021-05-31 00:32:39 +00:00
Quentin McGaw (desktop)
8b8bab5c58
Feature: IVPN support
2021-05-31 00:11:16 +00:00
Quentin McGaw (desktop)
835fa6c41f
Fix: HideMyAss Openvpn remote line
2021-05-30 21:25:55 +00:00
Quentin McGaw (desktop)
8a6cf221a9
Fix: HideMyAss hostnames choices
2021-05-30 20:27:57 +00:00
Quentin McGaw (desktop)
876563c492
Maintenance: improve error wrapping
2021-05-30 16:14:08 +00:00
Quentin McGaw (desktop)
be22c8547f
Maintenance: use io instead of ioutil if possible
2021-05-30 03:13:19 +00:00
Quentin McGaw (desktop)
82d98c4859
Maintenance: add more linters to .golangci.yml
2021-05-30 03:09:22 +00:00
Quentin McGaw (desktop)
f1b5341f33
Maintenance: listen on all IP interfaces
2021-05-30 02:58:10 +00:00
Quentin McGaw (desktop)
b3829493ea
Maintenance: upgrade ss-server to v0.2.0
2021-05-28 16:26:26 +00:00
Quentin McGaw (desktop)
7db1253967
Maintenance: upgrade golangci-lint to 1.40.1
2021-05-28 16:24:06 +00:00
Quentin McGaw (desktop)
449db40d5f
Feature: make Shadowsocks password compulsory
2021-05-28 16:23:44 +00:00
Quentin McGaw
d5d0311bc6
Documentation: issue template warnings
2021-05-25 20:11:23 +00:00
Quentin McGaw
0c4f01a892
Feature: Protonvpn filter servers with FREE_ONLY
2021-05-23 21:51:12 +00:00
Quentin McGaw
bc7246f882
Maintenance: update ProtonVPN server information
2021-05-23 17:40:25 +00:00
Quentin McGaw
da65f3b016
Maintenance: generate Openvpn conf for 2.4 or 2.5
2021-05-23 17:40:14 +00:00
Quentin McGaw
a8c574219d
Fix: log level for TLS error from debug to warn
2021-05-23 16:24:04 +00:00
Quentin McGaw
a3751a77aa
Fix: log custom port only if set (PIA, Windscribe)
2021-05-19 17:53:11 +00:00
Quentin McGaw
4f521e4dcb
Feature: show Alpine version at start
2021-05-19 14:30:43 +00:00
Quentin McGaw
a9589d8d5b
Fix: only use Openvpn fast-io when using UDP
2021-05-18 23:46:20 +00:00
Quentin McGaw
13e75aaf20
Maintenance: upgrade to qdm12/dns v1.7.0
...
- Fix rebinding protection for IPv6 mapped IPv4 networks
- Use netaddr package for DNS blacklisting
2021-05-14 17:54:35 +00:00
Quentin McGaw
0c9bd8aaa0
Maintenance: upgrade golang.org/x/sys
2021-05-14 14:08:55 +00:00
Quentin McGaw
5dba91c9ab
Maintenance: qdm12/dns from v1.4.0 to v1.6.0
2021-05-14 14:07:17 +00:00
Quentin McGaw
7d6763cde7
Maintenance: upgrade golibs (affects logger)
2021-05-14 14:07:16 +00:00
dependabot[bot]
dd1b23773e
Bump actions/checkout from 2 to 2.3.4 ( #453 )
...
Bumps [actions/checkout](https://github.com/actions/checkout ) from 2 to 2.3.4.
- [Release notes](https://github.com/actions/checkout/releases )
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md )
- [Commits](https://github.com/actions/checkout/compare/v2...v2.3.4 )
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-05-12 17:25:07 -04:00
Quentin McGaw
33253c0cfc
Fix: PIA port forwarding nil url map
2021-05-12 12:47:34 +00:00
Quentin McGaw
0099c06056
Hotfix: remove unused code
2021-05-12 00:57:00 +00:00
Quentin McGaw
1540660cc3
Change: keep firewall on shutdown to avoid leaks
2021-05-11 22:25:42 +00:00
Quentin McGaw
cff5e693d2
Maintenance: shutdown order
...
- Order of threads to shutdown (control then tickers then health etc.)
- Rely on closing channels instead of waitgroups
- Move exit logs from each package to the shutdown package
2021-05-11 22:24:32 +00:00
Quentin McGaw
5159c1dc83
Maintenance: remove outdated Dockerfile comment
2021-05-11 22:13:16 +00:00
Quentin McGaw
ccc7ad7cbd
Change: do not exit on Openvpn config error
2021-05-11 18:23:19 +00:00
Quentin McGaw
c8a61ca687
Maintenance: use signal.NotifyContext
2021-05-11 18:17:59 +00:00
Quentin McGaw
61e36d6aff
Maintenance: error wrapping of alpine package
2021-05-11 17:52:29 +00:00
Quentin McGaw
e8c8742bae
Maintenance: split each provider in a package
...
- Fix VyprVPN port
- Fix missing Auth overrides
2021-05-11 17:10:51 +00:00
Quentin McGaw
1cb93d76ed
Feature: only teardown routing if changes occurred
2021-05-10 22:16:26 +00:00
Quentin McGaw
dadc939aab
Feature: NET_ADMIN tip on routing permission error
2021-05-10 21:31:08 +00:00
Quentin McGaw
c59ea781e3
Maintenance: Protocol selection as boolean in code
2021-05-10 18:18:12 +00:00
Quentin McGaw
810ff62c26
Maintenance: improve error codes in IP routing
2021-05-10 17:33:31 +00:00
Quentin McGaw
5a0418bba6
Feature: re-fetch PIA API to obtain more servers
2021-05-10 16:17:44 +00:00
Quentin McGaw
baf506ae27
Feature: multiple IP addresses per PIA server
2021-05-10 15:44:46 +00:00
Quentin McGaw
52ff03ae41
Feature: 3 IP addresses per Windscribe server
2021-05-10 14:34:42 +00:00
Quentin McGaw
2d95edf8ab
Feature: Filter VyprVPN servers by hostname, and:
...
- Extract if server supports TCP and UDP (never TCP now)
- Filter servers by protocol (unused for now)
2021-05-10 02:12:13 +00:00
Quentin McGaw
95b0fb81d6
Feature: Multiple IPs for each Torguard server
...
- Fallback on IP from configuration file if DNS resolution fails
- Download both TCP and UDP zip files to detect support for each
- Filter servers by supported network protocol
-
2021-05-10 01:48:52 +00:00
Quentin McGaw
eff65dce00
Feature: filter Surfshark servers by hostname
2021-05-10 01:24:46 +00:00
Quentin McGaw
6c1c069261
Feature: filter by hostname for PureVPN servers
...
- Record support for TCP and UDP for each hostname
- Fix: each hostname supports only TCP or UDP, not both
- Update PureVPN server information
2021-05-10 00:36:14 +00:00
Quentin McGaw
4fe1e062f2
Feature: filter PIA servers by hostname and name
2021-05-09 16:49:22 +00:00
Quentin McGaw
1fb0840e72
Maintenance: Privado server not found error
2021-05-09 16:32:59 +00:00
Quentin McGaw
689ddf8bf0
Maintenance: fix flakky ip unit test
2021-05-09 03:30:54 +00:00
Quentin McGaw
d243ac49f3
Fix #444 Mullvad servers filtering
2021-05-09 01:56:02 +00:00
Quentin McGaw
de8f018b14
Feature: Snyk code analysis for code and image
2021-05-09 01:11:58 +00:00
Quentin McGaw
8407542600
Feature: filter by country, region and city for Privado
2021-05-09 00:51:34 +00:00
Quentin McGaw
a7a5cca8dd
Maintenance: parallelize IP information fetch
2021-05-08 23:37:32 +00:00
Quentin McGaw
d9a70fd094
Maintenance: improve publicip with Result struct
2021-05-08 23:30:29 +00:00
Quentin McGaw
248cc0d3d3
Feature: filter by name and hostname for NordVPN
2021-05-08 22:51:59 +00:00
Quentin McGaw
2924d711cb
Maintenance: add empty SERVER_NAME in Dockerfile
2021-05-08 19:32:52 +00:00
Quentin McGaw
d7db105a2f
Fix: ProtonVPN SERVER_NAME
2021-05-08 19:32:16 +00:00
Quentin McGaw
2ec2f45c82
Feature: filter by hostname for Mullvad servers
2021-05-08 19:17:36 +00:00
Quentin McGaw
a34769ae02
Feature: filter by hostname for Cyberghost servers
2021-05-08 19:05:11 +00:00
Quentin McGaw
c0e4d805b1
Maintenance: storage package logTimeDiff function
2021-05-08 02:51:39 +00:00
Quentin McGaw
6770336274
Maintenance: add missing server merging logic
2021-05-08 01:15:49 +00:00
Quentin McGaw
8d431dbb34
Feature update all server information
2021-05-08 01:03:09 +00:00
Quentin McGaw
e8e7b83297
Maintenance: refactor servers updater code
...
- Require at least 80% of number of servers now to pass
- Each provider is in its own package with a common structure
- Unzip package with unzipper interface
- Openvpn package with extraction and download functions
2021-05-08 00:59:42 +00:00
Quentin McGaw
442340dcf2
Feature: create /gluetun if it does not exist
2021-05-06 21:10:28 +00:00
Quentin McGaw
91b037a335
Feature: update hardcoded servers for DNS resolution based VPN providers
2021-05-06 18:51:31 +00:00
Quentin McGaw
d5ef3de64c
Feature: more robust updater DNS resolution
...
- Parallel resolver to resolve multiple hosts
- Repeat resolver to repeat resolution for a single host
- Additional parameters for fault toleration
- Do not update servers if e.g. > 10% DNS resolutions failed
- resolver package in updater package
2021-05-06 18:48:14 +00:00
Quentin McGaw
167a0b0b29
Restart unhealthy ( #417 ) ( #441 )
2021-05-04 15:36:12 -04:00
Quentin McGaw
954e3c70b2
Feature: Protonvpn support ( #437 clone on #434 )
2021-04-25 15:44:45 -04:00
Quentin McGaw
b02a80abbd
Feature: update PIA server information
2021-04-24 13:54:13 +00:00
Quentin McGaw
04313d3c3b
Maintenance: devcontainer changes
...
- Bind mount for root only
- Support for Windows Hyperv bind mounts
- Run go mod tidy after go mod download
- Use :z flag for possibly shared bind mounts
- Bind mount zsh_history
- Bind mount docker config directory
2021-04-24 13:53:48 +00:00
Quentin McGaw
fb8279f8f0
Fix: remove pull-filter ignore ping-restart
2021-04-19 19:51:00 +00:00
Quentin McGaw
e0e56595c6
Fix: only run ip6tables if it is supported by the Kernel ( #431 )
...
- Fix #430
2021-04-19 14:35:29 -04:00
Quentin McGaw
44d8cf9d4e
Replace Surfshark default cipher with aes 256 gcm
2021-04-19 18:00:58 +00:00
Quentin McGaw
282c1e53ec
Clear firewall rules on shutdown, fix #276
2021-04-19 14:27:38 +00:00
Quentin McGaw
7ba98af1cc
Feature/Bugfix: IPv6 blocking ( #428 )
...
- Feature/Bugfix: Block all IPv6 traffic with `ip6tables` by default
- Feature: Adapt existing firewall code to handle IPv4 and IPv6, depending on user inputs and environment
- Maintenance: improve error wrapping in the firewall package
2021-04-19 09:24:46 -04:00
Quentin McGaw
d3df5aaa52
Upgrade system and package versions
...
- Alpine from 3.12 to 3.13 and:
- Openvpn from 2.4.10 to 2.5.1
- Unbound from 1.10.1 to 1.13.0
- Iptables from 1.8.4 to 1.8.6
2021-04-19 00:31:46 +00:00
Quentin McGaw
1c83dcab5e
Maintenance: upgrade golangci-lint to 1.39.0
2021-04-19 00:20:43 +00:00
Quentin McGaw
6208081788
Fix: PIA port forwarding ( #427 )
...
- Update PIA token URL
- Change base64 decoding to standard decoding
- Add unit tests
- Remove environment variable `GODEBUG=x509ignoreCN=0`
- Fixes #423
- Fixes #292
- Closes #264
- Closes #293
2021-04-17 16:21:17 -04:00
Quentin McGaw
3795e92a82
Hotfix: lint error in Surfshark constants
2021-04-16 22:37:51 +00:00
Quentin McGaw
0636123e7a
Feature: add more Surfshark servers
...
- Add servers missing from surfshark zip file
- Fixes #424 and re-add multihop servers
- Fix logic to try resolving old vpn servers for Surfshark
2021-04-16 22:31:09 +00:00
Michael Robbins
69f9461bcd
Fix: restricting route listing to IPv4 only ( #419 )
2021-04-11 08:50:59 -04:00
Quentin McGaw
d1558a3472
Fix lint error from PR merge
2021-04-09 17:44:22 +00:00
Michael Robbins
8230596f98
Feature: uplift the 'localSubnet' concept to cover all local ethernet interfaces ( #413 )
2021-04-09 13:08:20 -04:00
Quentin McGaw
cc4117e054
Change PIA settings, refers to #265
2021-04-01 18:53:21 +00:00
Quentin McGaw
a0ddbc037f
Update new provider issue template
2021-04-01 18:29:55 +00:00
Quentin McGaw
de82d4e616
Fix: use udp by default for custom openvpn config
2021-03-15 02:13:10 +00:00
Quentin McGaw
fa220f9e93
Feature: custom Openvpn configuration file, fixes #223 ( #402 )
2021-03-13 08:51:05 -05:00
Quentin McGaw
aca112fa42
CI: Build for all architectures in branches
2021-03-09 00:16:24 +00:00
Quentin McGaw
9f4077d35d
Feature: FastestVPN support ( #383 )
2021-03-05 23:12:19 -05:00
Quentin McGaw
9509b855f1
Feature: PrivateVPN support ( #393 )
2021-03-05 22:58:57 -05:00
Quentin McGaw
be72f4a046
Feature: Hide My Ass VPN provider support ( #401 )
2021-03-05 22:45:54 -05:00
Quentin McGaw
8b36ce198f
Maintenance: 8.8.8.8 as the cli updater DNS
2021-03-05 22:46:21 +00:00
Quentin McGaw
71de05dc68
Maintenance: updater DNS resolution more resilient
2021-03-05 22:46:14 +00:00
Quentin McGaw
83b5a9457a
Maintenance: upgrade golangci-lint to 1.37.0
2021-03-03 01:16:05 +00:00
Quentin McGaw
0b7ada9fd9
Maintenance: use Go 1.16 to build binary
2021-03-03 01:15:14 +00:00
Quentin McGaw
92bcef0b1c
Maintenance: unique choices from hardcoded servers
2021-02-26 13:21:55 +00:00
Quentin McGaw
a10c4056d0
Maintenance: simplify env comments in Dockerfile
2021-02-26 13:02:43 +00:00
Quentin McGaw
1fd3ee7149
Maintenance: sort alphabetically providers in code
2021-02-26 12:58:58 +00:00
dependabot[bot]
e3a157bfe1
Maintenance: bump golang/mock from 1.4.4 to 1.5.0 ( #394 )
2021-02-26 07:39:29 -05:00
Quentin McGaw
b446aa6590
Maintenance: use native HTTP client for updater
2021-02-26 00:42:55 +00:00
Quentin McGaw
c54ee71e1d
Maintenance: new logging, shorter with less deps
2021-02-25 23:51:29 +00:00
Quentin McGaw
1748a2ae12
Fix: HTTP proxy password and log settings reading
2021-02-26 03:32:26 +00:00
Quentin McGaw
eff46aa97a
Fix firewall settings parsing, fixes #392
2021-02-21 02:39:34 +00:00
Quentin McGaw
9fb186af75
Documentation: update issue templates
2021-02-20 22:29:33 +00:00
Quentin McGaw
f1b1001863
Torguard support ( #387 )
...
See discussion on #374
2021-02-17 20:36:30 -05:00
Quentin McGaw
c5af536299
Maintenance: deduplicate PIA servers by protocols
2021-02-16 13:06:58 +00:00
Quentin McGaw
b9b2f691a5
Fix: pia updater for TCP, fixes #388
2021-02-16 13:06:51 +00:00
fgeertsema
bdc8817672
Fix: HTTP proxy: return the response of a redirect, do not follow ( #384 )
...
Authored-by: Fernand Geertsema <fernand@web-iq.eu >
2021-02-15 08:40:51 -05:00
Quentin McGaw
a55acb2816
CI: Alpine s390x build removed (periodic crashes)
2021-02-14 18:59:27 +00:00
Quentin McGaw
d686c76db3
Fix: Privado SERVER_HOSTNAME selection
2021-02-14 16:40:48 +00:00
Quentin McGaw
30c1ae651e
Documentation: new provider issue template
2021-02-14 16:31:31 +00:00
Quentin McGaw
adaad62fbd
Feature: updater: no sleep for last DNS resolution
2021-02-12 21:27:26 +00:00
Quentin McGaw
fe5ec205fc
Fix: updater uses plaintext DNS to avoid getting blocked by Unbound ( #380 )
2021-02-12 14:20:07 -05:00
Quentin McGaw
576400e0d9
Fix: Windscribe SERVER_HOSTNAME, fixes #379
2021-02-12 15:05:35 +00:00
Quentin McGaw
f08a03106f
Feature: updater changes to have more VPN IP addresses ( #364 )
2021-02-11 08:40:25 -05:00
Quentin McGaw
f852b7789e
Fix: surfshark: restore ping settings
2021-02-09 03:03:08 +00:00
Quentin McGaw
b0bd06bdc5
Feature: only log health when health state changes
2021-02-09 02:45:50 +00:00
Quentin McGaw
84787f0ea2
Fix: restore nordvpn ping settings, refers to #368
2021-02-09 02:30:39 +00:00
Quentin McGaw
f69b3dbbe6
Fix: Windscribe: TLS keys out of sync ( #347 )
...
* Add reneg-sec 0
* Add ncp-disable
2021-02-08 20:49:54 -05:00
Quentin McGaw
ec5ec6f02c
Fix: defaults to run openvpn as root
2021-02-08 00:05:54 +00:00
Quentin McGaw
5d681e635b
Fix: restore surfshark ping to 15s
2021-02-08 00:05:22 +00:00
Quentin McGaw
3deb65b529
Feature: log out country, region and city of IP
2021-02-08 00:01:14 +00:00
Quentin McGaw
3e527fee8b
Fixes #370 (bug introduced)
2021-02-07 18:15:31 +00:00
Quentin McGaw
b1f1f94a76
Maintenance: remove some type aliases
2021-02-06 18:31:14 +00:00
Quentin McGaw
43e140e6cc
Fix linting errors
2021-02-06 17:16:58 +00:00
Quentin McGaw
7ca9d445f1
Maintenance: package comments
2021-02-06 16:26:23 +00:00
Quentin McGaw
90aaf71270
Configuration package ( #369 )
2021-02-06 11:05:50 -05:00
Quentin McGaw
4f2570865c
Add pull filter ignore ping restart
...
- Refers to OpenVPN reports error #368
2021-02-05 03:16:19 +00:00
Quentin McGaw
81556ec2e1
Maintenance: improve DNS settings log
2021-02-01 01:22:46 +00:00
Quentin McGaw
dd5a9c6067
Fix: empty connection for NordVPN and Windscribe
2021-01-31 18:45:58 +00:00
Quentin McGaw
982c50c756
Improve panic message for empty connection
2021-01-31 18:42:58 +00:00
Quentin McGaw
3c7dc9b9ad
Feature: Private Internet Access custom port
2021-01-31 01:27:13 +00:00
Quentin McGaw
8f4354936c
Fix: remove PureVPN route option ( #339 )
2021-01-30 19:54:40 -05:00
Quentin McGaw
e50941277f
Fix: Alpine to 3.12 for 32 bit compatibility
2021-01-31 00:46:53 +00:00
Quentin McGaw
a72647b925
Feature: update servers information with more IP addresses ( #365 )
2021-01-30 14:08:14 -05:00
Quentin McGaw
e254849009
Fix: update mechanism for PIA and update servers
...
- Separate TCP and UDP servers as they have different CNs
- Update server hardcoded information constants
2021-01-30 18:22:15 +00:00
Quentin McGaw
5757f0e201
Fix: Only log subproc error when it's not nil
2021-01-30 18:07:12 +00:00
Quentin McGaw
75fdf7adab
Fix: Pass down context to CLI commands
2021-01-30 17:29:27 +00:00
Quentin McGaw
702eafae4c
Feature: update Surfshark servers information
2021-01-29 18:53:16 +00:00
Quentin McGaw
4abb8cd87f
Add panic checks
2021-01-29 00:32:43 +00:00
Quentin McGaw
5194361f3b
Fix public IP on restarts, refers to 359
2021-01-29 00:06:55 +00:00
Quentin McGaw
bc83b75634
(Fix) Lint errors
2021-01-26 01:09:09 +00:00
Quentin McGaw
b1ff95affa
Maintenance: Fix exit race condition
2021-01-26 01:04:15 +00:00
Quentin McGaw
a243d48fb1
Maintenance: improve stream merging
2021-01-26 04:17:22 +00:00
Quentin McGaw
937d09f1c3
CI: Fix publish job CI
2021-01-23 16:58:46 +00:00
dependabot[bot]
3769092888
Bump github.com/stretchr/testify from 1.6.1 to 1.7.0 ( #344 )
2021-01-23 11:25:08 -05:00
Quentin McGaw
75281dee07
CI: remove risv64 as Alpine does not support it
2021-01-23 16:22:28 +00:00
Quentin McGaw
26a7c5eaef
Feature: openvpn exits on TLS error
2021-01-22 13:36:56 +00:00
Quentin McGaw
1e8254fabf
CI: Update golangci-lint to v1.35.2
2021-01-22 13:32:47 +00:00
Quentin McGaw
43b6509b43
Feature: upgrade to Alpine 3.13
2021-01-22 13:32:05 +00:00
Quentin McGaw
204c5b2446
Feature: add 10s ping with 60s exit ping for all
2021-01-22 13:30:06 +00:00
Quentin McGaw
7ab3347604
CI: Remove duplicate COPY in Dockerfile
2021-01-22 13:21:42 +00:00
Quentin McGaw
2f24a79d4d
CI: Go mod tidy check
2021-01-22 13:20:54 +00:00
Quentin McGaw
819b1fe0f6
CI: Merge workflows in build.yml
2021-01-22 13:19:45 +00:00
Quentin McGaw
9f04b2d56c
(fix) Update Nordvpn servers timestamp
2021-01-20 03:50:38 +00:00
Quentin McGaw
5eff5fac67
Update Nordvpn servers list
2021-01-20 03:44:55 +00:00
Quentin McGaw
d033d08c4d
Maintenance: unit tests utils in provider package
2021-01-20 03:36:36 +00:00
Quentin McGaw
25644d061e
Fix build (lint error)
2021-01-19 14:20:57 +00:00
Quentin McGaw
e7372f22cb
Feature: OPENVPN_MSSFIX variable
2021-01-19 02:55:38 +00:00
Quentin McGaw
4530dd4fea
Maintenance: OpenVPN BuildConf arity reduced
2021-01-19 02:42:16 +00:00
Quentin McGaw
072528af83
CI: Dockerfile fixes
...
- Pin xcputranslate version
- Update xcputranslate usage
- Set default BUILDPLATFORM to linux/amd64
2021-01-18 00:58:47 +00:00
Quentin McGaw
2c4d577f23
Maintenance: Update golibs and update params
2021-01-10 23:06:09 +00:00
Quentin McGaw
edd67e3473
Remove pull_request_target based workflow
2021-01-08 03:13:40 +00:00
Quentin McGaw
f389642dba
Maintenance: Improve Go devcontainer settings
2021-01-08 02:27:48 +00:00
Quentin McGaw
b8690c7f83
CI: Change microbadger hook to gluetun
2021-01-08 02:25:41 +00:00
Quentin McGaw
06b809a492
Maintenance: Improve .dockerignore
2021-01-08 02:24:31 +00:00
Quentin McGaw
2ceda2faaa
Documentation: Move sections to Wiki
2021-01-08 02:24:15 +00:00
Quentin McGaw
c7fc3afc21
Fix: DNS_KEEP_NAMESERVER behavior
2021-01-06 21:52:55 +00:00
Quentin McGaw
af57043afd
Add docker and gomod to dependabot config
2021-01-06 04:23:09 +00:00
Quentin McGaw
4a85f3660c
CI: Further reworking of workflows
2021-01-06 04:22:56 +00:00
dependabot[bot]
69713f34b2
CI: Bump crazy-max/ghaction-github-labeler from v1 to v3.1.1 ( #335 )
2021-01-05 22:41:01 -05:00
Quentin McGaw
55801597c6
Feature: Supports s390x and ppc64le
2021-01-06 01:31:04 +00:00
Quentin McGaw
ff3cc98d46
Maintenance: dependabot monitoring of Actions
2021-01-06 01:28:52 +00:00
Quentin McGaw
79489796ae
CI: Add QEMU setup before buildx
2021-01-06 06:23:03 +00:00
Quentin McGaw
8e495494fd
CI: Faster builds with buildx and xcputranslate
2021-01-06 06:10:42 +00:00
Quentin McGaw
1abb716bb6
Maintenance: Fix test data race
2021-01-06 06:09:19 +00:00
Quentin McGaw
3f012dd7a3
CI: rework Github build workflows and Dockerfile
2021-01-06 06:02:31 +00:00
Quentin McGaw
bf6bab7963
(Fix): Exit code 0 when expected (healthcheck fix)
2021-01-04 13:41:56 +00:00
Quentin McGaw
9db10f56ef
Maintenance: remove vscode workspace directory
2021-01-04 03:50:31 +00:00
Quentin McGaw
3b91e351b7
Maintenance: using channels instead of wrap functions
2021-01-04 01:49:05 +00:00
Quentin McGaw
657937d272
Maintenance: Add waitgroup to collectStreamLines
2021-01-04 01:46:50 +00:00
Quentin McGaw
d294fbab15
Bug fix: Unbound log line processing, fix #333
2021-01-04 01:44:24 +00:00
Quentin McGaw
cfbf5624e1
Maintenance: rework main function
2021-01-04 01:40:07 +00:00
Quentin McGaw
c833e9a1a8
CI: Remove microbadger web hook for buildx branch and release
2021-01-03 04:03:13 +00:00
Quentin McGaw
f1b261163b
Fix DNS_KEEP_NAMESERVER behavior
2021-01-03 03:52:07 +00:00
Quentin McGaw
4553240601
Feature: Improve DNS settings start log
2021-01-03 00:51:47 +00:00
Quentin McGaw
007a4536c7
Code: Access control subnets settings for Unbound
2021-01-03 00:36:03 +00:00
Quentin McGaw
31cf5d4a5a
Fix #331 (DNS ready signaling fixed)
2021-01-02 23:51:05 +00:00
Quentin McGaw
3e3bd05c79
CI: Only test and lint on amd64 builds
2021-01-02 23:46:30 +00:00
Quentin McGaw
20deaf2950
Bug fix: DNS setup failure loop behavior
2021-01-02 20:39:43 +00:00
Quentin McGaw
680aef62ee
(Bug fix): Fix Unbound
...
- Set binary filepath
- Set ca certs filepath
2021-01-02 20:39:24 +00:00
Quentin McGaw
f5eb4887a7
(Bug fix): DOT provider check
2021-01-02 19:24:01 +00:00
Quentin McGaw
dc3452c5b7
Feature: Log passed after healthcheck succeeds after a failure
2021-01-02 18:36:15 +00:00
Quentin McGaw
a67efd1ad1
Code maintenance: Using qdm/dns and qdm12/updated
2021-01-02 18:31:39 +00:00
Quentin McGaw
5dcbe79fa8
Move OS package to golibs
2021-01-02 01:57:00 +00:00
Quentin McGaw
574ac9a603
Maintenance: update buildx Github workflow to v3
2021-01-01 20:46:52 +00:00
Quentin McGaw
6871444728
Change: remove decomissioned SecureDNS option
2021-01-01 20:45:11 +00:00
Quentin McGaw
f4db7e3e53
Change: remove LibreDNS, it does'nt support DNSSEC
2021-01-01 20:44:01 +00:00
Quentin McGaw
da92b6bfb9
Bug fix: Privado server selection
2020-12-31 21:57:26 +00:00
Quentin McGaw
d713782fe1
Change: Use SERVER_HOSTNAME instead of HOSTNAME
2020-12-31 21:50:28 +00:00
Quentin McGaw
02cde5f50b
Code maintenance: consistent proto type conversion
2020-12-31 21:39:34 +00:00
Quentin McGaw
c5a7a83d3a
Bug fix: do not fail if servers.json is empty
2020-12-31 21:19:29 +00:00
Quentin McGaw
6655a1a5e6
Bug fix: Update hardcoded Purevpn server data
...
- Refers to #320
2020-12-31 21:07:49 +00:00
Quentin McGaw
b8cb181070
Bug fix: PureVPN updater from ZIP files
...
- Fix #317
- Refers to #320
2020-12-31 21:07:30 +00:00
Quentin McGaw
a56471fe73
Code maintenance: rework ovpn host extraction
2020-12-31 20:35:49 +00:00
Quentin McGaw
8c769812ae
Documentation: minor readme improvements
2020-12-31 04:49:18 +00:00
Quentin McGaw
f7a842e4ee
Documentation: readme sections moved to Wiki
2020-12-31 04:40:04 +00:00
Quentin McGaw
23c0334f68
Documentation: Add visitors count to readme
2020-12-31 03:49:01 +00:00
Quentin McGaw
e2ee7a0408
Documentation: minor issue template update
2020-12-31 03:00:15 +00:00
Quentin McGaw
8f862b3df7
Bug fix: Remove trail newline from secrets
...
- Fix #330
2020-12-31 02:03:51 +00:00
Quentin McGaw
ae1f91a997
Documentation: Update Docker image labels
2020-12-30 22:30:59 +00:00
Quentin McGaw
d4fb76770f
Documentation: Moare badges and metadata
2020-12-30 22:29:18 +00:00
Quentin McGaw
ea28c791e6
Code maintenance: http proxy starts from Run func
2020-12-30 22:02:47 +00:00
Quentin McGaw
251555f859
Code maintenance: Shadowsocks loop refactor
2020-12-30 22:01:08 +00:00
Quentin McGaw
fa7bda7ee4
Code maintenance: remove unneeded defaultInterface in Shadowsocks
2020-12-30 21:43:45 +00:00
Quentin McGaw
f385c4203a
Bug fix: truncate /etc/resolv.conf, fixing DNS
...
- Refers to #326
- Refers to #329
2020-12-30 20:48:41 +00:00
Quentin McGaw
1e4243dedb
Bug fix: Stop DOT if disabled by new settings
2020-12-30 20:38:59 +00:00
Quentin McGaw
5f78ee7b79
Bug fix: missing mutex Unlock in DNS set settings
2020-12-30 20:37:14 +00:00
Quentin McGaw
c6eb5c1785
Bug fix: Plaintext DNS fix ( #326 , #329 )
2020-12-30 20:36:19 +00:00
Quentin McGaw
11338b6382
Feature: faster healthcheck, fix #283
2020-12-30 19:34:11 +00:00
Quentin McGaw
6f3a074e00
Code maintenance: HTTP proxy loop reworked
...
- Blocking method calls on loop
- Restart proxy when settings change
- Detect server crash error and restart it
2020-12-30 18:44:46 +00:00
Quentin McGaw
e827079604
Code maintenance: updater loop waitgroup
2020-12-30 18:32:58 +00:00
Quentin McGaw
cf66db8d4b
Bug fix: Stopping updater loop deadlock
2020-12-30 18:29:28 +00:00
Quentin McGaw
25acbf8501
Feature: Increasing backoff time for crashes
...
- Fix #247
2020-12-30 17:22:54 +00:00
Quentin McGaw
e4c7a887d2
Bug fix: healthcheck uses DOT via default resolver
2020-12-30 16:43:08 +00:00
Quentin McGaw
fb8a615660
Feature: Update PIA servers using v5 PIA API
2020-12-30 15:54:13 +00:00
Quentin McGaw
1d9d49f406
Bug fix: Privado settings log
2020-12-30 15:34:07 +00:00
Quentin McGaw
0069b59ffe
Change: remove redundant dns over tls log
2020-12-30 15:29:40 +00:00
Quentin McGaw
d4ba1b1e09
Bug fix: larger timeout for healtcheck
2020-12-30 15:24:46 +00:00
Quentin McGaw
3a20b84f3a
Documentation: readme changes
...
- Remove videos section (outdated)
- Add quick links section for help and support
- Simplify support section
2020-12-29 23:00:55 +00:00
Quentin McGaw
d52fc777ac
Code maintenance: update dockerhub readme workflow
2020-12-29 22:46:44 +00:00
Quentin McGaw
5753a428d8
Documentation: announcement on newer image name
2020-12-29 22:46:18 +00:00
Quentin McGaw
85afef5775
Change: gluetun docker image name
2020-12-29 22:10:44 +00:00
Quentin McGaw
b4fc24995c
Code maintenance: Microbadger hook uses continue-on-error
2020-12-29 21:35:09 +00:00
Quentin McGaw
5917bb10e4
Feature: Docker secrets, refers to #306
2020-12-29 20:47:56 +00:00
Quentin McGaw
258e150ebf
Code maintenance: GetPassword signature changed
2020-12-29 20:06:24 +00:00
Quentin McGaw
96f2b2b617
Change: PASSWORD changed to OPENVPN_PASSWORD
2020-12-29 20:05:17 +00:00
Quentin McGaw
d556db079b
Change: USER changed to OPENVPN_USER
2020-12-29 20:02:58 +00:00
Quentin McGaw
a811a82329
Change: Remove CLIENT_KEY variable
2020-12-29 19:54:58 +00:00
Quentin McGaw
d17a0dae1f
Documentation: Missing PUID and PGID update
2020-12-29 19:46:41 +00:00
Quentin McGaw
ef40f2f91b
Code maintenance: Use Unset() option for params
2020-12-29 18:29:21 +00:00
Quentin McGaw
a921f9848c
Code maintenance: CLI interface abstraction
2020-12-29 18:24:03 +00:00
Quentin McGaw
95ba3261fd
Code maintenance: lint bug fix for armv7
2020-12-29 18:16:29 +00:00
Quentin McGaw
fe81eb65c2
Bug fix: Program exit on Openvpn fatal error
2020-12-29 17:50:36 +00:00
Quentin McGaw
8428714cf5
Code maintenance: upgrade golangci-lint to 1.34.1
2020-12-29 17:50:12 +00:00
Quentin McGaw
bedf613cff
Code maintenance: storage merging reworked
2020-12-29 17:49:38 +00:00
Quentin McGaw
e643ce5b99
Fix publicip and updater loops exit bugs
2020-12-29 16:44:55 +00:00
Quentin McGaw
cb64302294
Rename UID and GID to PUID and PGID
2020-12-29 16:44:35 +00:00
Quentin McGaw
8d5f2fec09
Code maintenance: use native Go HTTP client
2020-12-29 02:55:34 +00:00
Quentin McGaw
60e98235ca
Code maintenance: Better deps injection in main.go
2020-12-29 01:21:54 +00:00
Quentin McGaw
f55fb4055f
Code maintenance: OS user abstraction interface
2020-12-29 01:16:53 +00:00
Quentin McGaw
da4e410bb7
Upgrade direct dependencies
2020-12-29 01:06:08 +00:00
Quentin McGaw
cdd1f87437
Code maintenance: Remove unneeded ctrl.Finish()
2020-12-29 01:04:07 +00:00
Quentin McGaw
7058373916
Code maintenance: Unix abstraction interface
...
- Used for creating the tun device if it does not exist
- Mocks generated for testing
2020-12-29 01:02:47 +00:00
Quentin McGaw
8dd38fd182
Code maintenance: better JSON decoding for HTTP
2020-12-29 00:56:51 +00:00
Quentin McGaw
73479bab26
Code maintenance: OS package for file system
...
- OS custom internal package for file system interaction
- Remove fileManager external dependency
- Closer API to Go's native API on the OS
- Create directories at startup
- Better testability
- Move Unsetenv to os interface
2020-12-29 00:55:31 +00:00
Quentin McGaw
f5366c33bc
Remove unneeded .Times(1) for unit tests mocks
2020-12-28 01:52:30 +00:00
Quentin McGaw
db886163c2
Public IP getter loop refactored
2020-12-28 01:51:55 +00:00
Quentin McGaw
91f5338db0
Fix updater loop bug
2020-12-28 01:50:13 +00:00
Quentin McGaw
82a02287ac
Public IP endpoint with GET /ip fixing #319
2020-12-27 21:06:00 +00:00
Quentin McGaw
2dc674559e
Re-use username for UID if it exists
2020-12-27 00:36:39 +00:00
Quentin McGaw
38e713fea2
Fix Block-outside-dns #316
2020-12-23 06:46:54 +00:00
Quentin McGaw
2cbb14c36c
Fix Purevpn settings display, refers to #317
2020-12-22 14:08:12 +00:00
Quentin McGaw
610e88958e
Upgrade golangci-lint to v1.33.0
2020-12-22 13:52:37 +00:00
Quentin McGaw
bb76477467
Fix #316
2020-12-22 13:49:49 +00:00
Quentin McGaw
433a799759
Fix environment variables table for Purevpn
2020-12-22 13:46:52 +00:00
Quentin McGaw
22965ccce3
Fix #315
2020-12-22 06:21:25 +00:00
Quentin McGaw
4257581f55
Loops and HTTP control server rework ( #308 )
...
- CRUD REST HTTP server
- `/v1` HTTP server prefix
- Retrocompatible with older routes (redirects to v1 or handles the requests directly)
- DNS, Updater and Openvpn refactored to have a REST-like state with new methods to change their states synchronously
- Openvpn, Unbound and Updater status, see #287
2020-12-19 20:10:34 -05:00
Quentin McGaw
d60d629105
Dev container documentation and cleanup
2020-12-08 06:24:46 +00:00
Quentin McGaw
3f721b1717
Simplify Github workflows triggers
2020-12-07 02:15:50 +00:00
Quentin McGaw
97049bfab4
Add 256x256 png logo for Unraid
2020-12-07 02:11:23 +00:00
Quentin McGaw
84944a87d3
HTTP proxy authentication fixes ( #300 )
...
- Only accepts HTTP 1.x protocols
- Only checks the credentials when the method is `CONNECT` or the request URL is absolute
- More logging on authorization failures
- Removes the authorization headers before forwarding the HTTP(s) requests
- Refers to #298
2020-12-01 22:29:31 -05:00
Quentin McGaw
fb62910b17
HTTP proxy 24 hours timeout, fix #303
2020-11-21 01:26:02 +00:00
Quentin McGaw
1cc0f5fee9
Fix #296 (Cyberghost implementation) ( #297 )
...
* Reads the client key from /gluetun/client.key
* Read the client certificate from /gluetun/client.crt
* Additional checks for client key and client certificate validity
* Fix client key file parsing if environment variable isn't present
2020-11-19 08:50:55 -05:00
Quentin McGaw
6896cf4258
Update PIA hardcoded servers information
2020-11-14 22:21:08 +00:00
Quentin McGaw
188d63c6b8
Fix #298
2020-11-13 01:14:05 +00:00
Quentin McGaw
cbc5d466f6
Fix Shadowsocks UDP logs
2020-11-13 00:42:14 +00:00
Quentin McGaw
aef14a9f6d
Assimilate PIA v4 as PIA in code
2020-11-10 13:35:49 +00:00
Quentin McGaw
f48392064e
Update issue templates
2020-11-10 01:29:47 +00:00
Quentin McGaw
994bdd0ca7
Update Gituhb labels
2020-11-10 01:16:12 +00:00
Quentin McGaw
40ed070f21
Filter Privado servers by hostnames only
2020-11-09 23:17:22 +00:00
Quentin McGaw
f1e4b9937b
Privado support, fix #285 ( #288 )
2020-11-08 20:56:49 -05:00
Quentin McGaw
0423388b52
Fix build information setting at build time
2020-11-07 22:31:20 +00:00
Quentin McGaw
096a9c5fc0
Fix #289
2020-11-06 02:54:27 +00:00
Quentin McGaw
7518f74729
Refactor HTTP control server code
2020-11-05 22:26:53 +00:00
Quentin McGaw
854401a150
PureVPN servers json tag fix
2020-11-05 02:22:33 +00:00
Quentin McGaw
a7a7efe9c3
Remove PIA v3 servers support
2020-11-05 02:10:34 +00:00
Quentin McGaw
31883f9adb
Windscribe API and more servers filter options, fixes #197 ( #282 )
...
- Use Windscribe API to fetch servers information
- More data on servers about region, city and hostname
- Add optional server filters with `REGION`, `CITY` and `HOSTNAME` csv environment variables
2020-11-04 20:38:35 -05:00
Quentin McGaw
3b04677f8f
HTTP control server /version endpoint
2020-11-04 14:07:04 +00:00
Quentin McGaw
b5fb2b849a
DOT listens on all interfaces, refers to #281
2020-11-04 03:14:27 +00:00
Quentin McGaw
0c9f74ffa4
HTTP proxy written in Go to replace Tinyproxy ( #269 )
2020-10-31 21:50:31 -04:00
Quentin McGaw
58da55da1e
Retrocompatiblity with EXTRA_SUBNETS key
2020-10-29 23:32:15 +00:00
Quentin McGaw
db64dea664
Fix #273 ( #277 ), adding FIREWALL_OUTBOUND_SUBNETS
2020-10-29 19:23:44 -04:00
Quentin McGaw
f7bff247aa
Fix #275
2020-10-28 22:09:58 +00: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
78d83145ba
Increase http timeout to 30s for piav4
...
- Refers to #271
2020-10-26 21:53:18 +00:00
Quentin McGaw
0c81154f36
No firewall setup needed for Shadowsocks
2020-10-26 02:52:10 +00:00
Quentin McGaw
53fe08ea26
Fix Mullvad CSV city bug
2020-10-25 21:13:26 +00:00
Quentin McGaw
a6cb1a7052
Remove x/net Go dependency
2020-10-25 20:45:14 +00:00
Quentin McGaw
c64fe7e45d
Routing: use 0.0.0.0/0 instead of nil
2020-10-25 20:41:09 +00:00
Quentin McGaw
a062135148
Add routing verbose option in code
2020-10-25 20:40:17 +00:00
Quentin McGaw
5ae7c15211
Unused shadowsocks code cleanup
2020-10-25 20:38:16 +00:00
Quentin McGaw
f29707fa9f
Remove unneeded openvpn remote-random
2020-10-24 22:26:15 +00:00
Quentin McGaw
e97d1e4a9a
Set default for DOT_CACHING in code
2020-10-24 22:24:20 +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
716eb14da1
Allow empty string for CSV variables with golibs
2020-10-24 19:09:54 +00:00
Quentin McGaw
f92489f99b
Fix Nordvpn number empty string allowance
2020-10-24 18:45:44 +00:00
Quentin McGaw
ea3b3bc8a3
Netlink Go library to interact with IP routes ( #267 )
2020-10-22 18:55:28 -04:00
Quentin McGaw
a80cb8f9ba
VSCode development container changes
...
- SSH directory bind mounted as read write
- Remove linters list from devcontainer, use workspace ones instead
2020-10-22 03:54:18 +00:00
Quentin McGaw
d4813ba21c
Fix #265 and refers to #256
...
- Logs a message about auth failure for PIA v4 servers
2020-10-22 00:36:12 +00:00
Quentin McGaw
bf92008e45
Fix #263
2020-10-20 18:13:59 +00:00
Quentin McGaw
9c73faaaeb
Add linters and fix lint issues
2020-10-20 02:45:28 +00:00
Quentin McGaw
f9bef8ecda
Fix #102
2020-10-19 00:28:07 +00:00
Quentin McGaw
302adb26d7
Fix servers filtering for PIA
2020-10-18 23:44:16 +00:00
Quentin McGaw
af606463ea
Multi options filters, fixes #231 ( #262 )
...
* OWNED environment variable for Mullvad
* CSV are now accepted for all servers filtering environment variables
2020-10-18 17:15:42 -04: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
4da9607b4d
Do not log healthcheck HTTP requests
2020-10-17 22:17:08 +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
0d2ca377df
PIA port forwarding final fixes ( #259 )
...
- Returns an error if the server does not support port forwarding
- TLS verification using the server common name obtained through the API
- Updated readme
- Fixes #236
2020-10-15 22:53:13 -04:00
Quentin McGaw
98f778c3bb
Improve timing behavior of ticking in loops
2020-10-15 23:20:36 +00:00
Quentin McGaw
9b9ae69404
Repurpose OPENVPN_TARGET_IP for #229
2020-10-12 20:21:26 +00:00
Quentin McGaw
1c747a10c8
Fix CN data for PIA v4 servers
2020-10-12 19:34:36 +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
9f6450502c
Obtain PIA v4 server information from API ( #257 )
...
- Obtain CN for port forwarding https verification
- Obtain for each server if they support port forwarding
- Obtain for each server their IP address for openvpn UDP and openvpn TCP (one for each)
- Updater program updated to use API
- Hardcoded values updated for PIA v3 and v4 servers
- Clearer separation between pia v3 and v4
- Fixes #250
2020-10-12 13:57:45 -04:00
Quentin McGaw
ae7fc5fe96
Fix guard pattern for max parallel DNS requests
2020-10-12 17:35:46 +00: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
fbecbc1c82
Fix updater guard pattern ( #255 )
2020-10-01 17:56:14 -04:00
Quentin McGaw
ecf76896a2
Mullvad: configurable ipv6 tunneling ( #253 )
...
- Disabled by default
- Wiki pages updated
- Readme updated
2020-09-26 09:33:24 -04:00
Quentin McGaw
ae876b93d7
Update readme Wiki links
2020-09-25 23:12:34 +00:00
Quentin McGaw
606f2cffce
Fix Shadowsocks documentation, fixing #245
2020-09-18 19:56:53 +00:00
Quentin McGaw
564d9cbf90
Faster servers information updater ( #248 )
...
* Asynchronous repeatResolve
* Parallel cyberghost and PIA (v3) processing, with a 10 goroutines limit
* Add missing vyprvpn cli flag to updater
* Increase DNS repetitions to 5 in order to obtain more IP addresses
* Update old PIA IP addresses
* Add Surfshark servers by API (unused for now)
2020-09-18 15:52:28 -04:00
Quentin McGaw
c5b5ae9ca7
Add warning logs when openvpn cannot connect
2020-09-18 14:28:14 +00:00
Quentin McGaw
4e0bd46dd5
Updated Mullvad servers information
2020-09-18 14:16:17 +00:00
Quentin McGaw
f9b6e854b1
Fix surfshark updater and update server data
2020-09-13 00:41:31 +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
cb1520cb18
Write 200 http status codes to restart routes
2020-09-12 18:37:06 +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
1c012e4c92
Minor readme changes
...
- Mullvad ipv6 startup error fix
- VPNSP variable in docker run example command
2020-09-12 18:06:52 +00:00
Quentin McGaw
78ce272bd0
Minor Dockerfile changes
2020-09-12 18:06:10 +00: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
ee64cbf1fd
Use IP addresses resolved for PIA old servers ( #239 )
...
- Fix #238
- Not using raw IPs from PIA as they seem invalid
- Update PIA old server information
2020-09-10 21:09:16 -04:00
Quentin McGaw
5b3cbb6906
Fix #235 : DNS over TLS log messages
2020-09-09 21:44:50 +00:00
Quentin McGaw
443c7e36d7
Youtube videos added
2020-09-09 20:52:22 +00:00
Max Isom
22b389b6f8
Fix firewall reference to Wiki ( #237 )
2020-09-09 16:45:36 -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
9dcc00900e
Healthcheck moved to HTTP control server
2020-08-31 01:57:45 +00: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
049bc5b226
Mullvad updater ( #228 )
...
* Add Mullvad to updater cli
* Update hardcoded servers for Mullvad
2020-08-29 13:19:34 -04: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
99ba56f574
Fix server filtering using merged server data
2020-08-27 23:06:28 +00: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
Quentin McGaw
6fc2b3dd21
Mullvad servers do not have a default port
...
- Refers to #218
- Checks for custom port value depending on protocol
- Remove default port from server constants
- Use 443 and 1194 ports respectively for tcp and udp
2020-08-24 01:53:24 +00: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
b10a476622
Default status file base directory /tmp/gluetun
2020-08-18 01:08:24 +00:00
Quentin McGaw
15ddbdefef
Bump versions and binary build changes
...
- Go version 1.15
- Golangci-lint 1.30
- Trim path of binary built
2020-08-17 20:39:49 -04:00
Quentin McGaw
78323f0a33
Update PIA IP addresses, fixes #215
2020-08-08 16:27:51 +00: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
90e5742211
Reduce readme size
2020-07-25 11:55:35 -04:00
Quentin McGaw
8f547500d0
Purevpn support ( #208 )
...
Fixes #192
2020-07-25 11:19:45 -04:00
Quentin McGaw
0811b8b099
Server filtering fixes for Mullvad and Nordvpn
2020-07-23 02:16:12 +00:00
Quentin McGaw
c5c53a2ff8
FatalOnError fixes
2020-07-23 02:15:37 +00:00
Quentin McGaw
0ce129b63d
Make all variables behave like server filters
2020-07-23 01:48:18 +00:00
Quentin McGaw
fec1249293
Uniformize server selection filtering
2020-07-23 01:46:28 +00:00
Quentin McGaw
a5c35455d1
Update PIA IP addresses
2020-07-20 02:32:02 +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
fab9939b26
Simplify DNS loop a bit and fixes #199
2020-07-17 01:16:49 +00:00
Quentin McGaw
b4a4e441c1
Fix #199 when ticker period is 0
2020-07-16 12:00:25 +00:00
Quentin McGaw
e8526141be
Fix issues in readme
2020-07-16 01:52:09 +00:00
Quentin McGaw
9abb630692
Get and set settings for DNS
2020-07-16 01:45:05 +00:00
Quentin McGaw
9b92ece5a1
Fix race condition for public ip loop
2020-07-16 01:44:48 +00:00
Quentin McGaw
87a3e54044
Set and get settings for openvpn
2020-07-16 01:26:37 +00:00
Quentin McGaw
76b730e2a6
Improve openvpn logging
...
- Show Initialization Sequence completed in green
- Show all other openvpn logs in the openvpn color
2020-07-16 01:20:47 +00:00
Quentin McGaw
51af8d1ab0
PUBLICIP_PERIOD environment variable
2020-07-16 01:12:54 +00:00
Quentin McGaw
002ffacd35
Shadowsocks get and set settings
2020-07-16 00:05:00 +00:00
Quentin McGaw
404cee9371
Tinyproxy set and get settings
2020-07-16 00:05:00 +00:00
Quentin McGaw
f89e7aa8dc
Update readme list of VPN providers supported
2020-07-16 00:04:58 +00:00
Quentin McGaw
a0312ec916
Shadowsocks and Tinyproxy Start and Stop
2020-07-16 00:04:15 +00:00
Quentin McGaw
83cf59b93e
Start and Stop for dns over tls
2020-07-16 00:04:15 +00:00
Quentin McGaw
ad5de13c25
Logging filtering for openvpn process
2020-07-16 00:04:14 +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
8c7c8f7d5a
Fix Cyberghost port, fixes #179 and #104
2020-07-14 23:08:57 +00:00
Quentin McGaw
78877483e9
Fix #198
2020-07-14 22:31:15 +00:00
Quentin McGaw
de7f12d958
Gluetun git history video 😉
2020-07-14 00:38:55 +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
2f955e0190
Simplified provider object creation
2020-07-13 23:34:03 +00:00
Quentin McGaw
618441b008
Vyprvpn support, fix #181 ( #193 )
2020-07-13 08:04:35 -04:00
Quentin McGaw
4a7d341c57
Fixing extra subnets firewall rules
...
- Fix #194
- Fix #190
- Refers to #188
2020-07-13 02:17:49 +00:00
Quentin McGaw
95ad58687d
Remove duplicate firewall rule for tun0
2020-07-13 02:15:32 +00: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
0731b1cb82
Remove horrible firewall debug 1 printing
2020-07-12 19:22:48 +00:00
Quentin McGaw
07efea612b
Minor changes
...
- Remove unneeded string conversions
- Remove resolve-retry infinite openvpn configuration (unneeded)
- Add cover on single tests and single test files for Vscode
2020-07-12 19:15:05 +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
Quentin McGaw
2acf627918
Fixes #191
2020-07-12 15:21:32 +00:00
Quentin McGaw
4eb7c4ac36
Support for username and password changes
2020-07-12 14:55:03 +00:00
Quentin McGaw
b4c838e6ab
Changes to cyberghost openvpn configuration
...
- Comment out redirect-gateway def1
- Add explicit-exit-notify 2 to ensure disconnection server side
- Remove ping-exit instructions
- Remove resolv-retry infinite (unneeded)
2020-07-12 14:47:37 +00:00
Quentin McGaw
8b096af04e
DNS_KEEP_NAMESERVER variable, refers to #188
2020-07-11 23:51:53 +00:00
Quentin McGaw
78b63174ce
Update VPN server IP addresses
...
- PIA updated
- Surfshark updated
- Windscribe updated (US East and Slovenia removed)
- Capital letters fixed for regions of Windscribe
- Resolver program updated to match latest format for constants
2020-07-11 22:02:25 +00:00
Quentin McGaw
11fca08028
Port forwarded firewall fix
2020-07-11 21:30:26 +00:00
Quentin McGaw
515e72a0ed
Update versions in readme
2020-07-11 21:10:41 +00:00
Quentin McGaw
2f9d1f09d3
Minor changes
...
- Remove https://ip4.ddnss.de/meineip.php
- Logs when falling back to plaintext DNS
2020-07-11 21:04:46 +00:00
Quentin McGaw
b1596bc7e4
Firewall refactoring
...
- Ability to enable and disable rules in various loops
- Simplified code overall
- Port forwarding moved into openvpn loop
- Route addition and removal improved
2020-07-11 21:03:55 +00:00
Quentin McGaw
ccf11990f1
Fix several async issues
...
- race conditions between ctx.Done and waitError channel
- Sleep for retry cancels on cancelation of context
- Stops the any loop at the start if the context was canceled
- Mentions when loops exit
- Wait for errors on triggered loop restarts
2020-07-11 20:59:30 +00:00
Quentin McGaw
1ac06ee4a8
Fatal waits for subprocesses to complete
2020-07-09 22:04:04 +00:00
Quentin McGaw
dc1c7eab81
Fix #187 (silly me #2 )
2020-07-09 11:56:43 +00:00
Quentin McGaw
5bf471767d
Remove unneeded waiter object
2020-07-08 23:43:03 +00:00
Quentin McGaw
3d25db1bed
Waits properly for all subprocess to exit
2020-07-08 23:42:54 +00:00
Quentin McGaw
99e386abc8
Using a waitgroup to wait for all programs to exit
2020-07-08 23:36:02 +00:00
Quentin McGaw
8669748289
Shadowsocks loop
2020-07-08 23:29:40 +00:00
Quentin McGaw
a39d885e34
Minor fixes
...
- Not logging program name twice for wait errors
- Wait for tinyproxy to exit
2020-07-08 23:29:22 +00:00
Quentin McGaw
7d36993450
Tinyproxy run loop
2020-07-08 23:20:33 +00:00
Quentin McGaw
0d53461706
Quick fix: uid and gid for openvpn
2020-07-08 22:51:27 +00:00
Quentin McGaw
758f316816
Small constants changes
...
- ifconfig.me/ip added, see #186
- Remove trailing space for a Surfshark region
2020-07-08 22:47:48 +00:00
Quentin McGaw
ad73a027f3
Gets public IP every hour
2020-07-08 22:47:12 +00:00
Quentin McGaw
2c96f91043
Merge branch 'master' of github.com:qdm12/private-internet-access-docker
2020-07-08 22:33:40 +00:00
Quentin McGaw
53b7fafc49
Public IP loop, fixes #186
...
- Uses common http client with 15 seconds timeout
- Repeats on fail after 5 seconds sleep time
2020-07-08 22:33:28 +00:00
Quentin McGaw
7450ffce2b
uid and gid variables (no change at runtime)
2020-07-08 22:13:59 +00:00
Quentin McGaw
765f06e5a8
Write auth file in openvpn loop
2020-07-08 22:11:23 +00:00
Rick van Hattem
e304b4a829
Updated readme to match the Dockerfile ( #185 )
2020-07-08 09:19:56 -04:00
Quentin McGaw
3ae4523280
Merge branch 'master' of github.com:qdm12/private-internet-access-docker
2020-07-08 13:14:50 +00:00
Quentin McGaw
7a136db085
Simplified loop mechanism for openvpn and dns
...
- Refers to #91
- http control server starts without waiting for unbound and/or openvpn
- Trying to get rid of waiter and use channels directly
- Simpler main.go
- More robust logic overall
2020-07-08 13:14:39 +00:00
Rick van Hattem
e809e178b9
Added Surfshark documentation for authentication ( #182 )
2020-07-07 21:14:05 -04:00
Rick van Hattem
dd529a48fa
Stripped extraneous whitespace ( #180 )
2020-07-07 17:33:35 -04:00
Rick van Hattem
2c6eae4e90
Set Surfshark ping-restart to valid value ( #183 )
...
No idea why this was here, but thanks for fixing it 🥇
2020-07-07 17:30:06 -04:00
Quentin McGaw
18e99d07d0
Move provider settings in openvpn settings
2020-07-05 20:05:38 +00:00
Quentin McGaw
a4b0e0ff86
Fix provider settings logging
2020-07-05 20:05:15 +00:00
Quentin McGaw
7e36fbbd00
Refers to #179 (Cyberghost)
...
- Fix <crt> -> <cert>
- Fix certificates (ca.crt and client.crt)
2020-07-05 16:20:40 +00:00
Quentin McGaw
d228216d1c
Fix #179
2020-07-04 17:48:22 +00:00
Quentin McGaw
c9368e352c
DNS_PLAINTEXT_ADDRESS, fixes #176
2020-06-26 14:40:46 +00:00
Quentin McGaw
d947d9fe30
Rename dev extension ms-vscode.go to golang.go
2020-06-26 14:37:11 +00:00
Quentin McGaw
613ded51ab
Upgrade to Alpine 3.12
2020-06-26 14:36:31 +00:00
Quentin McGaw
3b43b7c2f6
Add script security 2 to run vpn provider scripts
...
Fix Bug: ... #176
2020-06-21 20:21:13 -04:00
Quentin McGaw
cdbb7bf771
Fix #175
2020-06-18 18:05:51 +00:00
Quentin McGaw
5a6cf0fe3a
Remove firewall nat chain clearing, refers to #171
2020-06-16 12:20:33 +00:00
Quentin McGaw
082a5bdf51
Fix http control server not working when DOT=off
2020-06-16 00:11:22 +00:00
Quentin McGaw
7369808b84
Refactor ( #174 )
...
- Goal was to simplify main.go complexity
- Use common structures and interfaces for all vpn providers
- Moved files around
- Removed some alias models
2020-06-13 14:08:29 -04:00
Quentin McGaw
4f502abcf8
Cyberghost support ( #168 )
...
* Host finder CLI for cyberghost
* Resolver program updated with Cyberghost data
* Gluetun cli clientkey subcommand
2020-06-13 10:43:47 -04:00
Quentin McGaw
bdcadf09ec
Fix: Shadowsocks nameserver when DOT=off
2020-06-13 13:57:26 +00:00
Quentin McGaw
8cae369186
Add FIREWALL variable, refers to #171
2020-06-12 17:11:21 +00:00
Quentin McGaw
a3d75f3d8b
Replace p with r for params reader (lint issue)
2020-06-12 17:07:32 +00:00
Quentin McGaw
1a06d01ae2
Fix #172 kernel module for Synology
2020-06-10 01:34:20 +00:00
Quentin McGaw
634cef2bb2
Only resolve github.com for healthcheck, fix #170
2020-06-10 01:25:10 +00:00
Quentin McGaw
6107f5c4ab
Fix #173
2020-06-10 01:16:58 +00:00
Quentin McGaw
6ae9dc5c2c
Update list of donators in readme 👍
2020-06-08 08:31:18 -04:00
Quentin McGaw
ea3a173e3b
Remove persist-tun, fix #171
...
- Now openvpn tries other vpn ip addresses available on restart
- In case of a bad ip address, it will try other random ones
2020-06-08 11:08:07 +00:00
Quentin McGaw
69217f61a1
Update PIA servers IP addresses, refers to #171
2020-06-08 11:06:11 +00:00
Quentin McGaw
e33a6a8503
Fix #170
2020-06-05 19:32:12 -04:00
Quentin McGaw
0fb065eb61
Fix bad comparison in healthcheck
2020-06-05 12:46:44 +00:00
Quentin McGaw
f6a2aac475
Fix #170
2020-06-04 22:13:49 +00:00
Quentin McGaw
900fa261d8
Better healthcheck ( #169 ), fixes #133
...
* Changed healthcheck to get and compare IP address
* Change default healthcheck frequency and retries
2020-06-03 21:52:44 -04:00
Quentin McGaw
cfb4dd84bc
Replace pia with gluetun wherever possible
...
- in Readme documentation
- Changed splash title string
- Changed Dockerfile labels
- Changed commands and docker-compose service & container name
2020-06-03 02:11:35 +00:00
Quentin McGaw
4f72f60a3e
.dockerignore updated
2020-06-02 23:12:04 +00:00
Quentin McGaw
f262ee6454
Resolver cli changes
...
- Max of 10 simultaneous goroutines to avoid being throttled by DNS
- All template formatting moved to formatLine function
- resolveRepeat is synchronous to avoid being throttled by DNS
2020-06-02 23:10:04 +00:00
Quentin McGaw
20a3327815
Minor changes
...
- PORT is for Mullvad but also Windscribe (docker-compose, README.md)
- Windscribe configurator does not need lookupIP anymore
2020-06-02 23:07:29 +00:00
Quentin McGaw
3ab1298b1f
Main function improved
...
- More explicit cli operation
- Using ctx and os.Args injected for eventual later testing
- Returning exit code
- Cli code moved to cli package
2020-06-02 23:03:18 +00:00
Quentin McGaw
a7739b6f5d
Add multi hop regions and ips for Surfshark
2020-05-31 19:50:28 +00:00
Quentin McGaw
263368af89
Remove cipher and auth restrictive checks
2020-05-29 12:01:45 +00:00
Quentin McGaw
96e57d2c32
Surfshark ( #167 )
2020-05-29 07:24:27 -04:00
Quentin McGaw
85a93bdd34
Remove timestamps from program logs
...
- Using suppress-timestamps for openvpn
- Using custom regexp for tinyproxy, shadowsocks and unbound
- Time is now only shown once per line
- Log level of subprogram is preserverd
2020-05-29 11:17:14 +00:00
Quentin McGaw
cc80d224c2
Review current openvpn configuration
...
- tls-client unneeded if client is specified
- Moved settings around in config file
2020-05-29 10:29:07 +00:00
Quentin McGaw
c85cca7fdc
Workflow adjustments:
...
- Paths ignore for all docker build
- Remove security workflow (CVEs should be fixed by Alpine)
2020-05-29 10:20:45 +00:00
Quentin McGaw
3f6d3d7c2a
Openvpn files parser tool binary
2020-05-29 10:13:42 +00:00
Quentin McGaw
09a0ba1228
DNS Resolver tool binary
2020-05-29 10:13:29 +00:00
Quentin McGaw
6b81ed6bde
Unneeded Docker init, Go entrypoint does it
2020-05-29 10:12:38 +00:00
Quentin McGaw
64e447b262
Minor code and comments changes
2020-05-29 00:09:49 +00:00
Quentin McGaw
d0926111e0
Env variables cleanup in Docker config files
2020-05-29 00:03:10 +00:00
Quentin McGaw
aac4298f69
Moved main.go to cmd/gluetun/main.go
2020-05-28 23:59:35 +00:00
Quentin McGaw
f4018d3411
Fix PIA region case sensitivity, refers to #163
2020-05-28 01:07:32 +00:00
Quentin McGaw
0710199409
Updated IP addresses for Windscribe and PIA
...
- Updated test functions to resolve subdomains
- IP addresses are in increasing order
- One line per region/subdomain
2020-05-27 00:52:52 +00:00
Quentin McGaw
43c15b3e68
Removed double message in port forwarding logging
2020-05-18 13:39:01 +00:00
Quentin McGaw
ab223a5e06
User specified iptables rules ( #161 )
2020-05-18 09:37:34 -04:00
Quentin McGaw
fd5e7af3ff
Improve environment variables table
2020-05-17 18:34:57 -04:00
Quentin McGaw
886d4ad1a9
Update readme for new wiki
2020-05-17 17:54:37 -04:00
Quentin McGaw
40a72b6189
Update golangci-lint to 1.27.0
2020-05-17 17:49:40 -04:00
Quentin McGaw
5eb1859f41
Fix #156 falls back to dns on ipv4 only
2020-05-09 00:54:49 +00:00
Quentin McGaw
b45fa026dd
Improved openvpn run loop
2020-05-09 00:43:09 +00:00
Quentin McGaw
da739a0c3d
Fix waitForAll context for graceful exits
2020-05-07 12:58:37 +00:00
Quentin McGaw
0dc400b540
Fix Unbound run loop logic
...
- Plain DNS is used only for the first resolving of github.com to obtain block lists and crypto files required by Unbound
- DNS over TLS is used at all time by the system and the Go program thereafter, even between periodic restarts
- Downtime during a periodic update is < 1 second
- On an Unbound start or unexpected exit error, the container falls back on the unencrypted version of the DNS in order to try restarting Unbound
2020-05-07 12:56:49 +00:00
Quentin McGaw
d12668d57f
Fix logic to disable DNS periodic update
2020-05-05 22:02:23 +00:00
Quentin McGaw
c39affeb12
GolangCi-lint 1.
...
26.0
2020-05-05 18:01:12 +00:00
Quentin McGaw
d73765a5f5
DNS_UPDATE_PERIOD environment variable
2020-05-05 18:00:56 +00:00
Quentin McGaw
37282c014b
Removed greetings workflow (not working on forks)
2020-05-04 23:05:03 +00:00
Quentin McGaw
adeccf8548
ip6tables package, refers to #153
2020-05-04 12:27:15 +00:00
Quentin McGaw
a97cbcc4e4
Refers to #153
2020-05-04 12:24:34 +00:00
Quentin McGaw
89187b6b86
Fix #142
2020-05-03 16:28:59 +00:00
Quentin McGaw
754bab9763
Unbound restart logic
...
- Update files and restart unbound every 24hours
- HTTP route to force update & restart of Unbound
- Fix #151
2020-05-02 17:08:15 +00:00
Quentin McGaw
0d7f6dab1a
Remove unneeded functionNotSet in server
2020-05-02 17:04:01 +00:00
Quentin McGaw
507374ca4e
Improve openvpn run loop logs
2020-05-02 17:03:11 +00:00
Quentin McGaw
318c3c9032
Control server announcement
2020-05-02 17:02:39 +00:00
Quentin McGaw
c068484fa0
Initial DNS IP is ipv4/6 depending on DOT_IPV6
2020-05-02 15:41:28 +00:00
Quentin McGaw
7cd35737ba
Defaults DOT_IPV6 to off
2020-05-02 15:40:40 +00:00
Quentin McGaw
0247a1ff01
Refers to #142
2020-05-02 14:59:22 +00:00
Quentin McGaw
363fabc810
Reduced main.go code complexity
2020-05-02 14:48:18 +00:00
Quentin McGaw
6049b10209
Update firewall documentation
2020-05-02 13:13:19 +00:00
Quentin McGaw
bc05ff34fd
Launch DNS over TLS after tunneling
...
- No data is downloaded before tunneling
- Fixes #127
2020-05-02 13:11:41 +00:00
Quentin McGaw
8e77842f1e
FatalOnError cancels parent context
2020-05-02 13:05:09 +00:00
Quentin McGaw
41168f88cd
Improved connected signaling mechanism
2020-05-01 03:15:49 +00:00
Quentin McGaw
88ad10d429
PIA and Windscribe hardcoded IP addresses
...
- Allows to not need to resolve subdomains at start before tunneling
- Allows for Unbound to be configured and started after tunneling
- Refers to #127
2020-05-01 03:14:16 +00:00
Quentin McGaw
f4cd1896c9
Go HTTP control server with restart openvpn route
...
- Fix #147
- Dockerfile updated
- Documentation updated
- Using contexts to restart openvpn
- Code foundation for more http routes
2020-04-30 23:41:57 +00:00
Quentin McGaw
944e6a107b
Logs wait function errors as soon as they happen
2020-04-30 23:39:28 +00:00
Quentin McGaw
b6135d2476
Support consoles without /dev/stdout
2020-04-30 23:34:35 +00:00
Quentin McGaw
c9b6e79792
Clear ip status file on termination
2020-04-30 12:55:07 +00:00
Quentin McGaw
94255aaa38
Better onConnected logic
...
- First port forward after 5 seconds
- Public IP obtained ASAP
- Logging in main only
- Allow port forward firewall with 1 second timeout local context
2020-04-30 12:54:48 +00:00
Quentin McGaw
ac706bd156
Wait for openvpn to exit on program termination
2020-04-30 11:01:22 +00:00
Quentin McGaw
d864a9f580
Refixes #148
2020-04-30 10:48:26 +00:00
Quentin McGaw
a32318d246
Improve issue templates
2020-04-30 10:38:31 +00:00
Quentin McGaw
45a7a5b9e2
Fix build
2020-04-30 00:46:29 +00:00
Quentin McGaw
9af2a7a640
Retry port forwarding after 5 seconds, fix #148
2020-04-30 00:02:27 +00:00
Quentin McGaw
eb62ad06db
Better context handling (prep for restart logic)
2020-04-29 23:59:23 +00:00
Quentin McGaw
a033637e85
Better exit handling
2020-04-29 01:27:42 +00:00
Quentin McGaw
b0ea739c20
Restarts openvpn on failure without Docker restart ( #144 )
2020-04-28 21:22:18 -04:00
Quentin McGaw
352af84977
Workflows adjustments ( #124 )
...
* reviewdog/action-misspell@master
* Improve issue templates
2020-04-28 08:48:06 -04:00
Quentin McGaw
eb149ee040
Fix bad links in FAQ
2020-04-28 08:43:21 -04:00
Quentin McGaw
9b3166a2e2
Add @Frepke to sponsors in readme
2020-04-28 08:43:13 -04:00
Quentin McGaw
e94f4283e1
Port forwards 1 second after openvpn connects
2020-04-27 12:10:36 +00:00
Quentin McGaw
ef0959a15e
Update Golangci-lint to v1.25.0
2020-04-26 13:28:26 +00:00
Quentin McGaw
36424c08ac
Better checks for user provided private addresses
2020-04-26 13:28:14 +00:00
Quentin McGaw
97ea5f63b8
Removes port forward status file at exit
2020-04-19 20:45:34 +00:00
Quentin McGaw
88c9d3d687
Waits 300ms before first DNS resolution try
2020-04-19 20:44:33 +00:00
Quentin McGaw
f1569dac05
Each stream uses a different color, fixes #136
2020-04-19 20:40:31 +00:00
Quentin McGaw
4cb32ef9dc
Reliably wait for all processes to exit
2020-04-19 20:10:48 +00:00
Quentin McGaw
e805d42197
Updated dependencies
2020-04-19 18:13:48 +00:00
Quentin McGaw
cbd11bfdf2
Thanks @Ralph521 !
2020-04-15 12:33:50 +00:00
Quentin McGaw
422bd8d428
Log stderr stream from shadowsocks
2020-04-14 12:22:14 +00:00
Quentin McGaw
58459f0336
PIA_ENCRYPTION in readme, thanks @Frepke
2020-04-14 07:43:14 -04:00
Quentin McGaw
6f6e227b94
Add section for sponsors, donations in readme
2020-04-13 00:32:57 +00:00
Quentin McGaw
e015cd4a27
Windscribe affiliate link, refers to #109
2020-04-13 00:21:41 +00:00
Quentin McGaw
768147095f
Golangcilint in build pipeline and fix lint errors
...
- Fix bad permissions bits for files
- VPNSP is 'private internet access' instead of 'pia' (retro compatible)
- Check errors of deferred unsetEnv functions in params package
- Other lint errors fixing and code simplifications
2020-04-12 20:05:28 +00:00
Quentin McGaw
8f6b6306d6
Formatting of files (goimport)
2020-04-12 20:01:33 +00:00
Quentin McGaw
fb4c9b8a58
Vscode workspace settings
2020-04-12 19:53:50 +00:00
Quentin McGaw
3d7cfb125a
Using WithPrefix for loggers
2020-04-12 19:07:19 +00:00
Quentin McGaw
d42de99879
Updated golibs and using gomock+mockgen for tests
2020-04-12 18:09:46 +00:00
Quentin McGaw
68203c221d
Refactored documentation for Docker hub workflow
...
- Readme size lowered to 18KB
- Documents created in doc/ directory
- faq.md, firewall.md, development.md
- Title svg as absolute path for Docker hub
- Re-enabled Docker hub description workflow
2020-04-12 13:42:41 +00:00
Quentin McGaw
3ac3e5022c
IP_STATUS_FILE and routing improvements ( #130 )
...
- Obtains VPN public IP address from routing table
- Logs and writes VPN Public IP address to `/ip` as soon as VPN is up
- Obtain port forward, logs it and writes it as soon as VPN is up
- Routing fully refactored and tested
- Routing reads from `/proc/net/route`
- Routing mutates the routes using `ip route ...`
2020-04-12 08:55:13 -04:00
Quentin McGaw
da8391e9ae
Using %s instead of %w for format print
2020-04-12 02:42:32 +00:00
Quentin McGaw
ebdf241888
Show DNS lookup error, refers to #127
2020-04-09 13:17:55 +00:00
Quentin McGaw
60cec716b2
Clears port forward status file at exit, fix #125
2020-04-09 12:11:36 +00:00
Quentin McGaw
e7a475a303
Stops on port forwarding error, fixes #120
2020-03-31 12:03:26 +00:00
Quentin McGaw
67588e0072
Merge branch 'master' of github.com:qdm12/private-internet-access-docker
2020-03-30 12:01:45 +00:00
Quentin McGaw
bfa3d749ac
Fix test
2020-03-30 12:01:35 +00:00
Quentin McGaw
7e79d9696f
TZ setting shown at start ( #119 )
2020-03-30 07:58:40 -04:00
Quentin McGaw
f251c6aa4d
Using UID and GID given for Tinyproxy, fixes #118
2020-03-30 11:56:38 +00:00
Quentin McGaw
d2117cd043
Improved environment variables table
2020-03-30 00:48:54 +00:00
Quentin McGaw
0235df74a0
SHADOWSOCKS_METHOD environment variable ( #117 )
2020-03-29 20:06:27 -04:00
Quentin McGaw
e5adccd9c5
Custom UID and GID for subprocesses and files written ( #116 ) Fix #116
...
- Environment variables `UID` and `GID`, both defaulting to `1000`
- All subprocesses (openvpn, tinyproxy, etc.) run using the UID and GID given
- All files are written with an ownership for the UID and GID given
- Port forwarded file has also ownership for UID, GID and read permission only
2020-03-29 19:52:49 -04:00
Quentin McGaw
76cea56864
Windscribe support ( #114 )
2020-03-29 16:42:06 -04:00
Quentin McGaw
643745d33e
OPENVPN_AUTH variable, refers to #94
2020-03-29 16:22:21 -04:00
Quentin McGaw
3d6a580102
Workflow minor fixes
...
- Renamed bad name in PR docker build
- Removed escaped \n in greetings
- Fixed up misspell action
2020-03-29 11:30:37 -04:00
Quentin McGaw
d4a1828c1d
Issue templates updated
2020-03-29 11:29:59 -04:00
Quentin McGaw
bdf96d864e
Check custom cipher value for each vpn provider
2020-03-27 01:10:54 +00:00
Quentin McGaw
15a549be11
OPENVPN_CIPHER variable ( #100 ), refers to #94 and #59
2020-03-26 20:29:32 -04:00
Quentin McGaw
d534f92432
Workflows changes
...
- Simple Docker build for PRs
- Only run buildx for latest tag on pushes to master branch
2020-03-26 20:17:10 -04:00
Quentin McGaw
d0c61662b5
Revise workflows ( #99 )
2020-03-26 08:35:48 -04:00
Quentin McGaw
98b076e2cb
Rename ENCRYPTION to PIA_ENCRYPTION ( #98 )
2020-03-26 08:11:50 -04:00
github-actions[bot]
0b997fe6c8
Typos fixes ( #95 )
...
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2020-03-25 18:28:28 -04:00
Quentin McGaw
b0c0bd6364
Updated readme build status badge
2020-03-25 18:23:09 -04:00
Quentin McGaw
c61a418430
Docker build with workflows instead of Travis CI
2020-03-25 18:22:02 -04:00
Quentin McGaw
e6bbaa2ba6
Security analysis workflow
2020-03-25 18:21:36 -04:00
Quentin McGaw
17ccf98c75
Docker hub description sync workflow
2020-03-25 18:21:26 -04:00
Quentin McGaw
4db67c70b8
Misspell workflow
2020-03-25 18:21:14 -04:00
Quentin McGaw
3250a20ffc
Issue templates
2020-03-25 18:21:01 -04:00
Quentin McGaw
6c12fdff2b
Labels and greetings Github workflows
2020-03-25 18:20:52 -04:00
Quentin McGaw
f033204844
Contribution doc updated
...
- Codeowners file
- Contributing doc file
- Readme dev and contributing updated
2020-03-25 18:19:57 -04:00
Quentin McGaw
e334cf6c5f
Minor changes
2020-03-23 20:37:56 +00:00
Quentin McGaw
9435db8e1e
Fix #90 add env variable OPENVPN_TARGET_IP
2020-03-18 23:49:40 +00:00
Quentin McGaw
d2b361b998
Fix #81 , new env variable OPENVPN_ROOT
2020-03-18 23:05:47 +00:00
Quentin McGaw (desktop)
9d786bf338
Update to Go 1.14
2020-03-18 01:04:44 +00:00
Quentin McGaw (desktop)
3339455a97
Simpler readme svg title
2020-03-18 01:04:33 +00:00
Quentin McGaw (desktop)
0eb2e5a120
Removed unecessary tun-ipv6 from pia ovpn config
2020-03-05 01:03:33 +00:00
Quentin McGaw (desktop)
d0f678c315
Add DNS over TLS ipv6 upstream servers, see #88
2020-03-05 00:54:33 +00:00
Quentin McGaw (desktop)
0c48d2d5a0
DOT_IPV6 environment variable added, refers to #88
2020-03-05 00:51:04 +00:00
Quentin McGaw (desktop)
47a197be48
Add ipv6 documentation, refers to #86
2020-03-05 00:01:04 +00:00
Quentin McGaw (desktop)
28edae383b
Changed openvpn Mullvad settings, refers to #86
2020-03-04 23:52:41 +00:00
Quentin McGaw (desktop)
939b58c457
Ortograph! Renamed annoucement to announcement
2020-03-04 23:47:21 +00:00
Quentin McGaw
fa0272d5ad
Support Mullvad over openvpn ( #85 )
...
Additional changes:
- Allow empty value for PIA region
- Most settings are lowercased
- `OPENVPN_VERBOSITY` environment variable
- openvpn also tunnels IPv6, and unbound supports ipv6
- auth kept only on disk, not in memory
- readme reworked
- CI script fixed and improved
- Added v2 Docker tag
- Shadowsocks log defaults to `off`
2020-02-29 21:05:20 -05:00
Quentin McGaw (desktop)
839c6f05dd
Upgraded golibs
2020-03-01 02:03:57 +00:00
Quentin McGaw (desktop)
9ada201b82
Fixed and improved CI script
2020-02-25 11:47:08 +00:00
Quentin McGaw (desktop)
dd0170afb1
Annoucement expiration time parsing
2020-02-25 11:46:52 +00:00
Quentin McGaw (desktop)
9239e840c4
Fixed CI script for pull requests
2020-02-23 19:11:03 -05:00
Quentin McGaw (desktop)
96713b26cb
README: contributors section
2020-02-22 17:56:04 +00:00
Quentin McGaw (desktop)
3ad60349db
Applied JeordyR's changes
2020-02-22 17:55:49 +00:00
Quentin McGaw (desktop)
5ee4e2fde0
Shadowsocks log defaults to off
2020-02-22 17:43:17 +00:00
Quentin McGaw (desktop)
ce4fd8bc68
TODOs are in a collapsible (most users don't care)
2020-02-22 17:35:50 +00:00
Quentin McGaw (desktop)
90fc12a941
Added v2 Docker tag
2020-02-22 17:34:41 +00:00
Quentin McGaw (desktop)
16995e1d93
Changed CI script
2020-02-22 17:32:05 +00:00
Quentin McGaw (desktop)
9669938703
Port forwarding section reworked
2020-02-22 17:15:42 +00:00
Quentin McGaw (desktop)
ac60cf8ab8
Minor changes
2020-02-22 17:07:06 +00:00
Quentin McGaw (desktop)
f5a32e690f
README: Updated and refactored features section
2020-02-22 17:06:35 +00:00
Quentin McGaw (desktop)
4e622a92a5
README: Rework requirements
2020-02-22 17:05:52 +00:00
Quentin McGaw (desktop)
d1412f43fd
Changed announcement
2020-02-22 17:04:50 +00:00
Quentin McGaw (desktop)
1b3a135920
Reworked readme's FAQ
2020-02-22 16:35:26 +00:00
Quentin McGaw (desktop)
53db4813fa
Allow PIA server to choose compression
2020-02-22 16:34:28 +00:00
Quentin McGaw (desktop)
2f09ed9069
tls-client openvpn client instruction added
2020-02-22 16:34:05 +00:00
Quentin McGaw (desktop)
9202d6c15f
Do not keep auth in memory, only on disk
2020-02-22 16:33:37 +00:00
Quentin McGaw (desktop)
023f1c7e8e
Tunnels IPv6
2020-02-22 16:32:59 +00:00
Quentin McGaw (desktop)
1aebe1a4c1
Simplified GetUser and GetPassword using libparams
2020-02-22 15:53:50 +00:00
Quentin McGaw (desktop)
f45f40eee1
Added OPENVPN_VERBOSITY environment variable
2020-02-22 15:48:09 +00:00
Quentin McGaw (desktop)
ab5d60754f
Read some values with case sensitivity
2020-02-22 15:43:33 +00:00
Quentin McGaw (desktop)
83e8bb780a
Fix reading region without case sensitivity
2020-02-22 13:52:33 +00:00
Quentin McGaw (desktop)
095623925a
Might fix #82
...
- Allow any input traffic on Shadowsocks port if Shadowsocks is enabled
- Allow any input traffic on TinyProxy port if TinyProxy is enabled
2020-02-16 23:58:03 +00:00
Quentin McGaw (desktop)
888d8bbf87
Lowercased all Mullvad server constants
2020-02-16 22:39:05 +00:00
Quentin McGaw (desktop)
fbf04677f1
Minor fixes
2020-02-16 22:27:49 +00:00
Quentin McGaw (desktop)
2051aa1b04
Wire up everything for Mullvad and PIA in main.go
2020-02-16 22:16:11 +00:00
Quentin McGaw (desktop)
fc88ee135d
Added Mullvad settings setup
2020-02-16 22:15:52 +00:00
Quentin McGaw (desktop)
a6f9a1a3d1
Fix GetVPNSP
2020-02-16 22:15:06 +00:00
Quentin McGaw (desktop)
f181ff0005
Added Mullvad environment variables and getters
2020-02-16 20:30:29 +00:00
Quentin McGaw (desktop)
71dcf23013
Allow empty value for PIA region
2020-02-16 20:29:37 +00:00
Quentin McGaw (desktop)
95ee3b4276
Moved GetUser and GetPassword to openvpn params getters
2020-02-16 19:55:01 +00:00
Quentin McGaw (desktop)
c42d13f14f
Added Mullvad configuration builder
2020-02-16 19:51:08 +00:00
Quentin McGaw (desktop)
ce11745f6f
Using struct for VPN connection settings
2020-02-16 19:50:21 +00:00
Quentin McGaw (desktop)
f6b91bd74f
Added Mullvad constants and lists
2020-02-16 17:34:04 +00:00
Quentin McGaw (desktop)
5c69ddc05f
Added Mullvad server model
2020-02-16 17:33:52 +00:00
Quentin McGaw (desktop)
ded635bd56
Fatal container exit if openvpn or unbound exits
2020-02-13 13:23:22 +00:00
Quentin McGaw (desktop)
66667f94e1
Refactored region parsing for PIA
2020-02-10 18:17:22 +00:00
Quentin McGaw (desktop)
77c6eeb765
Fixes #80
2020-02-10 18:14:14 +00:00
Quentin McGaw (desktop)
040b5afca6
Fix readme environment variables table formatting
2020-02-08 23:24:41 +00:00
Quentin McGaw (desktop)
321579333d
Added simple healthcheck
2020-02-08 21:50:17 +00:00
Quentin McGaw (desktop)
a76aa5276d
Added DOT_PRIVATE_ADDRESS environment variable
2020-02-08 21:28:33 +00:00
Quentin McGaw (desktop)
0264f8726a
Added DOT_CACHING environment variable
2020-02-08 21:28:03 +00:00
Quentin McGaw (desktop)
247dc01f8a
Minor changes
...
- Added missing environment variables to Dockerfile
- Constant ca certificates filepath
- Removed dns/os.go unused file
- Formatting improvements
- Added comments
- Readme TODOs update
2020-02-08 21:08:49 +00:00
Quentin McGaw (desktop)
6734779e90
Merges streams from start and exits cleanly
2020-02-08 17:51:30 +00:00
Quentin McGaw (desktop)
e527f14bd2
Fixes #72
...
- Using custom DNS internally (without TLS) to download Unbound files
- Using then Unbound with DNS over TLS internally and system wide
- Works even if you host system DNS is broken
- Waits a few milliseconds for Unbound to start up
2020-02-08 17:47:25 +00:00
Quentin McGaw (desktop)
a40f68f1df
Refactored DNS provider data structures
2020-02-08 17:13:19 +00:00
Quentin McGaw (desktop)
84f49c5827
Removed 'TinyProxy settings' showing twice
2020-02-08 15:48:11 +00:00
Quentin McGaw (desktop)
792f70ffa7
No need to map /dev/net/tun device anymore
2020-02-08 15:46:59 +00:00
Quentin McGaw (desktop)
7f35daa418
Fixes #79
2020-02-08 15:34:41 +00:00
Quentin McGaw (desktop)
86ed6736a5
Fixes #79 Create TUN device if it does not exist
2020-02-08 15:30:28 +00:00
Quentin McGaw (desktop)
6620ba52d2
Renaming
...
- FileOwnership option to Ownership
- FilePermissions option to Permissions
2020-02-08 15:29:27 +00:00
Quentin McGaw (desktop)
1f873e7d66
Fixes mix of parameter (Shadowsocks, Tinyproxy)
2020-02-08 14:09:20 +00:00
Quentin McGaw (desktop)
fc9ebd561c
Fixes #77 bad tinyproxy configuration generation
2020-02-08 14:08:51 +00:00
Quentin McGaw (desktop)
63fd72524e
Tinyproxy log level parameter fix #77
2020-02-08 00:10:52 +00:00
Quentin McGaw (desktop)
ed5a90ef25
Fixes #73
2020-02-07 14:21:26 +00:00
Quentin McGaw (desktop)
7f103b2749
Fixed tinyproxy log level
2020-02-07 14:15:52 +00:00
Quentin McGaw (desktop)
69796e1ff9
Build openvpn configuration from scratch
2020-02-07 13:55:24 +00:00
Quentin McGaw (desktop)
6a9cd7ed9c
Increase http client timeout to 15 seconds
2020-02-07 13:55:07 +00:00
Quentin McGaw
64649039d9
Rewrite of the entrypoint in Golang ( #71 )
...
- General improvements
- Parallel download of only needed files at start
- Prettier console output with all streams merged (openvpn, unbound, shadowsocks etc.)
- Simplified Docker final image
- Faster bootup
- DNS over TLS
- Finer grain blocking at DNS level: malicious, ads and surveillance
- Choose your DNS over TLS providers
- Ability to use multiple DNS over TLS providers for DNS split horizon
- Environment variables for DNS logging
- DNS block lists needed are downloaded and built automatically at start, in parallel
- PIA
- A random region is selected if the REGION parameter is left empty (thanks @rorph for your PR)
- Routing and iptables adjusted so it can work as a Kubernetes pod sidecar (thanks @rorph for your PR)
2020-02-06 20:42:46 -05:00
Quentin McGaw (desktop)
3de4ffcf66
Merge branch 'master' of github.com:qdm12/private-internet-access-docker
2020-01-19 10:59:13 -05:00
Quentin McGaw (desktop)
60a69f316b
Fixed Slack invite link
2020-01-19 10:59:00 -05:00
Quentin McGaw
9b26a39690
Fixed CI for branches and PRs ( #64 )
2019-12-20 07:40:39 -05:00
Quentin McGaw
73cef63e73
New SVG icon ( #63 )
2019-12-20 07:28:33 -05:00
Quentin McGaw (desktop)
90f506d2b7
Merge branch 'master' of github.com:qdm12/private-internet-access-docker
2019-12-20 12:05:55 +00:00
Quentin McGaw (desktop)
07cb909061
Updated announcement to Medium article
2019-12-20 12:05:19 +00:00
Quentin McGaw (desktop)
af5c7c648d
Fixed SHADOWSOCKS env variable check
2019-12-20 12:05:02 +00:00
Quentin McGaw
fd248098a6
Create FUNDING.yml
2019-12-14 17:59:25 -05:00
Quentin McGaw (desktop)
a21bb009e5
openvpn runs without root by default
2019-11-24 11:04:55 -05:00
Quentin McGaw (desktop)
8b313cf211
Small changes and cleanup
2019-11-24 11:04:37 -05:00
Quentin McGaw
adf82d844a
Further cleanup and readme rework, fixes #39 ( #58 )
...
Further cleanup and readme rework, also fixes #39 with release `v1`
2019-11-23 20:01:29 -05:00
Quentin McGaw
0af0632304
Building Docker images for all CPU architectures ( #57 )
...
* Created Travis config to build images for all CPU architectures
* Updated readme
2019-11-23 18:01:18 -05:00
Quentin McGaw (desktop)
9a2d0ec3ef
Simplified ARM build instructions
2019-11-21 20:45:21 -05:00