Documentation
¶
Index ¶
- func GetTypeName(cmd interface{}) string
- func Send(conn net.Conn, cmd interface{}, idx int) (retErr error)
- type APIRequest
- type APIResponse
- type AccountStatus
- type AccountStatusResp
- type CommandBase
- type ConfigParamsResp
- type Connect
- type ConnectedResp
- type DiagnosticsGeneratedResp
- type DisabledFunctionality
- type Disconnect
- type DisconnectedResp
- type DisconnectionReason
- type EmptyResp
- type ErrorResp
- type GetServers
- type GetVPNState
- type Hello
- type HelloResp
- type KillSwitchGetIsPestistentResp
- type KillSwitchGetStatus
- type KillSwitchSetAllowLAN
- type KillSwitchSetAllowLANMulticast
- type KillSwitchSetEnabled
- type KillSwitchSetIsPersistent
- type KillSwitchStatusResp
- type PingResultType
- type PingServers
- type PingServersResp
- type ServerListResp
- type ServiceExitingResp
- type SessionDelete
- type SessionNew
- type SessionNewResp
- type SessionResp
- type SetAlternateDNSResp
- type SetAlternateDns
- type SetPreference
- type VpnStateResp
- type WGHost
- type WiFiAvailableNetworks
- type WiFiAvailableNetworksResp
- type WiFiCurrentNetwork
- type WiFiCurrentNetworkResp
- type WiFiNetworkInfo
- type WireGuardGenerateNewKeys
- type WireGuardSetKeysRotationInterval
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func GetTypeName ¶
func GetTypeName(cmd interface{}) string
GetTypeName returns objects type name (without package)
Types ¶
type APIRequest ¶
type APIRequest struct { CommandBase APIPath string }
APIRequest do custom request to API
type APIResponse ¶
type APIResponse struct { CommandBase APIPath string ResponseData string Error string }
APIResponse contains the raw data of response to custom API request
type AccountStatusResp ¶
type AccountStatusResp struct { CommandBase APIStatus int APIErrorMessage string SessionToken string Account preferences.AccountStatus }
AccountStatusResp - information about account status (or error info)
type CommandBase ¶
type CommandBase struct { // this field represents command type Command string // Uses for separate request\response sessions. // Response messages must have same Index as request Idx int }
CommandBase is a base object for communication with daemon. Contains fields required for all requests\responses.
func GetCommandBase ¶
func GetCommandBase(messageData []byte) (CommandBase, error)
GetCommandBase deserializing to CommandBase object
type ConfigParamsResp ¶
type ConfigParamsResp struct { CommandBase UserDefinedOvpnFile string }
ConfigParamsResp return s configuration parameters
type Connect ¶
type Connect struct { CommandBase VpnType vpn.Type CurrentDNS string // Enable firewall before connection // (if true - the parameter 'firewallDuringConnection' will be ignored) FirewallOn bool // Enable firewall before connection and disable after disconnection // (has effect only if Firewall not enabled before) FirewallOnDuringConnection bool WireGuardParameters struct { Port struct { Port int } EntryVpnServer struct { Hosts []WGHost } } OpenVpnParameters struct { EntryVpnServer struct { IPAddresses []string `json:"ip_addresses"` } MultihopExitSrvID string ProxyType string ProxyAddress string ProxyPort int ProxyUsername string ProxyPassword string Port struct { Port int Protocol int } } }
Connect request to establish new VPN connection
type ConnectedResp ¶
type ConnectedResp struct { CommandBase VpnType vpn.Type TimeSecFrom1970 int64 ClientIP string ServerIP string ExitServerID string ManualDNS string IsCanPause bool }
ConnectedResp notifying about established connection
type DiagnosticsGeneratedResp ¶
type DiagnosticsGeneratedResp struct { CommandBase ServiceLog string ServiceLog0 string OpenvpnLog string OpenvpnLog0 string EnvironmentLog string }
DiagnosticsGeneratedResp returns info from daemon logs
type DisabledFunctionality ¶
type DisabledFunctionality struct { WireGuardError string OpenVPNError string ObfsproxyError string }
DisabledFunctionality Some functionality can be not accessible It can happen, for example, if some external binaries not installed (e.g. obfsproxy or WireGaurd on Linux)
type Disconnect ¶
type Disconnect struct {
CommandBase
}
Disconnect disconnect active VPN connection
type DisconnectedResp ¶
type DisconnectedResp struct { CommandBase Failure bool Reason DisconnectionReason //int ReasonDescription string }
DisconnectedResp notifying about stopped connetion
type DisconnectionReason ¶
type DisconnectionReason int
DisconnectionReason - disconnection reason
const ( Unknown DisconnectionReason = iota AuthenticationError DisconnectionReason = iota DisconnectRequested DisconnectionReason = iota )
Disconnection reason types
type ErrorResp ¶
type ErrorResp struct { CommandBase ErrorMessage string }
ErrorResp response of error
type GetVPNState ¶
type GetVPNState struct {
CommandBase
}
GetVPNState request daemon to provive current VPN connection state
type Hello ¶
type Hello struct { CommandBase // connected client version Version string Secret uint64 // GetServersList == true - client requests to send back info about all servers GetServersList bool // GetStatus == true - client requests current status (Vpn connection, Firewal... etc.) GetStatus bool // GetConfigParams == true - client requests config parameters (user-defined OpevVPN file location ... etc.) GetConfigParams bool // KeepDaemonAlone == false (default) - VPN disconnects when client disconnects from a daemon // KeepDaemonAlone == true - do nothing when client disconnects from a daemon (if VPN is connected - do not disconnect) KeepDaemonAlone bool }
Hello is an initial request
type HelloResp ¶
type HelloResp struct { CommandBase Version string Session SessionResp DisabledFunctions DisabledFunctionality }
HelloResp response on initial request
type KillSwitchGetIsPestistentResp ¶
type KillSwitchGetIsPestistentResp struct { CommandBase IsPersistent bool }
KillSwitchGetIsPestistentResp returns kill-switch persistance status
type KillSwitchGetStatus ¶
type KillSwitchGetStatus struct {
CommandBase
}
KillSwitchGetStatus get full killswitch status
type KillSwitchSetAllowLAN ¶
type KillSwitchSetAllowLAN struct { CommandBase AllowLAN bool // When true - deamon returns empty response as confirmation // Needed for supporting old UI clients which are don't require confirmation Synchronously bool }
KillSwitchSetAllowLAN enable\disable LAN acces for kill-switch
type KillSwitchSetAllowLANMulticast ¶
type KillSwitchSetAllowLANMulticast struct { CommandBase AllowLANMulticast bool // When true - deamon returns empty response as confirmation // Needed for supporting old UI clients which are don't require confirmation Synchronously bool }
KillSwitchSetAllowLANMulticast enable\disable LAN multicast acces for kill-switch
type KillSwitchSetEnabled ¶
type KillSwitchSetEnabled struct { CommandBase IsEnabled bool }
KillSwitchSetEnabled request to enable\disable kill-switch
type KillSwitchSetIsPersistent ¶
type KillSwitchSetIsPersistent struct { CommandBase IsPersistent bool }
KillSwitchSetIsPersistent request to mark kill-switch persistant
type KillSwitchStatusResp ¶
type KillSwitchStatusResp struct { CommandBase IsEnabled bool IsPersistent bool IsAllowLAN bool IsAllowMulticast bool }
KillSwitchStatusResp returns kill-switch status
type PingResultType ¶
PingResultType represents information ping TTL for a host (is a part of 'PingServersResp')
type PingServers ¶
type PingServers struct { CommandBase RetryCount int TimeOutMs int }
PingServers request to ping servers
type PingServersResp ¶
type PingServersResp struct { CommandBase PingResults []PingResultType }
PingServersResp returns average ping time for servers
type ServerListResp ¶
type ServerListResp struct { CommandBase VpnServers types.ServersInfoResponse }
ServerListResp returns list of servers
type ServiceExitingResp ¶
type ServiceExitingResp struct {
CommandBase
}
ServiceExitingResp service is going to exit response
type SessionDelete ¶
type SessionDelete struct {
CommandBase
}
SessionDelete logout from current device
type SessionNew ¶
type SessionNew struct { CommandBase AccountID string ForceLogin bool CaptchaID string Captcha string Confirmation2FA string }
SessionNew - create new session
When force is set to true - all active sessions will be deleted prior to creating a new one if user reached session limit. Initial call to /sessin/new should always be performed with force set to false, to display special form, when sessions limit is reached. IVPN client apps have to set force to true only when customer clicks Log all other clients button.
type SessionNewResp ¶
type SessionNewResp struct { CommandBase APIStatus int APIErrorMessage string Session SessionResp Account preferences.AccountStatus RawResponse string }
SessionNewResp - information about created session (or error info)
type SessionResp ¶
type SessionResp struct { AccountID string Session string WgPublicKey string WgLocalIP string WgKeyGenerated int64 // Unix time WgKeysRegenInerval int64 // seconds }
SessionResp information about session
func CreateSessionResp ¶
func CreateSessionResp(s preferences.SessionStatus) SessionResp
CreateSessionResp create new session info object to send to client
type SetAlternateDNSResp ¶
type SetAlternateDNSResp struct { CommandBase IsSuccess bool ChangedDNS string }
SetAlternateDNSResp returns status of changing DNS
type SetAlternateDns ¶
type SetAlternateDns struct { CommandBase DNS string }
SetAlternateDns request to set custom DNS
type SetPreference ¶
type SetPreference struct { CommandBase Key string Value string }
SetPreference sets daemon configuration parameter
type VpnStateResp ¶
type VpnStateResp struct { CommandBase // TODO: remove 'State' field. Use only 'StateVal' State string StateVal vpn.State StateAdditionalInfo string }
VpnStateResp returns VPN connection state
type WGHost ¶
type WGHost struct { Host string PublicKey string `json:"public_key"` LocalIP string `json:"local_ip"` }
WGHost is a WireGuard host description
type WiFiAvailableNetworks ¶
type WiFiAvailableNetworks struct {
CommandBase
}
WiFiAvailableNetworks - get list of available WIFI networks
type WiFiAvailableNetworksResp ¶
type WiFiAvailableNetworksResp struct { CommandBase Networks []WiFiNetworkInfo }
WiFiAvailableNetworksResp - contains information about available WIFI networks
type WiFiCurrentNetwork ¶
type WiFiCurrentNetwork struct {
CommandBase
}
WiFiCurrentNetwork - request info about connected WIFI
type WiFiCurrentNetworkResp ¶
type WiFiCurrentNetworkResp struct { CommandBase SSID string IsInsecureNetwork bool }
WiFiCurrentNetworkResp contains the information about currently connected WIFI
type WiFiNetworkInfo ¶
type WiFiNetworkInfo struct {
SSID string
}
WiFiNetworkInfo - information about WIFI network
type WireGuardGenerateNewKeys ¶
type WireGuardGenerateNewKeys struct { CommandBase OnlyUpdateIfNecessary bool }
WireGuardGenerateNewKeys - generate WG keys
type WireGuardSetKeysRotationInterval ¶
type WireGuardSetKeysRotationInterval struct { CommandBase Interval int64 }
WireGuardSetKeysRotationInterval - change WG keys rotation interval