Documentation ¶
Index ¶
- Constants
- Variables
- func NewBroadcaster() *broadcaster
- func NewElfinderFileInfo(id, dirPath string, originFileInfo os.FileInfo) elfinder.FileDir
- func ParseAcceptLanguageCode(language string) string
- func TrimPrefix(path string) string
- type Client
- func (c *Client) Close() (err error)
- func (c *Client) Context() context.Context
- func (c *Client) HandleRoomEvent(event string, roomMsg *exchange.RoomMessage)
- func (c *Client) ID() string
- func (c *Client) LoginFrom() string
- func (c *Client) Pty() ssh.Pty
- func (c *Client) Read(p []byte) (n int, err error)
- func (c *Client) RemoteAddr() string
- func (c *Client) SetWinSize(size ssh.Window)
- func (c *Client) WinCh() <-chan ssh.Window
- func (c *Client) Write(p []byte) (n int, err error)
- func (c *Client) WriteData(p []byte)
- type GetUserParams
- type Handler
- type Message
- type RemoveSharingUserParams
- type Server
- func (s *Server) GenerateViewMeta(targetId string) (meta ViewPageMata)
- func (s *Server) HealthStatusHandler(ctx *gin.Context)
- func (s *Server) ProcessElfinderWebsocket(ctx *gin.Context)
- func (s *Server) ProcessTerminalWebsocket(ctx *gin.Context)
- func (s *Server) SftpHostConnectorView(ctx *gin.Context)
- func (s *Server) Start()
- func (s *Server) Stop()
- func (s *Server) UpgradeUserWsConn(ctx *gin.Context) (*UserWebsocket, error)
- type ShareInfo
- type ShareRequestMeta
- type ShareRequestParams
- type ShareResponse
- type StaticFSWrapper
- type StaticFileInfoWrapper
- type StaticFileWrapper
- type TerminalConnectData
- type UserKoKoPreferenceParam
- type UserVolume
- func (u *UserVolume) Close()
- func (u *UserVolume) GetFile(path string) (reader io.ReadCloser, err error)
- func (u *UserVolume) ID() string
- func (u *UserVolume) Info(path string) (elfinder.FileDir, error)
- func (u *UserVolume) List(path string) []elfinder.FileDir
- func (u *UserVolume) MakeDir(dir, newDirname string) (elfinder.FileDir, error)
- func (u *UserVolume) MakeFile(dir, newFilename string) (elfinder.FileDir, error)
- func (u *UserVolume) MergeChunk(cid, total int, dirPath, uploadPath, filename string) (elfinder.FileDir, error)
- func (u *UserVolume) Parents(path string, dep int) []elfinder.FileDir
- func (u *UserVolume) Paste(dir, filename, suffix string, reader io.ReadCloser) (elfinder.FileDir, error)
- func (u *UserVolume) Remove(path string) error
- func (u *UserVolume) Rename(oldNamePath, newName string) (elfinder.FileDir, error)
- func (u *UserVolume) RootFileDir() elfinder.FileDir
- func (u *UserVolume) Search(path, key string, mimes ...string) (res []elfinder.FileDir, err error)
- func (u *UserVolume) UploadChunk(cid int, dirPath, uploadPath, filename string, rangeData elfinder.ChunkRange, ...) error
- func (u *UserVolume) UploadFile(dirPath, uploadPath, filename string, reader io.Reader) (elfinder.FileDir, error)
- type UserWebsocket
- func (userCon *UserWebsocket) ClientIP() string
- func (userCon *UserWebsocket) CurrentUser() *model.User
- func (userCon *UserWebsocket) GetHandler() Handler
- func (userCon *UserWebsocket) RecordLifecycleLog(sid string, event model.LifecycleEvent, logObj model.SessionLifecycleLog)
- func (userCon *UserWebsocket) Run()
- func (userCon *UserWebsocket) SendErrMessage(errMsg string)
- func (userCon *UserWebsocket) SendMessage(msg *Message)
- type ViewPageMata
- type VolumeOption
- type WindowSize
- type WsRequestParams
Constants ¶
View Source
const ( PING = "PING" PONG = "PONG" CONNECT = "CONNECT" CLOSE = "CLOSE" ERROR = "ERROR" TerminalInit = "TERMINAL_INIT" TerminalData = "TERMINAL_DATA" TerminalResize = "TERMINAL_RESIZE" TerminalBinary = "TERMINAL_BINARY" TerminalAction = "TERMINAL_ACTION" TerminalSession = "TERMINAL_SESSION" TerminalSessionPause = "TERMINAL_SESSION_PAUSE" TerminalSessionResume = "TERMINAL_SESSION_RESUME" TerminalSyncUserPreference = "TERMINAL_SYNC_USER_PREFERENCE" TerminalError = "TERMINAL_ERROR" MessageNotify = "MESSAGE_NOTIFY" )
View Source
const ( TargetTypeMonitor = "monitor" )
View Source
const ( TTYName = "terminal" WebFolderName = "web_folder" )
View Source
const MaxMessageLen = 1024
Variables ¶
View Source
var ( ErrAssetIdInvalid = errors.New("asset id invalid") ErrPermissionDenied = errors.New("permission denied") )
Functions ¶
func NewBroadcaster ¶
func NewBroadcaster() *broadcaster
func NewElfinderFileInfo ¶
func ParseAcceptLanguageCode ¶
func TrimPrefix ¶
Types ¶
type Client ¶
type Client struct { WinChan chan ssh.Window UserRead io.ReadCloser UserWrite io.WriteCloser Conn *UserWebsocket sync.Mutex // contains filtered or unexported fields }
func (*Client) HandleRoomEvent ¶
func (c *Client) HandleRoomEvent(event string, roomMsg *exchange.RoomMessage)
func (*Client) RemoteAddr ¶
func (*Client) SetWinSize ¶
type GetUserParams ¶
type GetUserParams struct {
Query string `json:"query"`
}
type RemoveSharingUserParams ¶
type RemoveSharingUserParams struct { SessionId string `json:"session"` UserMeta exchange.MetaMessage `json:"user_meta"` }
type Server ¶
func (*Server) GenerateViewMeta ¶
func (s *Server) GenerateViewMeta(targetId string) (meta ViewPageMata)
func (*Server) HealthStatusHandler ¶
func (*Server) ProcessElfinderWebsocket ¶
func (*Server) ProcessTerminalWebsocket ¶
func (*Server) SftpHostConnectorView ¶
func (*Server) UpgradeUserWsConn ¶
func (s *Server) UpgradeUserWsConn(ctx *gin.Context) (*UserWebsocket, error)
type ShareRequestMeta ¶
type ShareRequestMeta struct {
}type ShareRequestParams ¶
type ShareRequestParams struct {
}type ShareResponse ¶
type ShareResponse struct {}
type StaticFSWrapper ¶
type StaticFSWrapper struct { http.FileSystem FixedModTime time.Time }
type StaticFileInfoWrapper ¶
func (*StaticFileInfoWrapper) ModTime ¶
func (f *StaticFileInfoWrapper) ModTime() time.Time
type StaticFileWrapper ¶
type TerminalConnectData ¶
type UserKoKoPreferenceParam ¶
type UserKoKoPreferenceParam struct {
ThemeName string `json:"terminal_theme_name"`
}
type UserVolume ¶
type UserVolume struct { Uuid string UserSftp *srvconn.UserSftpConn HomeName string // contains filtered or unexported fields }
func NewUserVolume ¶
func NewUserVolume(jmsService *service.JMService, opts ...VolumeOption) *UserVolume
func (*UserVolume) Close ¶
func (u *UserVolume) Close()
func (*UserVolume) GetFile ¶
func (u *UserVolume) GetFile(path string) (reader io.ReadCloser, err error)
func (*UserVolume) ID ¶
func (u *UserVolume) ID() string
func (*UserVolume) MakeDir ¶
func (u *UserVolume) MakeDir(dir, newDirname string) (elfinder.FileDir, error)
func (*UserVolume) MakeFile ¶
func (u *UserVolume) MakeFile(dir, newFilename string) (elfinder.FileDir, error)
func (*UserVolume) MergeChunk ¶
func (*UserVolume) Paste ¶
func (u *UserVolume) Paste(dir, filename, suffix string, reader io.ReadCloser) (elfinder.FileDir, error)
func (*UserVolume) Remove ¶
func (u *UserVolume) Remove(path string) error
func (*UserVolume) Rename ¶
func (u *UserVolume) Rename(oldNamePath, newName string) (elfinder.FileDir, error)
func (*UserVolume) RootFileDir ¶
func (u *UserVolume) RootFileDir() elfinder.FileDir
func (*UserVolume) UploadChunk ¶
func (u *UserVolume) UploadChunk(cid int, dirPath, uploadPath, filename string, rangeData elfinder.ChunkRange, reader io.Reader) error
func (*UserVolume) UploadFile ¶
type UserWebsocket ¶
type UserWebsocket struct { Uuid string ConnectToken *model.ConnectToken // contains filtered or unexported fields }
func (*UserWebsocket) ClientIP ¶
func (userCon *UserWebsocket) ClientIP() string
func (*UserWebsocket) CurrentUser ¶
func (userCon *UserWebsocket) CurrentUser() *model.User
func (*UserWebsocket) GetHandler ¶
func (userCon *UserWebsocket) GetHandler() Handler
func (*UserWebsocket) RecordLifecycleLog ¶
func (userCon *UserWebsocket) RecordLifecycleLog(sid string, event model.LifecycleEvent, logObj model.SessionLifecycleLog)
func (*UserWebsocket) Run ¶
func (userCon *UserWebsocket) Run()
func (*UserWebsocket) SendErrMessage ¶
func (userCon *UserWebsocket) SendErrMessage(errMsg string)
func (*UserWebsocket) SendMessage ¶
func (userCon *UserWebsocket) SendMessage(msg *Message)
type ViewPageMata ¶
type VolumeOption ¶
type VolumeOption func(*volumeOption)
func WithAddr ¶
func WithAddr(addr string) VolumeOption
func WithAsset ¶
func WithAsset(asset *model.PermAsset) VolumeOption
func WithConnectToken ¶
func WithConnectToken(connectToken *model.ConnectToken) VolumeOption
func WithUser ¶
func WithUser(user *model.User) VolumeOption
type WindowSize ¶
type WsRequestParams ¶
type WsRequestParams struct { TargetType string `form:"type"` TargetId string `form:"target_id"` Token string `form:"token"` AssetId string `form:"asset"` // k8s container Pod string `form:"pod"` Namespace string `form:"namespace"` Container string `form:"container"` // mysql database DisableAutoHash string `form:"disableautohash"` }
Source Files ¶
Click to show internal directories.
Click to hide internal directories.