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 AIConversation
- type ChatGPTMessage
- 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 OpenAIParam
- type RemoveSharingUserParams
- type Server
- func (s *Server) ChatAIWebsocket(ctx *gin.Context)
- 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) (fileData elfinder.FileData, 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, fileData elfinder.FileData) (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, totalSize int64) (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" TerminalPermValid = "TERMINAL_PERM_VALID" TerminalPermExpired = "TERMINAL_PERM_EXPIRED" TerminalSyncUserPreference = "TERMINAL_SYNC_USER_PREFERENCE" TerminalError = "TERMINAL_ERROR" MessageNotify = "MESSAGE_NOTIFY" TerminalK8SInit = "TERMINAL_K8S_INIT" TerminalK8STree = "TERMINAL_K8S_TREE" TerminalK8SData = "TERMINAL_K8S_DATA" TerminalK8SBinary = "TERMINAL_K8S_BINARY" TerminalK8SResize = "TERMINAL_K8S_RESIZE" K8SClose = "K8S_CLOSE" )
View Source
const ( TargetTypeMonitor = "monitor" )
View Source
const ( TTYName = "terminal" WebFolderName = "web_folder" ChatName = "chat" )
View Source
const MaxMessageLen = 1024
View Source
const (
WebsocketErrorf = "Websocket upgrade err: %s"
)
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 AIConversation ¶
type ChatGPTMessage ¶
type Client ¶
type Client struct { WinChan chan ssh.Window UserRead io.ReadCloser UserWrite io.WriteCloser Conn *UserWebsocket sync.Mutex KubernetesId string Namespace string Pod string Container string // 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 Message ¶
type Message struct { Id string `json:"id"` Type string `json:"type"` Data string `json:"data"` Raw []byte `json:"raw"` Err string `json:"err"` //Chat AI Prompt string `json:"prompt"` Interrupt bool `json:"interrupt"` //K8S KubernetesId string `json:"k8s_id"` Namespace string `json:"namespace"` Pod string `json:"pod"` Container string `json:"container"` }
type OpenAIParam ¶
type RemoveSharingUserParams ¶
type RemoveSharingUserParams struct { SessionId string `json:"session"` UserMeta exchange.MetaMessage `json:"user_meta"` }
type Server ¶
func (*Server) ChatAIWebsocket ¶
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) (fileData elfinder.FileData, 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) 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 WithTerminalCfg ¶
func WithTerminalCfg(cfg *model.TerminalConfig) 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.