Documentation ¶
Index ¶
- Constants
- Variables
- func NewGuacTokenLoginEndpoint(users *GuacUserStore, ts store.Event, am *amigo.Amigo, ...) *guacTokenLoginEndpoint
- type Action
- type Chain
- type Config
- type CreateRDPConnOpts
- type Element
- type Errori
- type Event
- type ExecFunc
- type Frame
- type GuacError
- type GuacUser
- type GuacUserStore
- type Guacamole
- type Host
- type IPTables
- type KeyFrame
- type KeyFrameFilter
- type KeyFrameFilterCondition
- type KeyLogger
- type KeyLoggerPool
- type MouseFrame
- type MouseFrameFilter
- type MouseFrameFilterCondition
- type PipeFunc
- type Policy
- type RawFrame
- type State
Constants ¶
Variables ¶
View Source
var ( RdpConfErr = errors.New("error too few rdp connections") StartingGuacErr = errors.New("error while starting guac") ErrMaxLabs = errors.New("maximum amount of allowed labs has been reached") ErrNoAvailableLabs = errors.New("no labs available in the queue") )
View Source
var ( MalformedLoginErr = errors.New("malformed login response") NoHostErr = errors.New("host is missing") NoPortErr = errors.New("port is missing") NoNameErr = errors.New("name is missing") IncorrectColorErr = errors.New("colorDepth can take the following values: 8, 16, 24, 32") UnexpectedRespErr = errors.New("unexpected response from Guacamole") SessionErr = errors.New("session must exist") DefaultAdminUser = "guacadmin" DefaultAdminPass = "guacadmin" )
View Source
var ( KeyPressed = func(kf *KeyFrame) bool { return kf.Pressed == "1" } MouseClicked = func(mf *MouseFrame) bool { return mf.Button == "1" || mf.Button == "4" || mf.Button == "2" } )
View Source
var ( InvalidOpcodeErr = errors.New("invalid opcode") InvalidArgsErr = errors.New("invalid number of args") )
View Source
var (
UnknownTeamIdErr = errors.New("Unknown team id")
)
Functions ¶
Types ¶
type CreateRDPConnOpts ¶
type Event ¶
type Event interface { Start(context.Context) error Close() error Suspend(context.Context) error Resume(context.Context) error Finish(string) AssignLab(*store.Team, lab.Lab) error Handler() http.Handler PauseSignup(bool) AddNotification(message string, loggedInUsers bool) error SetStatus(int32) GetStatus() int32 GetConfig() store.EventConfig GetTeams() []*store.Team GetTeamById(teamId string) (*store.Team, error) GetHub() lab.Hub UpdateTeamPassword(id, pass, passRepeat string) (string, error) GetLabByTeam(teamId string) (lab.Lab, bool) GetAssignedLabs() map[string]lab.Lab GetFrontendData() *amigo.FrontendData DeleteTeam(id string) (bool, error) }
type GuacUserStore ¶
type GuacUserStore struct {
// contains filtered or unexported fields
}
func NewGuacUserStore ¶
func NewGuacUserStore() *GuacUserStore
func (*GuacUserStore) CreateUserForTeam ¶
func (us *GuacUserStore) CreateUserForTeam(tid string, u GuacUser)
func (*GuacUserStore) GetUserForTeam ¶
func (us *GuacUserStore) GetUserForTeam(tid string) (*GuacUser, error)
type Guacamole ¶
type Guacamole interface { io.Closer Start(context.Context) error CreateUser(username, password string) error CreateRDPConn(opts CreateRDPConnOpts) error GetAdminPass() string GetPort() uint RawLogin(username, password string) ([]byte, error) ProxyHandler(us *GuacUserStore, klp KeyLoggerPool, am *amigo.Amigo, event Event) svcs.ProxyConnector }
type Host ¶
type Host interface { CreateEventFromEventDB(context.Context, store.EventConfig, string) (Event, error) CreateEventFromConfig(context.Context, store.EventConfig, string) (Event, error) }
func NewHost ¶
func NewHost(vlib vbox.Library, elib eproto.ExerciseStoreClient, eDir string, dbc pbc.StoreClient, config wg.WireGuardConfig) Host
type KeyFrame ¶
func NewKeyFrame ¶
type KeyFrameFilter ¶
func NewKeyFrameFilter ¶
func NewKeyFrameFilter(conditions ...KeyFrameFilterCondition) KeyFrameFilter
type KeyFrameFilterCondition ¶
type KeyLoggerPool ¶
func NewKeyLoggerPool ¶
func NewKeyLoggerPool(dir string) (KeyLoggerPool, error)
type MouseFrame ¶
func NewMouseFrame ¶
func NewMouseFrame(f *Frame) (*MouseFrame, error)
type MouseFrameFilter ¶
type MouseFrameFilter interface {
Filter(RawFrame) (mf *MouseFrame, ok bool, err error)
}
func NewMouseFrameFilter ¶
func NewMouseFrameFilter(conditions ...MouseFrameFilterCondition) MouseFrameFilter
type MouseFrameFilterCondition ¶
type MouseFrameFilterCondition func(*MouseFrame) bool
Click to show internal directories.
Click to hide internal directories.