Quentin McGaw (desktop)
ecdf9396a5
Maint: move OpenVPN configurator to openvpn/config
2021-08-18 20:23:50 +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)
5140a7b010
Maint: set PUID and PGID in openvpn configurator
2021-08-18 15:44:58 +00:00
Quentin McGaw (desktop)
da30ae287f
Maint: decouple OpenVPN config writer from loop
2021-08-18 15:35:07 +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)
836412b032
Maint: move routeReadyEvents to openvpn package
2021-08-16 19:19:41 +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 (desktop)
73c383fd65
Maint: remove routing configurator from Openvpn Loop
2021-07-26 16:18:35 +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 (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)
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 (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)
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)
394abbbe35
Feat: specify Openvpn flags with OPENVPN_FLAGS
2021-07-19 15:10:53 +00:00
Quentin McGaw (desktop)
c0d27b4bfc
Maint: rework openvpn restart on unhealthy
2021-07-18 03:17:48 +00:00
Quentin McGaw (desktop)
39068dda17
Maint: rework Openvpn run loop
2021-07-16 21:20:34 +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)
0ed738cd61
Maint: make all set status context aware
2021-07-16 00:49:59 +00:00
Quentin McGaw (desktop)
400affe429
Maintenance: add revive linter
2021-06-20 16:12:39 +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)
05c6b9379a
Maintenance: prevent exit race condition for loops
2021-06-10 14:13:08 +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
7d6763cde7
Maintenance: upgrade golibs (affects logger)
2021-05-14 14:07:16 +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
ccc7ad7cbd
Change: do not exit on Openvpn config error
2021-05-11 18:23:19 +00:00
Quentin McGaw
167a0b0b29
Restart unhealthy ( #417 ) ( #441 )
2021-05-04 15:36:12 -04:00
Quentin McGaw
fa220f9e93
Feature: custom Openvpn configuration file, fixes #223 ( #402 )
2021-03-13 08:51:05 -05:00
Quentin McGaw
c54ee71e1d
Maintenance: new logging, shorter with less deps
2021-02-25 23:51:29 +00:00
Quentin McGaw
b1f1f94a76
Maintenance: remove some type aliases
2021-02-06 18:31:14 +00:00
Quentin McGaw
90aaf71270
Configuration package ( #369 )
2021-02-06 11:05:50 -05: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
5757f0e201
Fix: Only log subproc error when it's not nil
2021-01-30 18:07:12 +00:00
Quentin McGaw
4abb8cd87f
Add panic checks
2021-01-29 00:32:43 +00:00
Quentin McGaw
a243d48fb1
Maintenance: improve stream merging
2021-01-26 04:17:22 +00:00
Quentin McGaw
4530dd4fea
Maintenance: OpenVPN BuildConf arity reduced
2021-01-19 02:42:16 +00:00
Quentin McGaw
5dcbe79fa8
Move OS package to golibs
2021-01-02 01:57:00 +00:00
Quentin McGaw
25acbf8501
Feature: Increasing backoff time for crashes
...
- Fix #247
2020-12-30 17:22:54 +00:00
Quentin McGaw
fe81eb65c2
Bug fix: Program exit on Openvpn fatal error
2020-12-29 17:50:36 +00:00
Quentin McGaw
cb64302294
Rename UID and GID to PUID and PGID
2020-12-29 16:44:35 +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
2dc674559e
Re-use username for UID if it exists
2020-12-27 00:36:39 +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
9c73faaaeb
Add linters and fix lint issues
2020-10-20 02:45:28 +00:00