2021-05-11 17:10:51 +00:00
|
|
|
package privateinternetaccess
|
|
|
|
|
|
|
|
|
|
import (
|
2022-01-06 06:40:23 -05:00
|
|
|
"github.com/qdm12/gluetun/internal/configuration/settings"
|
2021-05-11 17:10:51 +00:00
|
|
|
"github.com/qdm12/gluetun/internal/constants"
|
|
|
|
|
"github.com/qdm12/gluetun/internal/models"
|
|
|
|
|
"github.com/qdm12/gluetun/internal/provider/utils"
|
|
|
|
|
)
|
|
|
|
|
|
2021-08-19 14:09:41 +00:00
|
|
|
func (p *PIA) BuildConf(connection models.Connection,
|
2022-04-25 07:57:45 +00:00
|
|
|
settings settings.OpenVPN) (lines []string) {
|
|
|
|
|
providerSettings := utils.OpenVPNProviderSettings{
|
|
|
|
|
RemoteCertTLS: true,
|
|
|
|
|
RenegDisabled: true,
|
|
|
|
|
AuthUserPass: true,
|
|
|
|
|
}
|
|
|
|
|
|
2022-01-06 06:40:23 -05:00
|
|
|
switch *settings.PIAEncPreset {
|
2021-05-31 00:32:39 +00:00
|
|
|
case constants.PIAEncryptionPresetNormal:
|
2022-04-25 07:57:45 +00:00
|
|
|
providerSettings.Ciphers = []string{constants.AES128cbc}
|
|
|
|
|
providerSettings.Auth = constants.SHA1
|
|
|
|
|
providerSettings.CRLVerify = constants.PiaX509CRLNormal
|
|
|
|
|
providerSettings.CA = constants.PiaCANormal
|
2021-08-17 19:35:57 +00:00
|
|
|
case constants.PIAEncryptionPresetNone:
|
2022-04-25 07:57:45 +00:00
|
|
|
providerSettings.Ciphers = []string{"none"}
|
|
|
|
|
providerSettings.Auth = "none"
|
|
|
|
|
providerSettings.CRLVerify = constants.PiaX509CRLNormal
|
|
|
|
|
providerSettings.CA = constants.PiaCANormal
|
2021-08-17 19:35:57 +00:00
|
|
|
default: // strong
|
2022-04-25 07:57:45 +00:00
|
|
|
providerSettings.Ciphers = []string{constants.AES256cbc}
|
|
|
|
|
providerSettings.Auth = constants.SHA256
|
|
|
|
|
providerSettings.CRLVerify = constants.PiaX509CRLStrong
|
|
|
|
|
providerSettings.CA = constants.PiaCAStrong
|
2021-05-11 17:10:51 +00:00
|
|
|
}
|
|
|
|
|
|
2022-04-25 07:57:45 +00:00
|
|
|
return utils.OpenVPNConfig(providerSettings, connection, settings)
|
2021-05-11 17:10:51 +00:00
|
|
|
}
|