api

package
v0.0.0-...-846a3b6 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: May 14, 2021 License: GPL-3.0 Imports: 16 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
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)

View Source
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)

View Source
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 CreateAPI

func CreateAPI() (*API, error)

CreateAPI creates new API object

func (*API) DoRequestByAlias

func (a *API) DoRequestByAlias(apiAlias string) (responseData []byte, err error)

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

func (a *API) IsAlternateIPsInitialized() bool

IsAlternateIPsInitialized - checks if the alternate IP initialized

func (*API) SessionDelete

func (a *API) SessionDelete(session string) error

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

func (a *API) SetAlternateIPs(IPs []string) error

SetAlternateIPs save info about alternate servers IP addresses

func (*API) WireGuardKeySet

func (a *API) WireGuardKeySet(session string, newPublicWgKey string, activePublicWgKey string) (localIP net.IP, err error)

WireGuardKeySet - update WG key

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

Directories

Path Synopsis

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL