client

package
v0.21.0 Latest Latest
Warning

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

Go to latest
Published: Sep 4, 2020 License: GPL-3.0 Imports: 9 Imported by: 1

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Client

type Client struct {
	Config
	// contains filtered or unexported fields
}

Client represents OpenVPN client.

func New

func New(config Config) *Client

New creates new OpenVPN client.

func (*Client) Connect

func (c *Client) Connect() (err error)

Connect connects.

func (*Client) Disconnect

func (c *Client) Disconnect() error

Disconnect closes connection, if there is no connection it does nothing.

func (*Client) IsConnected

func (c *Client) IsConnected() bool

IsConnected IsConnected.

func (*Client) LoadStats added in v0.20.0

func (c *Client) LoadStats() (*LoadStats, error)

LoadStats LoadStats.

func (*Client) Users added in v0.20.0

func (c *Client) Users() (Users, error)

Users Users.

func (*Client) Version added in v0.20.0

func (c *Client) Version() (*Version, error)

Version Version.

type Config

type Config struct {
	Address        string
	ReuseRecord    bool
	ConnectTimeout time.Duration
	ReadTimeout    time.Duration
	WriteTimeout   time.Duration
}

Config represents OpenVPN client config.

type LoadStats

type LoadStats struct {
	NumOfClients int64
	BytesIn      int64
	BytesOut     int64
}

type User

type User struct {
	CommonName     string
	RealAddress    string
	VirtualAddress string
	BytesReceived  int64
	BytesSent      int64
	ConnectedSince int64
	Username       string
}

type Users

type Users []User

type Version

type Version struct {
	Major      int64
	Minor      int64
	Patch      int64
	Management int64
}

Jump to

Keyboard shortcuts

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