Documentation
¶
Index ¶
- Constants
- Variables
- func Asset(name string) ([]byte, error)
- func AssetDir(name string) ([]string, error)
- func AssetInfo(name string) (os.FileInfo, error)
- func AssetNames() []string
- func Call(serviceMethod string, args interface{}, reply interface{}) error
- func GottyClient(skipTlsVerify bool, url string) error
- func Key2Str(args ...interface{}) string
- func MustAsset(name string) []byte
- func Parse()
- func RenderJson(w http.ResponseWriter, v interface{})
- func RestoreAsset(dir, name string) error
- func RestoreAssets(dir, name string) error
- func StringJoinSpace(args ...interface{}) string
- func SubSec(a, b int64) string
- type CallOptions
- type Cmd
- func (c *Cmd) Attach(arg CallOptions, key *ConnKey) error
- func (c *Cmd) Close(arg *CallOptions, keys *[]ConnKey) error
- func (c *Cmd) Exec(arg *CallOptions, info *Session_info) error
- func (c *Cmd) Play(arg *CallOptions, info *Session_info) error
- func (c *Cmd) Ps(arg *CallOptions, reply *[]Session_info) error
- type CmdOptions
- type ConnKey
- type ContextVars
- type Daemon
- type HtermPrefernces
- type InitMessage
- type Options
- type Session_info
- type Session_infos
- type Slist
Constants ¶
const ( Version = "0.0.12" //UNIX_SOCKET = "/var/run/gotty.sock" UNIX_SOCKET = "/tmp/gotty.sock" CONN_S_WAITING = "waiting" CONN_S_CONNECTED = "connected" CONN_S_CLOSED = "closed" CONN_M_EXEC = "exec" CONN_M_SHARE = "share" CONN_M_ATTACH = "attach" CONN_M_PLAY = "play" NULL_FILE = "/dev/null" )
Variables ¶
var ( DefaultOptions = Options{ Address: "", Port: "8080", EnableBasicAuth: false, Credential: "", DemoDir: "/var/lib/gotty/static", DemoEnable: true, DemoAddr: "127.0.0.0/8", EnableTLS: false, TLSCrtFile: "/etc/gotty/gotty.crt", TLSKeyFile: "/etc/gotty/gotty.key", EnableTLSClientAuth: false, TLSCACrtFile: "/etc/gotty/gotty.ca.crt", TitleFormat: "GoTTY - {{ .Command }} ({{ .Hostname }})", EnableReconnect: false, ReconnectTime: 10, Once: false, CloseSignal: 1, Preferences: HtermPrefernces{}, WaitingConnTime: 10, RecFileDir: "/var/lib/gotty", SkipTlsVerify: false, UnixSocket: "/tmp/gotty.sock", Debug: false, Resourses: "./resources", Chuser: "", Env: map[string]string{}, } DefaultCmdOptions = CmdOptions{ All: false, PermitWrite: false, PermitShare: false, PermitShareWrite: false, Rec: false, Repeat: true, Speed: 1.0, Addr: "127.0.0.0/8", MaxWait: 0, } )
var ( //session *Session CmdOpt CmdOptions GlobalOpt Options = DefaultOptions )
Functions ¶
func Asset ¶
Asset loads and returns the asset for the given name. It returns an error if the asset could not be found or could not be loaded.
func AssetDir ¶
AssetDir returns the file names below a certain directory embedded in the file by go-bindata. For example if you run go-bindata on data/... and data contains the following hierarchy:
data/
foo.txt
img/
a.png
b.png
then AssetDir("data") would return []string{"foo.txt", "img"} AssetDir("data/img") would return []string{"a.png", "b.png"} AssetDir("foo.txt") and AssetDir("notexist") would return an error AssetDir("") will return []string{"data"}.
func AssetInfo ¶
AssetInfo loads and returns the asset info for the given name. It returns an error if the asset could not be found or could not be loaded.
func GottyClient ¶
func MustAsset ¶
MustAsset is like Asset but panics when Asset would return an error. It simplifies safe initialization of global variables.
func RenderJson ¶
func RenderJson(w http.ResponseWriter, v interface{})
func RestoreAsset ¶
RestoreAsset restores an asset under the given directory
func RestoreAssets ¶
RestoreAssets restores an asset under the given directory recursively
func StringJoinSpace ¶
func StringJoinSpace(args ...interface{}) string
Types ¶
type CallOptions ¶
type CallOptions struct {
Opt CmdOptions
Args []string
}
type Cmd ¶
type Cmd int
func (*Cmd) Exec ¶
func (c *Cmd) Exec(arg *CallOptions, info *Session_info) error
func (*Cmd) Play ¶
func (c *Cmd) Play(arg *CallOptions, info *Session_info) error
func (*Cmd) Ps ¶
func (c *Cmd) Ps(arg *CallOptions, reply *[]Session_info) error
type CmdOptions ¶
type CmdOptions struct {
All bool `json:"all"`
PermitWrite bool `json:"write"`
Rec bool `json:"rec"`
Repeat bool `json:"repeat"`
MaxWait int64 `json:"maxwait"`
Speed float64 `json:"speed"`
Name string `json:"name"`
Addr string `json:"addr"`
Cmd string `json:"cmd"`
SName string `json:"sname"`
SAddr string `json:"saddr"`
RecId string `json:"recid"`
Action string `json:"action"`
}
type ContextVars ¶
type HtermPrefernces ¶
type HtermPrefernces struct {
AltGrMode *string `hcl:"alt_gr_mode"`
AltBackspaceIsMetaBackspace bool `hcl:"alt_backspace_is_meta_backspace"`
AltIsMeta bool `hcl:"alt_is_meta"`
AltSendsWhat string `hcl:"alt_sends_what"`
AudibleBellSound string `hcl:"audible_bell_sound"`
DesktopNotificationBell bool `hcl:"desktop_notification_bell"`
BackgroundColor string `hcl:"background_color"`
BackgroundImage string `hcl:"background_image"`
BackgroundSize string `hcl:"background_size"`
BackgroundPosition string `hcl:"background_position"`
BackspaceSendsBackspace bool `hcl:"backspace_sends_backspace"`
CharacterMapOverrides map[string]map[string]string `hcl:"character_map_overrides"`
CloseOnExit bool `hcl:"close_on_exit"`
CursorBlink bool `hcl:"cursor_blink"`
CursorBlinkCycle [2]int `hcl:"cursor_blink_cycle"`
CursorColor string `hcl:"cursor_color"`
ColorPaletteOverrides []*string `hcl:"color_palette_overrides"`
CopyOnSelect bool `hcl:"copy_on_select"`
UseDefaultWindowCopy bool `hcl:"use_default_window_copy"`
ClearSelectionAfterCopy bool `hcl:"clear_selection_after_copy"`
CtrlPlusMinusZeroZoom bool `hcl:"ctrl_plus_minus_zero_zoom"`
CtrlCCopy bool `hcl:"ctrl_c_copy"`
CtrlVPaste bool `hcl:"ctrl_v_paste"`
EastAsianAmbiguousAsTwoColumn bool `hcl:"east_asian_ambiguous_as_two_column"`
Enable8BitControl *bool `hcl:"enable_8_bit_control"`
EnableBold *bool `hcl:"enable_bold"`
EnableBoldAsBright bool `hcl:"enable_bold_as_bright"`
EnableClipboardNotice bool `hcl:"enable_clipboard_notice"`
EnableClipboardWrite bool `hcl:"enable_clipboard_write"`
EnableDec12 bool `hcl:"enable_dec12"`
Environment map[string]string `hcl:"environment"`
FontFamily string `hcl:"font_family"`
FontSize int `hcl:"font_size"`
FontSmoothing string `hcl:"font_smoothing"`
ForegroundColor string `hcl:"foreground_color"`
HomeKeysScroll bool `hcl:"home_keys_scroll"`
Keybindings map[string]string `hcl:"keybindings"`
MaxStringSequence int `hcl:"max_string_sequence"`
MediaKeysAreFkeys bool `hcl:"media_keys_are_fkeys"`
MetaSendsEscape bool `hcl:"meta_sends_escape"`
MousePasteButton *int `hcl:"mouse_paste_button"`
PageKeysScroll bool `hcl:"page_keys_scroll"`
PassAltNumber *bool `hcl:"pass_alt_number"`
PassCtrlNumber *bool `hcl:"pass_ctrl_number"`
PassMetaNumber *bool `hcl:"pass_meta_number"`
PassMetaV bool `hcl:"pass_meta_v"`
ReceiveEncoding string `hcl:"receive_encoding"`
ScrollOnKeystroke bool `hcl:"scroll_on_keystroke"`
ScrollOnOutput bool `hcl:"scroll_on_output"`
ScrollbarVisible bool `hcl:"scrollbar_visible"`
ScrollWheelMoveMultiplier int `hcl:"scroll_wheel_move_multiplier"`
SendEncoding string `hcl:"send_encoding"`
ShiftInsertPaste bool `hcl:"shift_insert_paste"`
UserCss string `hcl:"user_css"`
}
type InitMessage ¶
type Options ¶
type Options struct {
Address string `hcl:"address"`
Port string `hcl:"port"`
EnableBasicAuth bool `hcl:"enable_basic_auth"`
Credential string `hcl:"credential"`
DemoDir string `hcl:"demo_dir"`
DemoEnable bool `hcl:"demo_enable"`
DemoAddr string `hcl:"demo_addr"`
EnableTLS bool `hcl:"enable_tls"`
TLSCrtFile string `hcl:"tls_crt_file"`
TLSKeyFile string `hcl:"tls_key_file"`
EnableTLSClientAuth bool `hcl:"enable_tls_client_auth"`
TLSCACrtFile string `hcl:"tls_ca_crt_file"`
TitleFormat string `hcl:"title_format"`
EnableReconnect bool `hcl:"enable_reconnect"`
ReconnectTime int `hcl:"reconnect_time"`
Once bool `hcl:"once"`
PermitArguments bool `hcl:"permit_arguments"`
CloseSignal int `hcl:"close_signal"`
Preferences HtermPrefernces `hcl:"preferences"`
RawPreferences map[string]interface{} `hcl:"preferences"`
WaitingConnTime int `hcl:"waiting_conn_time"`
RecFileDir string `hcl:"rec_file_dir"`
SkipTlsVerify bool `hcl:"skip_tls_verify"`
UnixSocket string `hcl:"unix_socket"`
Debug bool `hcl:"debug"`
Resourses string `hcl:"resources"`
Chuser string `hcl:"chuser"`
Env map[string]string `hcl:"env"`
}
type Session_info ¶
type Session_infos ¶
type Session_infos []Session_info
func (Session_infos) Len ¶
func (slice Session_infos) Len() int
func (Session_infos) Less ¶
func (slice Session_infos) Less(i, j int) bool
func (Session_infos) Swap ¶
func (slice Session_infos) Swap(i, j int)