SYMBOL INDEX (244 symbols across 52 files) FILE: auth/auth.go type Users (line 16) | type Users struct method CurrentUser (line 80) | func (u *Users) CurrentUser(r *http.Request) (string, bool) { method Logout (line 89) | func (u *Users) Logout(w http.ResponseWriter, r *http.Request) { method Authenticate (line 102) | func (u *Users) Authenticate(w http.ResponseWriter, r *http.Request) { method Validate (line 131) | func (u Users) Validate(user, password string) bool { type UserPW (line 22) | type UserPW struct function read (line 27) | func read(r io.Reader) ([]UserPW, error) { function ReadPasswordsFile (line 48) | func ReadPasswordsFile(path string, secret []byte, sessionTimeout int) (... type Response (line 76) | type Response struct FILE: cmd/command.go function Run (line 11) | func Run(version, commitHash string) { FILE: cmd/serve.go function serveCmd (line 18) | func serveCmd(version string) cli.Command { FILE: config/config.go constant AuthModeTurn (line 30) | AuthModeTurn = "turn" constant AuthModeAll (line 31) | AuthModeAll = "all" constant AuthModeNone (line 32) | AuthModeNone = "none" type Config (line 36) | type Config struct method parsePortRange (line 73) | func (c Config) parsePortRange() (uint16, uint16, error) { method PortRange (line 96) | func (c Config) PortRange() (uint16, uint16, bool) { function Get (line 102) | func Get() (Config, []FutureLog) { function logDeprecated (line 244) | func logDeprecated() []FutureLog { function getExecutableOrWorkDir (line 251) | func getExecutableOrWorkDir() (string, *FutureLog) { function getExecutableDir (line 261) | func getExecutableDir() (string, *FutureLog) { function getFiles (line 272) | func getFiles(relativeTo string) []string { FILE: config/error.go type FutureLog (line 7) | type FutureLog struct function futureFatal (line 12) | func futureFatal(msg string) FutureLog { FILE: config/ip.go function parseIPProvider (line 13) | func parseIPProvider(ips []string, config string) (ipdns.Provider, []Fut... function parseStatic (line 30) | func parseStatic(ips []string, config string) (*ipdns.Static, []FutureLo... function applyIPTo (line 58) | func applyIPTo(config, ip string, static *ipdns.Static) (bool, []FutureL... function parseDNS (line 73) | func parseDNS(dnsString string) *ipdns.DNS { FILE: config/ipdns/dns.go type DNS (line 14) | type DNS struct method Get (line 27) | func (s *DNS) Get() (net.IP, net.IP, error) { method lookup (line 53) | func (s *DNS) lookup() (net.IP, net.IP, error) { FILE: config/ipdns/provider.go type Provider (line 5) | type Provider interface FILE: config/ipdns/static.go type Static (line 5) | type Static struct method Get (line 10) | func (s *Static) Get() (net.IP, net.IP, error) { FILE: config/loglevel.go type LogLevel (line 10) | type LogLevel method Decode (line 13) | func (ll *LogLevel) Decode(value string) error { method AsZeroLogLevel (line 23) | func (ll LogLevel) AsZeroLogLevel() zerolog.Level { FILE: config/loglevel_test.go function TestLogLevel_Decode_success (line 10) | func TestLogLevel_Decode_success(t *testing.T) { function TestLogLevel_Decode_fail (line 17) | func TestLogLevel_Decode_fail(t *testing.T) { FILE: config/mode/mode.go constant Dev (line 5) | Dev = "dev" constant Prod (line 7) | Prod = "prod" function Set (line 13) | func Set(newMode string) { function Get (line 18) | func Get() string { FILE: config/mode/mode_test.go function TestGet (line 9) | func TestGet(t *testing.T) { function TestSet (line 14) | func TestSet(t *testing.T) { FILE: logger/logger.go function Init (line 12) | func Init(lvl zerolog.Level) { FILE: main.go function main (line 14) | func main() { FILE: router/router.go type Health (line 19) | type Health struct type UIConfig (line 25) | type UIConfig struct function Router (line 34) | func Router(conf config.Config, rooms *ws.Rooms, users *auth.Users, vers... function accessLogger (line 79) | func accessLogger(r *http.Request, status, size int, dur time.Duration) { function basicAuth (line 90) | func basicAuth(handler http.Handler, users *auth.Users) http.HandlerFunc { FILE: server/server.go function Start (line 24) | func Start(mux *mux.Router, address, cert, key string) error { function startServer (line 30) | func startServer(mux *mux.Router, address, cert, key string) (*http.Serv... function listenAndServe (line 44) | func listenAndServe(srv *http.Server, address, cert, key string) error { function shutdownOnInterruptSignal (line 66) | func shutdownOnInterruptSignal(server *http.Server, timeout time.Duratio... function waitForServerToClose (line 81) | func waitForServerToClose(shutdown <-chan error) error { FILE: server/server_test.go function TestShutdownOnErrorWhileShutdown (line 17) | func TestShutdownOnErrorWhileShutdown(t *testing.T) { function TestShutdownAfterError (line 39) | func TestShutdownAfterError(t *testing.T) { function TestShutdown (line 54) | func TestShutdown(t *testing.T) { function fakeInterrupt (line 72) | func fakeInterrupt(t *testing.T) func() { function fakeShutdownError (line 86) | func fakeShutdownError(err error) func() { function port (line 96) | func port() int { FILE: turn/none.go type RelayAddressGeneratorNone (line 9) | type RelayAddressGeneratorNone struct method Validate (line 11) | func (r *RelayAddressGeneratorNone) Validate() error { method AllocatePacketConn (line 15) | func (r *RelayAddressGeneratorNone) AllocatePacketConn(network string,... method AllocateConn (line 24) | func (r *RelayAddressGeneratorNone) AllocateConn(network string, reque... FILE: turn/portrange.go type RelayAddressGeneratorPortRange (line 11) | type RelayAddressGeneratorPortRange struct method Validate (line 17) | func (r *RelayAddressGeneratorPortRange) Validate() error { method AllocatePacketConn (line 25) | func (r *RelayAddressGeneratorPortRange) AllocatePacketConn(network st... method AllocateConn (line 49) | func (r *RelayAddressGeneratorPortRange) AllocateConn(network string, ... FILE: turn/server.go type Server (line 19) | type Server interface type InternalServer (line 24) | type InternalServer struct method allow (line 138) | func (a *InternalServer) allow(username, password string, addr net.IP) { method Disallow (line 147) | func (a *InternalServer) Disallow(username string) { method authenticate (line 158) | func (a *InternalServer) authenticate(username, realm string, addr net... method Credentials (line 173) | func (a *InternalServer) Credentials(id string, addr net.IP) (string, ... type ExternalServer (line 29) | type ExternalServer struct method Disallow (line 154) | func (a *ExternalServer) Disallow(username string) { method Credentials (line 179) | func (a *ExternalServer) Credentials(id string, addr net.IP) (string, ... type Entry (line 34) | type Entry struct constant Realm (line 39) | Realm = "screego" type Generator (line 41) | type Generator struct method AllocatePacketConn (line 46) | func (r *Generator) AllocatePacketConn(network string, requestedPort i... function Start (line 69) | func Start(conf config.Config) (Server, error) { function newExternalServer (line 77) | func newExternalServer(conf config.Config) (Server, error) { function newInternalServer (line 84) | func newInternalServer(conf config.Config) (Server, error) { function generator (line 129) | func generator(conf config.Config) turn.RelayAddressGenerator { FILE: ui/serve.go function Register (line 18) | func Register(r *mux.Router) { function serveFile (line 29) | func serveFile(name, contentType string) http.HandlerFunc { FILE: ui/src/NumberField.tsx type NumberFieldProps (line 4) | interface NumberFieldProps { FILE: ui/src/Room.tsx type FullScreenHTMLVideoElement (line 38) | interface FullScreenHTMLVideoElement extends HTMLVideoElement { FILE: ui/src/SettingDialog.tsx type SettingDialogProps (line 23) | interface SettingDialogProps { FILE: ui/src/message.ts type ShareMode (line 1) | enum ShareMode { type Typed (line 6) | type Typed = {type: Type; payload: Base}; type UIConfig (line 8) | interface UIConfig { type RoomConfiguration (line 17) | interface RoomConfiguration { type RoomMode (line 24) | enum RoomMode { type JoinConfiguration (line 30) | interface JoinConfiguration { type StringMessage (line 36) | interface StringMessage { type P2PSession (line 40) | interface P2PSession { type ICEServer (line 46) | interface ICEServer { type RoomInfo (line 52) | interface RoomInfo { type RoomUser (line 59) | interface RoomUser { type P2PMessage (line 67) | interface P2PMessage { type Room (line 72) | type Room = Typed; type Error (line 73) | type Error = Typed; type HostSession (line 74) | type HostSession = Typed; type Name (line 75) | type Name = Typed<{username: string}, 'name'>; type ClientSession (line 76) | type ClientSession = Typed; type HostICECandidate (line 77) | type HostICECandidate = Typed, 'hostice'>; type ClientICECandidate (line 78) | type ClientICECandidate = Typed, 'clientice'>; type HostOffer (line 79) | type HostOffer = Typed, 'hostoffer'>; type ClientAnswer (line 80) | type ClientAnswer = Typed, 'client... type StartSharing (line 81) | type StartSharing = Typed<{}, 'share'>; type StopShare (line 82) | type StopShare = Typed<{}, 'stopshare'>; type RoomCreate (line 83) | type RoomCreate = Typed; type EndShare (line 85) | type EndShare = Typed; type IncomingMessage (line 87) | type IncomingMessage = type OutgoingMessage (line 98) | type OutgoingMessage = FILE: ui/src/settings.ts type Settings (line 36) | interface Settings { type PreferredCodec (line 42) | interface PreferredCodec { type VideoDisplayMode (line 47) | enum VideoDisplayMode { FILE: ui/src/useConfig.ts type UseConfig (line 6) | interface UseConfig extends UIConfig { FILE: ui/src/useRoom.ts type RoomState (line 18) | type RoomState = false | ConnectedRoom; type ConnectedRoom (line 19) | type ConnectedRoom = { type ClientStream (line 25) | interface ClientStream { type UseRoom (line 31) | interface UseRoom { type FCreateRoom (line 160) | type FCreateRoom = (room: RoomCreate | JoinRoom) => Promise; FILE: util/password.go function RandString (line 8) | func RandString(length int) string { function randIntn (line 22) | func randIntn(n int) int { FILE: util/sillyname.go function r (line 43) | func r(r *rand.Rand, l []string) string { function NewUserName (line 47) | func NewUserName(s *rand.Rand) string { function NewRoomName (line 52) | func NewRoomName(s *rand.Rand) string { FILE: ws/client.go constant writeWait (line 26) | writeWait = 2 * time.Second type Client (line 29) | type Client struct method CloseOnError (line 72) | func (c *Client) CloseOnError(code int, reason string) { method CloseOnDone (line 87) | func (c *Client) CloseOnDone(code int, reason string) { method writeCloseMessage (line 93) | func (c *Client) writeCloseMessage(code int, reason string) { method startReading (line 101) | func (c *Client) startReading(pongWait time.Duration) { method startWriteHandler (line 134) | func (c *Client) startWriteHandler(pingPeriod time.Duration) { method debug (line 173) | func (c *Client) debug() *zerolog.Event { method printWebSocketError (line 177) | func (c *Client) printWebSocketError(typex string, err error) { type ClientMessage (line 36) | type ClientMessage struct type ClientInfo (line 42) | type ClientInfo struct function newClient (line 50) | func newClient(conn *websocket.Conn, req *http.Request, read chan Client... FILE: ws/event.go type Event (line 3) | type Event interface FILE: ws/event_clientanswer.go function init (line 10) | func init() { type ClientAnswer (line 16) | type ClientAnswer method Execute (line 18) | func (e *ClientAnswer) Execute(rooms *Rooms, current ClientInfo) error { FILE: ws/event_clientice.go function init (line 10) | func init() { type ClientICE (line 16) | type ClientICE method Execute (line 18) | func (e *ClientICE) Execute(rooms *Rooms, current ClientInfo) error { FILE: ws/event_connected.go type Connected (line 3) | type Connected struct method Execute (line 5) | func (e Connected) Execute(rooms *Rooms, current ClientInfo) error { FILE: ws/event_create.go function init (line 11) | func init() { type Create (line 17) | type Create struct method Execute (line 25) | func (e *Create) Execute(rooms *Rooms, current ClientInfo) error { FILE: ws/event_disconnected.go type Disconnected (line 10) | type Disconnected struct method Execute (line 15) | func (e *Disconnected) Execute(rooms *Rooms, current ClientInfo) error { method executeNoError (line 20) | func (e *Disconnected) executeNoError(rooms *Rooms, current ClientInfo) { FILE: ws/event_health.go type Health (line 3) | type Health struct method Execute (line 7) | func (e *Health) Execute(rooms *Rooms, current ClientInfo) error { FILE: ws/event_hostice.go function init (line 10) | func init() { type HostICE (line 16) | type HostICE method Execute (line 18) | func (e *HostICE) Execute(rooms *Rooms, current ClientInfo) error { FILE: ws/event_hostoffer.go function init (line 10) | func init() { type HostOffer (line 16) | type HostOffer method Execute (line 18) | func (e *HostOffer) Execute(rooms *Rooms, current ClientInfo) error { FILE: ws/event_join.go function init (line 7) | func init() { type Join (line 13) | type Join struct method Execute (line 18) | func (e *Join) Execute(rooms *Rooms, current ClientInfo) error { FILE: ws/event_name.go function init (line 3) | func init() { type Name (line 9) | type Name struct method Execute (line 13) | func (e *Name) Execute(rooms *Rooms, current ClientInfo) error { FILE: ws/event_share.go function init (line 3) | func init() { type StartShare (line 9) | type StartShare struct method Execute (line 11) | func (e *StartShare) Execute(rooms *Rooms, current ClientInfo) error { FILE: ws/event_stop_share.go function init (line 9) | func init() { type StopShare (line 15) | type StopShare struct method Execute (line 17) | func (e *StopShare) Execute(rooms *Rooms, current ClientInfo) error { FILE: ws/once.go type once (line 14) | type once struct method Do (line 19) | func (o *once) Do(f func()) { method mayExecute (line 28) | func (o *once) mayExecute() bool { FILE: ws/once_test.go function Test_Execute (line 10) | func Test_Execute(t *testing.T) { FILE: ws/outgoing/messages.go type Message (line 9) | type Message interface type Room (line 13) | type Room struct method Type (line 27) | func (Room) Type() string { type User (line 19) | type User struct type HostSession (line 31) | type HostSession struct method Type (line 37) | func (HostSession) Type() string { type ClientSession (line 41) | type ClientSession struct method Type (line 47) | func (ClientSession) Type() string { type ICEServer (line 51) | type ICEServer struct type P2PMessage (line 57) | type P2PMessage struct type HostICE (line 62) | type HostICE method Type (line 64) | func (HostICE) Type() string { type ClientICE (line 68) | type ClientICE method Type (line 70) | func (ClientICE) Type() string { type ClientAnswer (line 74) | type ClientAnswer method Type (line 76) | func (ClientAnswer) Type() string { type HostOffer (line 80) | type HostOffer method Type (line 82) | func (HostOffer) Type() string { type EndShare (line 86) | type EndShare method Type (line 88) | func (EndShare) Type() string { type ConnectionMode (line 92) | type ConnectionMode constant ConnectionLocal (line 95) | ConnectionLocal ConnectionMode = "local" constant ConnectionSTUN (line 96) | ConnectionSTUN ConnectionMode = "stun" constant ConnectionTURN (line 97) | ConnectionTURN ConnectionMode = "turn" type CloseWriter (line 100) | type CloseWriter struct method Type (line 105) | func (CloseWriter) Type() string { FILE: ws/readwrite.go type Typed (line 12) | type Typed struct function ToTypedOutgoing (line 17) | func ToTypedOutgoing(outgoing outgoing.Message) (Typed, error) { function ReadTypedIncoming (line 28) | func ReadTypedIncoming(r io.Reader) (Event, error) { function register (line 50) | func register(t string, incoming func() Event) { FILE: ws/room.go type ConnectionMode (line 15) | type ConnectionMode constant ConnectionLocal (line 18) | ConnectionLocal ConnectionMode = "local" constant ConnectionSTUN (line 19) | ConnectionSTUN ConnectionMode = "stun" constant ConnectionTURN (line 20) | ConnectionTURN ConnectionMode = config.AuthModeTurn type Room (line 23) | type Room struct method newSession (line 36) | func (r *Room) newSession(host, client xid.ID, rooms *Rooms, v4, v6 ne... method closeSession (line 85) | func (r *Room) closeSession(rooms *Rooms, id xid.ID) { method notifyInfoChanged (line 99) | func (r *Room) notifyInfoChanged() { constant CloseOwnerLeft (line 32) | CloseOwnerLeft = "Owner Left" constant CloseDone (line 33) | CloseDone = "Read End" method addresses (line 69) | func (r *Rooms) addresses(prefix string, v4, v6 net.IP, tcp bool) (resul... type RoomSession (line 94) | type RoomSession struct type User (line 134) | type User struct method WriteTimeout (line 143) | func (u *User) WriteTimeout(msg outgoing.Message) { function writeTimeout (line 147) | func writeTimeout[T any](ch chan<- T, msg T) { FILE: ws/rooms.go function NewRooms (line 19) | func NewRooms(tServer turn.Server, users *auth.Users, conf config.Config... type Rooms (line 46) | type Rooms struct method CurrentRoom (line 57) | func (r *Rooms) CurrentRoom(info ClientInfo) (*Room, error) { method RandUserName (line 73) | func (r *Rooms) RandUserName() string { method RandRoomName (line 77) | func (r *Rooms) RandRoomName() string { method Upgrade (line 81) | func (r *Rooms) Upgrade(w http.ResponseWriter, req *http.Request) { method Start (line 98) | func (r *Rooms) Start() { method Count (line 113) | func (r *Rooms) Count() (int, string) { method closeRoom (line 130) | func (r *Rooms) closeRoom(roomID string) { FILE: ws/rooms_test.go constant SERVER (line 15) | SERVER = "ws://localhost:5050/stream" function TestMultipleClients (line 17) | func TestMultipleClients(t *testing.T) { function testClient (line 43) | func testClient(i int64, room string) { function msg (line 71) | func msg(r *rand.Rand, room string) []byte {