network

package
v0.5.0 Latest Latest
Warning

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

Go to latest
Published: Nov 12, 2025 License: MIT Imports: 18 Imported by: 0

Documentation

Index

Constants

View Source
const (
	NmDeviceStateReasonWrongPassword        = 8
	NmDeviceStateReasonSupplicantTimeout    = 24
	NmDeviceStateReasonSupplicantFailed     = 25
	NmDeviceStateReasonSecretsRequired      = 7
	NmDeviceStateReasonNoSecrets            = 6
	NmDeviceStateReasonNoSsid               = 10
	NmDeviceStateReasonDhcpClientFailed     = 14
	NmDeviceStateReasonIpConfigUnavailable  = 18
	NmDeviceStateReasonSupplicantDisconnect = 23
	NmDeviceStateReasonCarrier              = 40
	NmDeviceStateReasonNewActivation        = 60
)

Variables

This section is empty.

Functions

func HandleRequest

func HandleRequest(conn net.Conn, req Request, manager *Manager)

Types

type Backend added in v0.2.3

type Backend interface {
	Initialize() error
	Close()

	GetWiFiEnabled() (bool, error)
	SetWiFiEnabled(enabled bool) error

	ScanWiFi() error
	GetWiFiNetworkDetails(ssid string) (*NetworkInfoResponse, error)

	ConnectWiFi(req ConnectionRequest) error
	DisconnectWiFi() error
	ForgetWiFiNetwork(ssid string) error
	SetWiFiAutoconnect(ssid string, autoconnect bool) error

	GetWiredConnections() ([]WiredConnection, error)
	GetWiredNetworkDetails(uuid string) (*WiredNetworkInfoResponse, error)
	ConnectEthernet() error
	DisconnectEthernet() error
	ActivateWiredConnection(uuid string) error

	ListVPNProfiles() ([]VPNProfile, error)
	ListActiveVPN() ([]VPNActive, error)
	ConnectVPN(uuidOrName string, singleActive bool) error
	DisconnectVPN(uuidOrName string) error
	DisconnectAllVPN() error
	ClearVPNCredentials(uuidOrName string) error

	GetCurrentState() (*BackendState, error)

	StartMonitoring(onStateChange func()) error
	StopMonitoring()

	GetPromptBroker() PromptBroker
	SetPromptBroker(broker PromptBroker) error
	SubmitCredentials(token string, secrets map[string]string, save bool) error
	CancelCredentials(token string) error
}

type BackendState added in v0.2.3

type BackendState struct {
	Backend                string
	NetworkStatus          NetworkStatus
	EthernetIP             string
	EthernetDevice         string
	EthernetConnected      bool
	EthernetConnectionUuid string
	WiFiIP                 string
	WiFiDevice             string
	WiFiConnected          bool
	WiFiEnabled            bool
	WiFiSSID               string
	WiFiBSSID              string
	WiFiSignal             uint8
	WiFiNetworks           []WiFiNetwork
	WiredConnections       []WiredConnection
	VPNProfiles            []VPNProfile
	VPNActive              []VPNActive
	IsConnecting           bool
	ConnectingSSID         string
	IsConnectingVPN        bool
	ConnectingVPNUUID      string
	LastError              string
}

type BackendType added in v0.2.3

type BackendType int
const (
	BackendNone BackendType = iota
	BackendNetworkManager
	BackendIwd
	BackendConnMan
	BackendNetworkd
)

type ConnectionPreference

type ConnectionPreference string
const (
	PreferenceAuto     ConnectionPreference = "auto"
	PreferenceWiFi     ConnectionPreference = "wifi"
	PreferenceEthernet ConnectionPreference = "ethernet"
)

type ConnectionRequest

type ConnectionRequest struct {
	SSID              string `json:"ssid"`
	Password          string `json:"password,omitempty"`
	Username          string `json:"username,omitempty"`
	AnonymousIdentity string `json:"anonymousIdentity,omitempty"`
	DomainSuffixMatch string `json:"domainSuffixMatch,omitempty"`
	Interactive       bool   `json:"interactive,omitempty"`
}

type ConnectionStateChecker added in v0.2.3

type ConnectionStateChecker interface {
	IsConnectingTo(ssid string) bool
}

type CredentialPrompt added in v0.2.0

type CredentialPrompt struct {
	Token          string   `json:"token"`
	Name           string   `json:"name"`
	SSID           string   `json:"ssid"`
	ConnType       string   `json:"connType"`
	VpnService     string   `json:"vpnService"`
	Setting        string   `json:"setting"`
	Fields         []string `json:"fields"`
	Hints          []string `json:"hints"`
	Reason         string   `json:"reason"`
	ConnectionId   string   `json:"connectionId"`
	ConnectionUuid string   `json:"connectionUuid"`
}

type DetectResult added in v0.2.3

type DetectResult struct {
	Backend      BackendType
	HasNM        bool
	HasIwd       bool
	HasConnMan   bool
	HasWpaSupp   bool
	HasNetworkd  bool
	ChosenReason string
}

func DetectNetworkStack added in v0.2.3

func DetectNetworkStack() (*DetectResult, error)

type EventType

type EventType string
const (
	EventStateChanged    EventType = "state_changed"
	EventNetworksUpdated EventType = "networks_updated"
	EventConnecting      EventType = "connecting"
	EventConnected       EventType = "connected"
	EventDisconnected    EventType = "disconnected"
	EventError           EventType = "error"
)

type HybridIwdNetworkdBackend added in v0.2.3

type HybridIwdNetworkdBackend struct {
	// contains filtered or unexported fields
}

func NewHybridIwdNetworkdBackend added in v0.2.3

func NewHybridIwdNetworkdBackend(w *IWDBackend, n *SystemdNetworkdBackend) (*HybridIwdNetworkdBackend, error)

func (*HybridIwdNetworkdBackend) ActivateWiredConnection added in v0.2.3

func (b *HybridIwdNetworkdBackend) ActivateWiredConnection(uuid string) error

func (*HybridIwdNetworkdBackend) CancelCredentials added in v0.2.3

func (b *HybridIwdNetworkdBackend) CancelCredentials(token string) error

func (*HybridIwdNetworkdBackend) ClearVPNCredentials added in v0.2.3

func (b *HybridIwdNetworkdBackend) ClearVPNCredentials(uuidOrName string) error

func (*HybridIwdNetworkdBackend) Close added in v0.2.3

func (b *HybridIwdNetworkdBackend) Close()

func (*HybridIwdNetworkdBackend) ConnectEthernet added in v0.2.3

func (b *HybridIwdNetworkdBackend) ConnectEthernet() error

func (*HybridIwdNetworkdBackend) ConnectVPN added in v0.2.3

func (b *HybridIwdNetworkdBackend) ConnectVPN(uuidOrName string, singleActive bool) error

func (*HybridIwdNetworkdBackend) ConnectWiFi added in v0.2.3

func (b *HybridIwdNetworkdBackend) ConnectWiFi(req ConnectionRequest) error

func (*HybridIwdNetworkdBackend) DisconnectAllVPN added in v0.2.3

func (b *HybridIwdNetworkdBackend) DisconnectAllVPN() error

func (*HybridIwdNetworkdBackend) DisconnectEthernet added in v0.2.3

func (b *HybridIwdNetworkdBackend) DisconnectEthernet() error

func (*HybridIwdNetworkdBackend) DisconnectVPN added in v0.2.3

func (b *HybridIwdNetworkdBackend) DisconnectVPN(uuidOrName string) error

func (*HybridIwdNetworkdBackend) DisconnectWiFi added in v0.2.3

func (b *HybridIwdNetworkdBackend) DisconnectWiFi() error

func (*HybridIwdNetworkdBackend) ForgetWiFiNetwork added in v0.2.3

func (b *HybridIwdNetworkdBackend) ForgetWiFiNetwork(ssid string) error

func (*HybridIwdNetworkdBackend) GetCurrentState added in v0.2.3

func (b *HybridIwdNetworkdBackend) GetCurrentState() (*BackendState, error)

func (*HybridIwdNetworkdBackend) GetPromptBroker added in v0.2.3

func (b *HybridIwdNetworkdBackend) GetPromptBroker() PromptBroker

func (*HybridIwdNetworkdBackend) GetWiFiEnabled added in v0.2.3

func (b *HybridIwdNetworkdBackend) GetWiFiEnabled() (bool, error)

func (*HybridIwdNetworkdBackend) GetWiFiNetworkDetails added in v0.2.3

func (b *HybridIwdNetworkdBackend) GetWiFiNetworkDetails(ssid string) (*NetworkInfoResponse, error)

func (*HybridIwdNetworkdBackend) GetWiredConnections added in v0.2.3

func (b *HybridIwdNetworkdBackend) GetWiredConnections() ([]WiredConnection, error)

func (*HybridIwdNetworkdBackend) GetWiredNetworkDetails added in v0.2.3

func (b *HybridIwdNetworkdBackend) GetWiredNetworkDetails(uuid string) (*WiredNetworkInfoResponse, error)

func (*HybridIwdNetworkdBackend) Initialize added in v0.2.3

func (b *HybridIwdNetworkdBackend) Initialize() error

func (*HybridIwdNetworkdBackend) ListActiveVPN added in v0.2.3

func (b *HybridIwdNetworkdBackend) ListActiveVPN() ([]VPNActive, error)

func (*HybridIwdNetworkdBackend) ListVPNProfiles added in v0.2.3

func (b *HybridIwdNetworkdBackend) ListVPNProfiles() ([]VPNProfile, error)

func (*HybridIwdNetworkdBackend) ScanWiFi added in v0.2.3

func (b *HybridIwdNetworkdBackend) ScanWiFi() error

func (*HybridIwdNetworkdBackend) SetPromptBroker added in v0.2.3

func (b *HybridIwdNetworkdBackend) SetPromptBroker(broker PromptBroker) error

func (*HybridIwdNetworkdBackend) SetWiFiAutoconnect added in v0.3.3

func (b *HybridIwdNetworkdBackend) SetWiFiAutoconnect(ssid string, autoconnect bool) error

func (*HybridIwdNetworkdBackend) SetWiFiEnabled added in v0.2.3

func (b *HybridIwdNetworkdBackend) SetWiFiEnabled(enabled bool) error

func (*HybridIwdNetworkdBackend) StartMonitoring added in v0.2.3

func (b *HybridIwdNetworkdBackend) StartMonitoring(onStateChange func()) error

func (*HybridIwdNetworkdBackend) StopMonitoring added in v0.2.3

func (b *HybridIwdNetworkdBackend) StopMonitoring()

func (*HybridIwdNetworkdBackend) SubmitCredentials added in v0.2.3

func (b *HybridIwdNetworkdBackend) SubmitCredentials(token string, secrets map[string]string, save bool) error

type IWDAgent added in v0.2.3

type IWDAgent struct {
	// contains filtered or unexported fields
}

func NewIWDAgent added in v0.2.3

func NewIWDAgent(conn *dbus.Conn, prompts PromptBroker) (*IWDAgent, error)

func (*IWDAgent) Cancel added in v0.2.3

func (a *IWDAgent) Cancel(reason string) *dbus.Error

func (*IWDAgent) Close added in v0.2.3

func (a *IWDAgent) Close()

func (*IWDAgent) Introspect added in v0.2.3

func (a *IWDAgent) Introspect() (string, *dbus.Error)

func (*IWDAgent) Release added in v0.2.3

func (a *IWDAgent) Release() *dbus.Error

func (*IWDAgent) RequestPassphrase added in v0.2.3

func (a *IWDAgent) RequestPassphrase(network dbus.ObjectPath) (string, *dbus.Error)

func (*IWDAgent) RequestPrivateKeyPassphrase added in v0.2.3

func (a *IWDAgent) RequestPrivateKeyPassphrase(network dbus.ObjectPath) (string, *dbus.Error)

func (*IWDAgent) RequestUserNameAndPassword added in v0.2.3

func (a *IWDAgent) RequestUserNameAndPassword(network dbus.ObjectPath) (string, string, *dbus.Error)

func (*IWDAgent) RequestUserPassword added in v0.2.3

func (a *IWDAgent) RequestUserPassword(network dbus.ObjectPath, user string) (string, *dbus.Error)

func (*IWDAgent) SetStateChecker added in v0.2.3

func (a *IWDAgent) SetStateChecker(checker ConnectionStateChecker)

type IWDBackend added in v0.2.3

type IWDBackend struct {
	// contains filtered or unexported fields
}

func NewIWDBackend added in v0.2.3

func NewIWDBackend() (*IWDBackend, error)

func (*IWDBackend) ActivateWiredConnection added in v0.2.3

func (b *IWDBackend) ActivateWiredConnection(uuid string) error

func (*IWDBackend) CancelCredentials added in v0.2.3

func (b *IWDBackend) CancelCredentials(token string) error

func (*IWDBackend) ClearVPNCredentials added in v0.2.3

func (b *IWDBackend) ClearVPNCredentials(uuidOrName string) error

func (*IWDBackend) Close added in v0.2.3

func (b *IWDBackend) Close()

func (*IWDBackend) ConnectEthernet added in v0.2.3

func (b *IWDBackend) ConnectEthernet() error

func (*IWDBackend) ConnectVPN added in v0.2.3

func (b *IWDBackend) ConnectVPN(uuidOrName string, singleActive bool) error

func (*IWDBackend) ConnectWiFi added in v0.2.3

func (b *IWDBackend) ConnectWiFi(req ConnectionRequest) error

func (*IWDBackend) DisconnectAllVPN added in v0.2.3

func (b *IWDBackend) DisconnectAllVPN() error

func (*IWDBackend) DisconnectEthernet added in v0.2.3

func (b *IWDBackend) DisconnectEthernet() error

func (*IWDBackend) DisconnectVPN added in v0.2.3

func (b *IWDBackend) DisconnectVPN(uuidOrName string) error

func (*IWDBackend) DisconnectWiFi added in v0.2.3

func (b *IWDBackend) DisconnectWiFi() error

func (*IWDBackend) ForgetWiFiNetwork added in v0.2.3

func (b *IWDBackend) ForgetWiFiNetwork(ssid string) error

func (*IWDBackend) GetCurrentState added in v0.2.3

func (b *IWDBackend) GetCurrentState() (*BackendState, error)

func (*IWDBackend) GetPromptBroker added in v0.2.3

func (b *IWDBackend) GetPromptBroker() PromptBroker

func (*IWDBackend) GetWiFiEnabled added in v0.2.3

func (b *IWDBackend) GetWiFiEnabled() (bool, error)

func (*IWDBackend) GetWiFiNetworkDetails added in v0.2.3

func (b *IWDBackend) GetWiFiNetworkDetails(ssid string) (*NetworkInfoResponse, error)

func (*IWDBackend) GetWiredConnections added in v0.2.3

func (b *IWDBackend) GetWiredConnections() ([]WiredConnection, error)

func (*IWDBackend) GetWiredNetworkDetails added in v0.2.3

func (b *IWDBackend) GetWiredNetworkDetails(uuid string) (*WiredNetworkInfoResponse, error)

func (*IWDBackend) Initialize added in v0.2.3

func (b *IWDBackend) Initialize() error

func (*IWDBackend) ListActiveVPN added in v0.2.3

func (b *IWDBackend) ListActiveVPN() ([]VPNActive, error)

func (*IWDBackend) ListVPNProfiles added in v0.2.3

func (b *IWDBackend) ListVPNProfiles() ([]VPNProfile, error)

func (*IWDBackend) MarkIPConfigSeen added in v0.2.3

func (b *IWDBackend) MarkIPConfigSeen()

func (*IWDBackend) OnPromptRetry added in v0.2.3

func (b *IWDBackend) OnPromptRetry(ssid string)

func (*IWDBackend) OnUserCanceledPrompt added in v0.2.3

func (b *IWDBackend) OnUserCanceledPrompt()

func (*IWDBackend) ScanWiFi added in v0.2.3

func (b *IWDBackend) ScanWiFi() error

func (*IWDBackend) SetPromptBroker added in v0.2.3

func (b *IWDBackend) SetPromptBroker(broker PromptBroker) error

func (*IWDBackend) SetWiFiAutoconnect added in v0.3.3

func (b *IWDBackend) SetWiFiAutoconnect(ssid string, autoconnect bool) error

func (*IWDBackend) SetWiFiEnabled added in v0.2.3

func (b *IWDBackend) SetWiFiEnabled(enabled bool) error

func (*IWDBackend) StartMonitoring added in v0.2.3

func (b *IWDBackend) StartMonitoring(onStateChange func()) error

func (*IWDBackend) StopMonitoring added in v0.2.3

func (b *IWDBackend) StopMonitoring()

func (*IWDBackend) SubmitCredentials added in v0.2.3

func (b *IWDBackend) SubmitCredentials(token string, secrets map[string]string, save bool) error

type Manager

type Manager struct {
	// contains filtered or unexported fields
}

func NewManager

func NewManager() (*Manager, error)

func NewTestManager added in v0.2.3

func NewTestManager(backend Backend, state *NetworkState) *Manager

NewTestManager creates a Manager for testing with a provided backend

func (*Manager) CancelCredentials added in v0.2.0

func (m *Manager) CancelCredentials(token string) error

func (*Manager) ClearVPNCredentials added in v0.2.3

func (m *Manager) ClearVPNCredentials(uuidOrName string) error

func (*Manager) Close

func (m *Manager) Close()

func (*Manager) ConnectEthernet

func (m *Manager) ConnectEthernet() error

func (*Manager) ConnectVPN added in v0.2.3

func (m *Manager) ConnectVPN(uuidOrName string, singleActive bool) error

func (*Manager) ConnectWiFi

func (m *Manager) ConnectWiFi(req ConnectionRequest) error

func (*Manager) DisableWiFi

func (m *Manager) DisableWiFi() error

func (*Manager) DisconnectAllVPN added in v0.2.3

func (m *Manager) DisconnectAllVPN() error

func (*Manager) DisconnectEthernet

func (m *Manager) DisconnectEthernet() error

func (*Manager) DisconnectVPN added in v0.2.3

func (m *Manager) DisconnectVPN(uuidOrName string) error

func (*Manager) DisconnectWiFi

func (m *Manager) DisconnectWiFi() error

func (*Manager) EnableWiFi

func (m *Manager) EnableWiFi() error

func (*Manager) ForgetWiFiNetwork

func (m *Manager) ForgetWiFiNetwork(ssid string) error

func (*Manager) GetConnectionPreference

func (m *Manager) GetConnectionPreference() ConnectionPreference

func (*Manager) GetNetworkInfo

func (m *Manager) GetNetworkInfo(ssid string) (*WiFiNetwork, error)

func (*Manager) GetNetworkInfoDetailed

func (m *Manager) GetNetworkInfoDetailed(ssid string) (*NetworkInfoResponse, error)

func (*Manager) GetPromptBroker added in v0.2.0

func (m *Manager) GetPromptBroker() PromptBroker

func (*Manager) GetState

func (m *Manager) GetState() NetworkState

func (*Manager) GetWiFiNetworks

func (m *Manager) GetWiFiNetworks() []WiFiNetwork

func (*Manager) GetWiredConfigs added in v0.1.17

func (m *Manager) GetWiredConfigs() []WiredConnection

func (*Manager) GetWiredNetworkInfoDetailed added in v0.1.17

func (m *Manager) GetWiredNetworkInfoDetailed(uuid string) (*WiredNetworkInfoResponse, error)

func (*Manager) ListActiveVPN added in v0.2.3

func (m *Manager) ListActiveVPN() ([]VPNActive, error)

func (*Manager) ListVPNProfiles added in v0.2.3

func (m *Manager) ListVPNProfiles() ([]VPNProfile, error)

func (*Manager) ScanWiFi

func (m *Manager) ScanWiFi() error

func (*Manager) SetConnectionPreference

func (m *Manager) SetConnectionPreference(pref ConnectionPreference) error

func (*Manager) SetPromptBroker added in v0.2.0

func (m *Manager) SetPromptBroker(broker PromptBroker) error

func (*Manager) SetWiFiAutoconnect added in v0.3.3

func (m *Manager) SetWiFiAutoconnect(ssid string, autoconnect bool) error

func (*Manager) SubmitCredentials added in v0.2.0

func (m *Manager) SubmitCredentials(token string, secrets map[string]string, save bool) error

func (*Manager) Subscribe

func (m *Manager) Subscribe(id string) chan NetworkState

func (*Manager) SubscribeCredentials added in v0.2.0

func (m *Manager) SubscribeCredentials(id string) chan CredentialPrompt

func (*Manager) ToggleWiFi

func (m *Manager) ToggleWiFi() error

func (*Manager) Unsubscribe

func (m *Manager) Unsubscribe(id string)

func (*Manager) UnsubscribeCredentials added in v0.2.0

func (m *Manager) UnsubscribeCredentials(id string)

func (*Manager) WasRecentlyFailed added in v0.2.0

func (m *Manager) WasRecentlyFailed(ssid string) bool

type NetworkEvent

type NetworkEvent struct {
	Type EventType    `json:"type"`
	Data NetworkState `json:"data"`
}

type NetworkInfoResponse

type NetworkInfoResponse struct {
	SSID  string        `json:"ssid"`
	Bands []WiFiNetwork `json:"bands"`
}

type NetworkManagerBackend added in v0.2.3

type NetworkManagerBackend struct {
	// contains filtered or unexported fields
}

func NewNetworkManagerBackend added in v0.2.3

func NewNetworkManagerBackend(nmConn ...gonetworkmanager.NetworkManager) (*NetworkManagerBackend, error)

func (*NetworkManagerBackend) ActivateWiredConnection added in v0.2.3

func (b *NetworkManagerBackend) ActivateWiredConnection(uuid string) error

func (*NetworkManagerBackend) CancelCredentials added in v0.2.3

func (b *NetworkManagerBackend) CancelCredentials(token string) error

func (*NetworkManagerBackend) ClearVPNCredentials added in v0.2.3

func (b *NetworkManagerBackend) ClearVPNCredentials(uuidOrName string) error

func (*NetworkManagerBackend) Close added in v0.2.3

func (b *NetworkManagerBackend) Close()

func (*NetworkManagerBackend) ConnectEthernet added in v0.2.3

func (b *NetworkManagerBackend) ConnectEthernet() error

func (*NetworkManagerBackend) ConnectVPN added in v0.2.3

func (b *NetworkManagerBackend) ConnectVPN(uuidOrName string, singleActive bool) error

func (*NetworkManagerBackend) ConnectWiFi added in v0.2.3

func (b *NetworkManagerBackend) ConnectWiFi(req ConnectionRequest) error

func (*NetworkManagerBackend) DisconnectAllVPN added in v0.2.3

func (b *NetworkManagerBackend) DisconnectAllVPN() error

func (*NetworkManagerBackend) DisconnectEthernet added in v0.2.3

func (b *NetworkManagerBackend) DisconnectEthernet() error

func (*NetworkManagerBackend) DisconnectVPN added in v0.2.3

func (b *NetworkManagerBackend) DisconnectVPN(uuidOrName string) error

func (*NetworkManagerBackend) DisconnectWiFi added in v0.2.3

func (b *NetworkManagerBackend) DisconnectWiFi() error

func (*NetworkManagerBackend) ForgetWiFiNetwork added in v0.2.3

func (b *NetworkManagerBackend) ForgetWiFiNetwork(ssid string) error

func (*NetworkManagerBackend) GetCurrentState added in v0.2.3

func (b *NetworkManagerBackend) GetCurrentState() (*BackendState, error)

func (*NetworkManagerBackend) GetPromptBroker added in v0.2.3

func (b *NetworkManagerBackend) GetPromptBroker() PromptBroker

func (*NetworkManagerBackend) GetWiFiEnabled added in v0.2.3

func (b *NetworkManagerBackend) GetWiFiEnabled() (bool, error)

func (*NetworkManagerBackend) GetWiFiNetworkDetails added in v0.2.3

func (b *NetworkManagerBackend) GetWiFiNetworkDetails(ssid string) (*NetworkInfoResponse, error)

func (*NetworkManagerBackend) GetWiredConnections added in v0.2.3

func (b *NetworkManagerBackend) GetWiredConnections() ([]WiredConnection, error)

func (*NetworkManagerBackend) GetWiredNetworkDetails added in v0.2.3

func (b *NetworkManagerBackend) GetWiredNetworkDetails(uuid string) (*WiredNetworkInfoResponse, error)

func (*NetworkManagerBackend) Initialize added in v0.2.3

func (b *NetworkManagerBackend) Initialize() error

func (*NetworkManagerBackend) IsConnectingTo added in v0.2.3

func (b *NetworkManagerBackend) IsConnectingTo(ssid string) bool

func (*NetworkManagerBackend) ListActiveVPN added in v0.2.3

func (b *NetworkManagerBackend) ListActiveVPN() ([]VPNActive, error)

func (*NetworkManagerBackend) ListVPNProfiles added in v0.2.3

func (b *NetworkManagerBackend) ListVPNProfiles() ([]VPNProfile, error)

func (*NetworkManagerBackend) ScanWiFi added in v0.2.3

func (b *NetworkManagerBackend) ScanWiFi() error

func (*NetworkManagerBackend) SetPromptBroker added in v0.2.3

func (b *NetworkManagerBackend) SetPromptBroker(broker PromptBroker) error

func (*NetworkManagerBackend) SetWiFiAutoconnect added in v0.3.3

func (b *NetworkManagerBackend) SetWiFiAutoconnect(ssid string, autoconnect bool) error

func (*NetworkManagerBackend) SetWiFiEnabled added in v0.2.3

func (b *NetworkManagerBackend) SetWiFiEnabled(enabled bool) error

func (*NetworkManagerBackend) StartMonitoring added in v0.2.3

func (b *NetworkManagerBackend) StartMonitoring(onStateChange func()) error

func (*NetworkManagerBackend) StopMonitoring added in v0.2.3

func (b *NetworkManagerBackend) StopMonitoring()

func (*NetworkManagerBackend) SubmitCredentials added in v0.2.3

func (b *NetworkManagerBackend) SubmitCredentials(token string, secrets map[string]string, save bool) error

type NetworkState

type NetworkState struct {
	Backend                string               `json:"backend"`
	NetworkStatus          NetworkStatus        `json:"networkStatus"`
	Preference             ConnectionPreference `json:"preference"`
	EthernetIP             string               `json:"ethernetIP"`
	EthernetDevice         string               `json:"ethernetDevice"`
	EthernetConnected      bool                 `json:"ethernetConnected"`
	EthernetConnectionUuid string               `json:"ethernetConnectionUuid"`
	WiFiIP                 string               `json:"wifiIP"`
	WiFiDevice             string               `json:"wifiDevice"`
	WiFiConnected          bool                 `json:"wifiConnected"`
	WiFiEnabled            bool                 `json:"wifiEnabled"`
	WiFiSSID               string               `json:"wifiSSID"`
	WiFiBSSID              string               `json:"wifiBSSID"`
	WiFiSignal             uint8                `json:"wifiSignal"`
	WiFiNetworks           []WiFiNetwork        `json:"wifiNetworks"`
	WiredConnections       []WiredConnection    `json:"wiredConnections"`
	VPNProfiles            []VPNProfile         `json:"vpnProfiles"`
	VPNActive              []VPNActive          `json:"vpnActive"`
	IsConnecting           bool                 `json:"isConnecting"`
	ConnectingSSID         string               `json:"connectingSSID"`
	LastError              string               `json:"lastError"`
}

type NetworkStatus

type NetworkStatus string
const (
	StatusDisconnected NetworkStatus = "disconnected"
	StatusEthernet     NetworkStatus = "ethernet"
	StatusWiFi         NetworkStatus = "wifi"
	StatusVPN          NetworkStatus = "vpn"
)

type PriorityUpdate

type PriorityUpdate struct {
	Preference ConnectionPreference `json:"preference"`
}

type PromptBroker added in v0.2.0

type PromptBroker interface {
	Ask(ctx context.Context, req PromptRequest) (token string, err error)
	Wait(ctx context.Context, token string) (PromptReply, error)
	Resolve(token string, reply PromptReply) error
	Cancel(path string, setting string) error
}

func NewSubscriptionBroker added in v0.2.0

func NewSubscriptionBroker(broadcastPrompt func(CredentialPrompt)) PromptBroker

type PromptReply added in v0.2.0

type PromptReply struct {
	Secrets map[string]string `json:"secrets"`
	Save    bool              `json:"save"`
	Cancel  bool              `json:"cancel"`
}

type PromptRequest added in v0.2.0

type PromptRequest struct {
	Name           string   `json:"name"`
	SSID           string   `json:"ssid"`
	ConnType       string   `json:"connType"`
	VpnService     string   `json:"vpnService"`
	SettingName    string   `json:"setting"`
	Fields         []string `json:"fields"`
	Hints          []string `json:"hints"`
	Reason         string   `json:"reason"`
	ConnectionId   string   `json:"connectionId"`
	ConnectionUuid string   `json:"connectionUuid"`
	ConnectionPath string   `json:"connectionPath"`
}

type Request

type Request struct {
	ID     int                    `json:"id,omitempty"`
	Method string                 `json:"method"`
	Params map[string]interface{} `json:"params,omitempty"`
}

type SecretAgent added in v0.2.0

type SecretAgent struct {
	// contains filtered or unexported fields
}

func NewSecretAgent added in v0.2.0

func NewSecretAgent(prompts PromptBroker, manager *Manager, backend *NetworkManagerBackend) (*SecretAgent, error)

func (*SecretAgent) CancelGetSecrets added in v0.2.0

func (a *SecretAgent) CancelGetSecrets(path dbus.ObjectPath, settingName string) *dbus.Error

func (*SecretAgent) Close added in v0.2.0

func (a *SecretAgent) Close()

func (*SecretAgent) DeleteSecrets added in v0.2.0

func (a *SecretAgent) DeleteSecrets(conn map[string]nmVariantMap, path dbus.ObjectPath) *dbus.Error

func (*SecretAgent) DeleteSecrets2 added in v0.2.0

func (a *SecretAgent) DeleteSecrets2(path dbus.ObjectPath, setting string) *dbus.Error

func (*SecretAgent) GetSecrets added in v0.2.0

func (a *SecretAgent) GetSecrets(
	conn map[string]nmVariantMap,
	path dbus.ObjectPath,
	settingName string,
	hints []string,
	flags uint32,
) (nmSettingMap, *dbus.Error)

func (*SecretAgent) Introspect added in v0.2.0

func (a *SecretAgent) Introspect() (string, *dbus.Error)

type SubscriptionBroker added in v0.2.0

type SubscriptionBroker struct {
	// contains filtered or unexported fields
}

func (*SubscriptionBroker) Ask added in v0.2.0

func (*SubscriptionBroker) Cancel added in v0.2.5

func (b *SubscriptionBroker) Cancel(path string, setting string) error

func (*SubscriptionBroker) Resolve added in v0.2.0

func (b *SubscriptionBroker) Resolve(token string, reply PromptReply) error

func (*SubscriptionBroker) Wait added in v0.2.0

func (b *SubscriptionBroker) Wait(ctx context.Context, token string) (PromptReply, error)

type SuccessResult

type SuccessResult struct {
	Success bool   `json:"success"`
	Message string `json:"message"`
}

type SystemdNetworkdBackend added in v0.2.3

type SystemdNetworkdBackend struct {
	// contains filtered or unexported fields
}

func NewSystemdNetworkdBackend added in v0.2.3

func NewSystemdNetworkdBackend() (*SystemdNetworkdBackend, error)

func (*SystemdNetworkdBackend) ActivateWiredConnection added in v0.2.3

func (b *SystemdNetworkdBackend) ActivateWiredConnection(id string) error

func (*SystemdNetworkdBackend) CancelCredentials added in v0.2.3

func (b *SystemdNetworkdBackend) CancelCredentials(token string) error

func (*SystemdNetworkdBackend) ClearVPNCredentials added in v0.2.3

func (b *SystemdNetworkdBackend) ClearVPNCredentials(uuidOrName string) error

func (*SystemdNetworkdBackend) Close added in v0.2.3

func (b *SystemdNetworkdBackend) Close()

func (*SystemdNetworkdBackend) ConnectEthernet added in v0.2.3

func (b *SystemdNetworkdBackend) ConnectEthernet() error

func (*SystemdNetworkdBackend) ConnectVPN added in v0.2.3

func (b *SystemdNetworkdBackend) ConnectVPN(uuidOrName string, singleActive bool) error

func (*SystemdNetworkdBackend) ConnectWiFi added in v0.2.3

func (b *SystemdNetworkdBackend) ConnectWiFi(req ConnectionRequest) error

func (*SystemdNetworkdBackend) DisconnectAllVPN added in v0.2.3

func (b *SystemdNetworkdBackend) DisconnectAllVPN() error

func (*SystemdNetworkdBackend) DisconnectEthernet added in v0.2.3

func (b *SystemdNetworkdBackend) DisconnectEthernet() error

func (*SystemdNetworkdBackend) DisconnectVPN added in v0.2.3

func (b *SystemdNetworkdBackend) DisconnectVPN(uuidOrName string) error

func (*SystemdNetworkdBackend) DisconnectWiFi added in v0.2.3

func (b *SystemdNetworkdBackend) DisconnectWiFi() error

func (*SystemdNetworkdBackend) EnsureDhcpUp added in v0.2.3

func (b *SystemdNetworkdBackend) EnsureDhcpUp(ifname string) error

func (*SystemdNetworkdBackend) ForgetWiFiNetwork added in v0.2.3

func (b *SystemdNetworkdBackend) ForgetWiFiNetwork(ssid string) error

func (*SystemdNetworkdBackend) GetCurrentState added in v0.2.3

func (b *SystemdNetworkdBackend) GetCurrentState() (*BackendState, error)

func (*SystemdNetworkdBackend) GetPromptBroker added in v0.2.3

func (b *SystemdNetworkdBackend) GetPromptBroker() PromptBroker

func (*SystemdNetworkdBackend) GetWiFiEnabled added in v0.2.3

func (b *SystemdNetworkdBackend) GetWiFiEnabled() (bool, error)

func (*SystemdNetworkdBackend) GetWiFiNetworkDetails added in v0.2.3

func (b *SystemdNetworkdBackend) GetWiFiNetworkDetails(ssid string) (*NetworkInfoResponse, error)

func (*SystemdNetworkdBackend) GetWiredConnections added in v0.2.3

func (b *SystemdNetworkdBackend) GetWiredConnections() ([]WiredConnection, error)

func (*SystemdNetworkdBackend) GetWiredNetworkDetails added in v0.2.3

func (b *SystemdNetworkdBackend) GetWiredNetworkDetails(id string) (*WiredNetworkInfoResponse, error)

func (*SystemdNetworkdBackend) Initialize added in v0.2.3

func (b *SystemdNetworkdBackend) Initialize() error

func (*SystemdNetworkdBackend) ListActiveVPN added in v0.2.3

func (b *SystemdNetworkdBackend) ListActiveVPN() ([]VPNActive, error)

func (*SystemdNetworkdBackend) ListVPNProfiles added in v0.2.3

func (b *SystemdNetworkdBackend) ListVPNProfiles() ([]VPNProfile, error)

func (*SystemdNetworkdBackend) ScanWiFi added in v0.2.3

func (b *SystemdNetworkdBackend) ScanWiFi() error

func (*SystemdNetworkdBackend) SetPromptBroker added in v0.2.3

func (b *SystemdNetworkdBackend) SetPromptBroker(broker PromptBroker) error

func (*SystemdNetworkdBackend) SetWiFiAutoconnect added in v0.3.3

func (b *SystemdNetworkdBackend) SetWiFiAutoconnect(ssid string, autoconnect bool) error

func (*SystemdNetworkdBackend) SetWiFiEnabled added in v0.2.3

func (b *SystemdNetworkdBackend) SetWiFiEnabled(enabled bool) error

func (*SystemdNetworkdBackend) StartMonitoring added in v0.2.3

func (b *SystemdNetworkdBackend) StartMonitoring(onStateChange func()) error

func (*SystemdNetworkdBackend) StopMonitoring added in v0.2.3

func (b *SystemdNetworkdBackend) StopMonitoring()

func (*SystemdNetworkdBackend) SubmitCredentials added in v0.2.3

func (b *SystemdNetworkdBackend) SubmitCredentials(token string, secrets map[string]string, save bool) error

type VPNActive added in v0.2.3

type VPNActive struct {
	Name   string `json:"name"`
	UUID   string `json:"uuid"`
	Device string `json:"device,omitempty"`
	State  string `json:"state,omitempty"`
	Type   string `json:"type"`
	Plugin string `json:"serviceType"`
}

type VPNProfile added in v0.2.3

type VPNProfile struct {
	Name        string `json:"name"`
	UUID        string `json:"uuid"`
	Type        string `json:"type"`
	ServiceType string `json:"serviceType"`
}

type VPNState added in v0.2.3

type VPNState struct {
	Profiles []VPNProfile `json:"profiles"`
	Active   []VPNActive  `json:"activeConnections"`
}

type WiFiNetwork

type WiFiNetwork struct {
	SSID        string `json:"ssid"`
	BSSID       string `json:"bssid"`
	Signal      uint8  `json:"signal"`
	Secured     bool   `json:"secured"`
	Enterprise  bool   `json:"enterprise"`
	Connected   bool   `json:"connected"`
	Saved       bool   `json:"saved"`
	Autoconnect bool   `json:"autoconnect"`
	Frequency   uint32 `json:"frequency"`
	Mode        string `json:"mode"`
	Rate        uint32 `json:"rate"`
	Channel     uint32 `json:"channel"`
}

type WiredConnection added in v0.1.17

type WiredConnection struct {
	Path     dbus.ObjectPath `json:"path"`
	ID       string          `json:"id"`
	UUID     string          `json:"uuid"`
	Type     string          `json:"type"`
	IsActive bool            `json:"isActive"`
}

type WiredIPConfig added in v0.1.17

type WiredIPConfig struct {
	IPs     []string `json:"ips"`
	Gateway string   `json:"gateway"`
	DNS     string   `json:"dns"`
}

type WiredNetworkInfoResponse added in v0.1.17

type WiredNetworkInfoResponse struct {
	UUID   string        `json:"uuid"`
	IFace  string        `json:"iface"`
	Driver string        `json:"driver"`
	HwAddr string        `json:"hwAddr"`
	Speed  string        `json:"speed"`
	IPv4   WiredIPConfig `json:"IPv4s"`
	IPv6   WiredIPConfig `json:"IPv6s"`
}

Jump to

Keyboard shortcuts

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