package purevpn

import (
	"github.com/qdm12/gluetun/internal/configuration/settings"
	"github.com/qdm12/gluetun/internal/constants/openvpn"
	"github.com/qdm12/gluetun/internal/models"
	"github.com/qdm12/gluetun/internal/provider/utils"
)

func (p *Provider) OpenVPNConfig(connection models.Connection,
	settings settings.OpenVPN, ipv6Supported bool,
) (lines []string) {
	providerSettings := utils.OpenVPNProviderSettings{
		RemoteCertTLS: true,
		AuthUserPass:  true,
		Ciphers: []string{
			openvpn.AES256gcm,
		},
		KeyDirection: "1",
		CAs: []string{
			"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",                             //nolint:lll
			"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", //nolint:lll
		},
		Cert:    "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",                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     //nolint:lll
		RSAKey:  "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", //nolint:lll
		TLSAuth: "2a081d1a94f133e0c3e1b36ff414f609154e6f2c5586abc2452ec54c70ead6d9f0b5e3b7351eb0eac32d6ddb3d7c24d56cccbf25024bdde1c14d56c02eeb058c3f76ea6798b07955bb38b71dd1d359c93f246b00d624929fcc87d6c34baff5f62f8ac7fa054a3fff8982fc9d1847168ab6a7e2f48c16100cb5865e355f3978f0165cdc9e9217cd49634098c58bda0c15b1ce1ef214604e4f7f1f8b94b93a7791486706f0199973bbe9a6fb462bcb72e4e64263f37653098ddbe02de7b4502c88a4ee7c47cd44bcb3853bde2ccc13dc45fe6b75474f31af57f89cecc1ba6940384de9e41b4abbc38710577fcfc471b4c986b17d72707040378b3cfe57dd4cc372",                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             //nolint:lll
	}
	return utils.OpenVPNConfig(providerSettings, connection, settings, ipv6Supported)
}
