Documentation ¶
Index ¶
- Variables
- type API
- func (a *API) DoRequestByAlias(apiAlias string) (responseData []byte, err error)
- func (a *API) DownloadServersList() (*types.ServersInfoResponse, error)
- func (a *API) GeoLookup(timeoutMs int) (location *types.GeoLookupResponse, err error)
- func (a *API) IsAlternateIPsInitialized() bool
- func (a *API) SessionDelete(session string) error
- func (a *API) SessionNew(accountID string, wgPublicKey string, forceLogin bool, captchaID string, ...) (*types.SessionNewResponse, *types.SessionNewErrorLimitResponse, ...)
- func (a *API) SessionStatus(session string) (*types.ServiceStatusAPIResp, *types.APIErrorResponse, error)
- func (a *API) SetAlternateIPs(IPs []string) error
- func (a *API) WireGuardKeySet(session string, newPublicWgKey string, activePublicWgKey string) (localIP net.IP, err error)
- type Alias
- type IConnectivityInfo
Constants ¶
This section is empty.
Variables ¶
var APIAliases = map[string]Alias{ "geo-lookup": {/* contains filtered or unexported fields */}, "updateInfo_Linux": {/* contains filtered or unexported fields */}, "updateSign_Linux": {/* contains filtered or unexported fields */}, "updateInfo_macOS": {/* contains filtered or unexported fields */}, "updateSign_macOS": {/* contains filtered or unexported fields */}, "updateInfo_Windows": {/* contains filtered or unexported fields */}, "updateSign_Windows": {/* contains filtered or unexported fields */}, "updateInfo_manual_Linux": {/* contains filtered or unexported fields */}, "updateSign_manual_Linux": {/* contains filtered or unexported fields */}, "updateInfo_manual_macOS": {/* contains filtered or unexported fields */}, "updateSign_manual_macOS": {/* contains filtered or unexported fields */}, "updateInfo_manual_Windows": {/* contains filtered or unexported fields */}, "updateSign_manual_Windows": {/* contains filtered or unexported fields */}, }
APIAliases - aliases of API requests (can be requested by UI client)
var APIIvpnHashes = []string{
"g6WEFnt9DyTi70nW/fufsZNw83vFpcmIhMuDPQ1MFcI=",
"KCcpK9y22OrlapwO1/oP8q3LrcDM9Jy9lcfngg2r+Pk=",
"iRHkSbdOY/YD8EE5fpl8W0P8EqmfkBRTADEegR2/Wnc=",
"47DEQpj8HBSa+/TImW+5JCeuQeRkm5NMpJWZG3hSuFU="}
APIIvpnHashes - base64-encoded SHA256 hashes for 'api.ivpn.net' server public keys (in use for certificate key pinning)
var UpdateIvpnHashes = []string{
"ui5qlCNifo6do0D/oKzjDPOYeI9yqyLk2hKrJdRIo00=",
"gaUpWQCarWURTpjKyaJQxqDAM72o5VZlfZDo3Z+rD18=",
"zyOrzSZfJFKg4w7z3/H9KR5bEnFDaXi6L1x3isu3F64=",
"mV/Je5ISwk8ryOI/V1HvGAIHVXhkAz5iDC7f+mIJYpI="}
UpdateIvpnHashes - base64-encoded SHA256 hashes for 'repo.ivpn.net' server public keys (in use for certificate key pinning)
Functions ¶
This section is empty.
Types ¶
type API ¶
type API struct {
// contains filtered or unexported fields
}
API contains data about IVPN API servers
func (*API) DoRequestByAlias ¶
DoRequestByAlias do API request (by API endpoint alias). Returns raw data of response
func (*API) DownloadServersList ¶
func (a *API) DownloadServersList() (*types.ServersInfoResponse, error)
DownloadServersList - download servers list form API IVPN server
func (*API) GeoLookup ¶
func (a *API) GeoLookup(timeoutMs int) (location *types.GeoLookupResponse, err error)
GeoLookup get geolocation
func (*API) IsAlternateIPsInitialized ¶
IsAlternateIPsInitialized - checks if the alternate IP initialized
func (*API) SessionDelete ¶
SessionDelete - remove session
func (*API) SessionNew ¶
func (a *API) SessionNew(accountID string, wgPublicKey string, forceLogin bool, captchaID string, captcha string, confirmation2FA string) ( *types.SessionNewResponse, *types.SessionNewErrorLimitResponse, *types.APIErrorResponse, string, error)
SessionNew - try to register new session
func (*API) SessionStatus ¶
func (a *API) SessionStatus(session string) ( *types.ServiceStatusAPIResp, *types.APIErrorResponse, error)
SessionStatus - get session status
func (*API) SetAlternateIPs ¶
SetAlternateIPs save info about alternate servers IP addresses
type Alias ¶
type Alias struct {
// contains filtered or unexported fields
}
Alias - alias description of API request (can be requested by UI client)
type IConnectivityInfo ¶
type IConnectivityInfo interface {
IsConnectivityBlocked() bool
}
IConnectivityInfo information about connectivity