package module
Version: v0.0.0-...-f901d23 Latest Latest

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

Go to latest
Published: Aug 1, 2023 License: MPL-2.0 Imports: 5 Imported by: 0


xDSL Stats Parser

This is a library and application for reading basic xDSL stats, as well bitloading, SNR, QLN and Hlog data. It supports various kinds of modems (see below for details). The application includes a graphical user interface, but it can also be used via the command line, and a web interface is also available.

You just want to use the application?
Go here to download binaries for Linux, Windows and macOS.

You are a developer and want to build your own project based on the library?
Use the package 3e8.eu/go/dsl. Note that there is no stable release yet, so incompatible changes should be expected occasionally.


  • Getting started
    Basic information about how to use the application. Includes tips for troubleshooting if it doesn't work right away.

  • Supported devices
    List of supported device types, including some device-specific notes for configuration.

  • Configuration files
    Description of all available options. Especially useful for the web server which can only be fully configured via config file.

  • Building from source
    Instructions for compiling the code yourself. Usually not necessary if binaries for your platform are available.




View Source
const (
	OptionTypeString = iota


This section is empty.


func RegisterClient

func RegisterClient(identifier ClientType, newFunc func(config Config) (Client, error), desc ClientDesc)

RegisterClient registers a new device client. This function is not intended for use from external packages.


type AuthTypes

type AuthTypes int
const (
	AuthTypePassword AuthTypes = 1 << iota

type AuthenticationError

type AuthenticationError struct {
	Err      error
	WaitTime time.Duration

func (*AuthenticationError) Error

func (e *AuthenticationError) Error() string

func (*AuthenticationError) Unwrap

func (e *AuthenticationError) Unwrap() error

type Client

type Client interface {
	RawData() []byte
	Status() models.Status
	Bins() models.Bins
	UpdateData() error

func NewClient

func NewClient(config Config) (Client, error)

type ClientDesc

type ClientDesc struct {
	Title                        string
	RequiresUser                 Tristate
	SupportedAuthTypes           AuthTypes
	RequiresKnownHosts           bool
	SupportsEncryptionPassphrase bool
	Options                      map[string]Option

type ClientType

type ClientType string

func GetClientTypes

func GetClientTypes() []ClientType

func (ClientType) ClientDesc

func (t ClientType) ClientDesc() ClientDesc

func (ClientType) IsValid

func (t ClientType) IsValid() bool

type Config

type Config struct {
	Type                 ClientType
	Host                 string
	User                 string
	AuthPassword         PasswordCallback
	AuthPrivateKeys      PrivateKeysCallback
	EncryptionPassphrase EncryptionPassphraseCallback
	KnownHosts           string
	Options              map[string]string

type ConnectionError

type ConnectionError struct {
	Err error

func (*ConnectionError) Error

func (e *ConnectionError) Error() string

func (*ConnectionError) Unwrap

func (e *ConnectionError) Unwrap() error

type EncryptionPassphraseCallback

type EncryptionPassphraseCallback func() (string, error)

func EncryptionPassphrase

func EncryptionPassphrase(passphrase string) EncryptionPassphraseCallback

type Option

type Option struct {
	Description string
	Type        OptionType
	Values      []OptionValue

type OptionType

type OptionType int

type OptionValue

type OptionValue struct {
	Value string
	Title string

type PasswordCallback

type PasswordCallback func() (string, error)

func Password

func Password(password string) PasswordCallback

type PrivateKeysCallback

type PrivateKeysCallback struct {
	Keys       func() ([]string, error)
	Passphrase func(fingerprint string) (string, error)

func PrivateKey

func PrivateKey(key string, passphrase string) PrivateKeysCallback

type Tristate

type Tristate int
const (
	TristateMaybe Tristate = 0
	TristateNo    Tristate = -1
	TristateYes   Tristate = 1

Jump to

Keyboard shortcuts

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