Documentation
¶
Overview ¶
conf is a package used to read configuration file (~/.lssh.conf).
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func GetNameList ¶
GetNameList return a list of server names from the Config structure.
Types ¶
type Config ¶
type Config struct {
Log LogConfig
Shell ShellConfig
Include map[string]IncludeConfig
Includes IncludesConfig
Common ServerConfig
Server map[string]ServerConfig
Proxy map[string]ProxyConfig
SSHConfig map[string]OpenSSHConfig
}
Config is Struct that stores the entire configuration file
type IncludeConfig ¶
type IncludeConfig struct {
Path string `toml:"path"`
}
IncludeConfig specify the configuration file to include (ServerConfig only).
type IncludesConfig ¶ added in v0.5.2
type IncludesConfig struct {
// example:
// path = [
// "~/.lssh.d/home.conf"
// ,"~/.lssh.d/cloud.conf"
// ]
Path []string `toml:"path"`
}
IncludesConfig specify the configuration file to include (ServerConfig only). Struct that can specify multiple files in array.
type LogConfig ¶
type LogConfig struct {
// Enable terminal logging.
Enable bool `toml:"enable"`
// Add a timestamp at the beginning of the terminal log line.
Timestamp bool `toml:"timestamp"`
// Specifies the directory for creating terminal logs.
Dir string `toml:"dirpath"`
}
LogConfig store the contents about the terminal log. The log file name is created in "YYYYmmdd_HHMMSS_servername.log" of the specified directory.
type OpenSSHConfig ¶ added in v0.6.1
type OpenSSHConfig struct {
Path string `toml:"path"` // This is preferred
Command string `toml:"command"`
ServerConfig
}
OpenSSHConfig is read OpenSSH configuration file.
type PortForward ¶ added in v0.6.1
type PortForward struct {
Mode string // L or R.
Local string // localhost:8080
Remote string // localhost:80
}
PortForward
type ProxyConfig ¶ added in v0.4.4
type ProxyConfig struct {
Addr string `toml:"addr"`
Port string `toml:"port"`
User string `toml:"user"`
Pass string `toml:"pass"`
Proxy string `toml:"proxy"`
ProxyType string `toml:"proxy_type"`
Note string `toml:"note"`
}
ProxyConfig is that stores Proxy server settings connected via http and socks5.
type ServerConfig ¶
type ServerConfig struct {
// Connect basic Setting
Addr string `toml:"addr"`
Port string `toml:"port"`
User string `toml:"user"`
// Connect auth Setting
Pass string `toml:"pass"`
Passes []string `toml:"passes"`
Key string `toml:"key"`
KeyCommand string `toml:"keycmd"`
KeyCommandPass string `toml:"keycmdpass"`
KeyPass string `toml:"keypass"`
Keys []string `toml:"keys"` // "keypath::passphrase"
Cert string `toml:"cert"`
CertKey string `toml:"certkey"`
CertKeyPass string `toml:"certkeypass"`
CertPKCS11 bool `toml:"certpkcs11"`
AgentAuth bool `toml:"agentauth"`
SSHAgentUse bool `toml:"ssh_agent"`
SSHAgentKeyPath []string `toml:"ssh_agent_key"` // "keypath::passphrase"
PKCS11Use bool `toml:"pkcs11"`
PKCS11Provider string `toml:"pkcs11provider"` // PKCS11 Provider PATH
PKCS11PIN string `toml:"pkcs11pin"` // PKCS11 PIN code
// pre | post command setting
PreCmd string `toml:"pre_cmd"`
PostCmd string `toml:"post_cmd"`
// proxy setting
ProxyType string `toml:"proxy_type"`
Proxy string `toml:"proxy"`
ProxyCommand string `toml:"proxy_cmd"` // OpenSSH type proxy setting
// local rcfile setting
LocalRcUse string `toml:"local_rc"` // yes|no (default: yes)
LocalRcPath []string `toml:"local_rc_file"`
LocalRcDecodeCmd string `toml:"local_rc_decode_cmd"`
// local/remote port forwarding setting
PortForwardMode string `toml:"port_forward"` // [`L`,`l`,`LOCAL`,`local`]|[`R`,`r`,`REMOTE`,`remote`]
PortForwardLocal string `toml:"port_forward_local"` // port forward (local). "host:port"
PortForwardRemote string `toml:"port_forward_remote"` // port forward (remote). "host:port"
// local/remote port forwarding settings
// {[`L`,`l`,`LOCAL`,`local`]|[`R`,`r`,`REMOTE`,`remote`]}:[localaddress]:[localport]:[remoteaddress]:[remoteport]
PortForwards []string `toml:"port_forwards"`
// local/remote Port Forwarding slice.
Forwards []*PortForward
// Dynamic Port Forwarding setting
DynamicPortForward string `toml:"dynamic_port_forward"` // ex.) "11080"
// x11 forwarding setting
X11 bool `toml:"x11"`
// Connection Timeout second
ConnectTimeout int `toml:"connect_timeout"`
// Server Alive
ServerAliveCountMax int `toml:"alive_max"`
ServerAliveCountInterval int `toml:"alive_interval"`
// note
Note string `toml:"note"`
}
ServerConfig Structure for holding SSH connection information
type ShellConfig ¶ added in v0.5.3
type ShellConfig struct {
// prompt
Prompt string `toml:"PROMPT"` // lssh shell prompt
OPrompt string `toml:"OPROMPT"` // lssh shell output prompt
// message,title etc...
Title string `toml:"title"`
// history file
HistoryFile string `toml:"histfile"`
// pre | post command setting
PreCmd string `toml:"pre_cmd"`
PostCmd string `toml:"post_cmd"`
}
ShellConfig Structure for storing lssh-shell settings.