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 {