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
This commit is contained in:
Quentin McGaw
2020-11-19 08:50:55 -05:00
committed by GitHub
parent 6896cf4258
commit 1cc0f5fee9
11 changed files with 245 additions and 23 deletions

View File

@@ -44,9 +44,10 @@ type ServerSelection struct {
}
type ExtraConfigOptions struct {
ClientKey string `json:"-"` // Cyberghost
EncryptionPreset string `json:"encryptionPreset"` // PIA
OpenVPNIPv6 bool `json:"openvpnIPv6"` // Mullvad
ClientCertificate string `json:"-"` // Cyberghost
ClientKey string `json:"-"` // Cyberghost
EncryptionPreset string `json:"encryptionPreset"` // PIA
OpenVPNIPv6 bool `json:"openvpnIPv6"` // Mullvad
}
// PortForwarding contains settings for port forwarding.
@@ -111,7 +112,8 @@ func (p *ProviderSettings) String() string {
)
case "cyberghost":
settingsList = append(settingsList,
"ClientKey: [redacted]",
"Client key: [redacted]",
"Client certificate: [redacted]",
"Group: "+p.ServerSelection.Group,
"Regions: "+commaJoin(p.ServerSelection.Regions),
)