mirror of
https://github.com/screego/server.git
synced 2025-10-05 16:16:58 +08:00
Add version to ui
This commit is contained in:
@@ -13,7 +13,7 @@ func Run(version, commitHash string) {
|
|||||||
Name: "screego",
|
Name: "screego",
|
||||||
Version: fmt.Sprintf("%s; screego/server@%s", version, commitHash),
|
Version: fmt.Sprintf("%s; screego/server@%s", version, commitHash),
|
||||||
Commands: []cli.Command{
|
Commands: []cli.Command{
|
||||||
serveCmd,
|
serveCmd(version),
|
||||||
hashCmd,
|
hashCmd,
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
60
cmd/serve.go
60
cmd/serve.go
@@ -17,39 +17,41 @@ import (
|
|||||||
"github.com/urfave/cli"
|
"github.com/urfave/cli"
|
||||||
)
|
)
|
||||||
|
|
||||||
var serveCmd = cli.Command{
|
func serveCmd(version string) cli.Command {
|
||||||
Name: "serve",
|
return cli.Command{
|
||||||
Action: func(ctx *cli.Context) {
|
Name: "serve",
|
||||||
|
Action: func(ctx *cli.Context) {
|
||||||
|
|
||||||
mrand.Seed(time.Now().Unix())
|
mrand.Seed(time.Now().Unix())
|
||||||
conf, errs := config.Get()
|
conf, errs := config.Get()
|
||||||
logger.Init(conf.LogLevel.AsZeroLogLevel())
|
logger.Init(conf.LogLevel.AsZeroLogLevel())
|
||||||
|
|
||||||
exit := false
|
exit := false
|
||||||
for _, err := range errs {
|
for _, err := range errs {
|
||||||
log.WithLevel(err.Level).Msg(err.Msg)
|
log.WithLevel(err.Level).Msg(err.Msg)
|
||||||
exit = exit || err.Level == zerolog.FatalLevel || err.Level == zerolog.PanicLevel
|
exit = exit || err.Level == zerolog.FatalLevel || err.Level == zerolog.PanicLevel
|
||||||
}
|
}
|
||||||
if exit {
|
if exit {
|
||||||
os.Exit(1)
|
os.Exit(1)
|
||||||
}
|
}
|
||||||
users, err := auth.ReadPasswordsFile(conf.UsersFile, conf.Secret)
|
users, err := auth.ReadPasswordsFile(conf.UsersFile, conf.Secret)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
log.Fatal().Str("file", conf.UsersFile).Err(err).Msg("While loading users file")
|
log.Fatal().Str("file", conf.UsersFile).Err(err).Msg("While loading users file")
|
||||||
}
|
}
|
||||||
|
|
||||||
auth, err := turn.Start(conf)
|
auth, err := turn.Start(conf)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
log.Fatal().Err(err).Msg("could not start turn server")
|
log.Fatal().Err(err).Msg("could not start turn server")
|
||||||
}
|
}
|
||||||
|
|
||||||
rooms := ws.NewRooms(auth, users, conf)
|
rooms := ws.NewRooms(auth, users, conf)
|
||||||
|
|
||||||
go rooms.Start()
|
go rooms.Start()
|
||||||
|
|
||||||
r := router.Router(conf, rooms, users)
|
r := router.Router(conf, rooms, users, version)
|
||||||
if err := server.Start(r, conf.ServerAddress, conf.TLSCertFile, conf.TLSKeyFile); err != nil {
|
if err := server.Start(r, conf.ServerAddress, conf.TLSCertFile, conf.TLSKeyFile); err != nil {
|
||||||
log.Fatal().Err(err).Msg("http server")
|
log.Fatal().Err(err).Msg("http server")
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@@ -16,9 +16,10 @@ type UIConfig struct {
|
|||||||
AuthMode string `json:"authMode"`
|
AuthMode string `json:"authMode"`
|
||||||
User string `json:"user"`
|
User string `json:"user"`
|
||||||
LoggedIn bool `json:"loggedIn"`
|
LoggedIn bool `json:"loggedIn"`
|
||||||
|
Version string `json:"version"`
|
||||||
}
|
}
|
||||||
|
|
||||||
func Router(conf config.Config, rooms *ws.Rooms, users *auth.Users) *mux.Router {
|
func Router(conf config.Config, rooms *ws.Rooms, users *auth.Users, version string) *mux.Router {
|
||||||
router := mux.NewRouter()
|
router := mux.NewRouter()
|
||||||
router.Use(handlers.CORS(handlers.AllowedMethods([]string{"GET", "POST"}), handlers.AllowedOriginValidator(conf.CheckOrigin)))
|
router.Use(handlers.CORS(handlers.AllowedMethods([]string{"GET", "POST"}), handlers.AllowedOriginValidator(conf.CheckOrigin)))
|
||||||
router.HandleFunc("/stream", rooms.Upgrade)
|
router.HandleFunc("/stream", rooms.Upgrade)
|
||||||
@@ -30,6 +31,7 @@ func Router(conf config.Config, rooms *ws.Rooms, users *auth.Users) *mux.Router
|
|||||||
AuthMode: conf.AuthMode,
|
AuthMode: conf.AuthMode,
|
||||||
LoggedIn: loggedIn,
|
LoggedIn: loggedIn,
|
||||||
User: user,
|
User: user,
|
||||||
|
Version: version,
|
||||||
})
|
})
|
||||||
})
|
})
|
||||||
|
|
||||||
|
@@ -12,6 +12,7 @@ import {
|
|||||||
Select,
|
Select,
|
||||||
TextField,
|
TextField,
|
||||||
Typography,
|
Typography,
|
||||||
|
Link,
|
||||||
} from '@material-ui/core';
|
} from '@material-ui/core';
|
||||||
import {FCreateRoom, UseRoom} from './useRoom';
|
import {FCreateRoom, UseRoom} from './useRoom';
|
||||||
import {RoomMode, UIConfig} from './message';
|
import {RoomMode, UIConfig} from './message';
|
||||||
@@ -144,6 +145,10 @@ export const RoomManage = ({room, config}: {room: FCreateRoom; config: UseConfig
|
|||||||
)}
|
)}
|
||||||
</Paper>
|
</Paper>
|
||||||
</Grid>
|
</Grid>
|
||||||
|
<div style={{position: 'absolute', margin: '0 auto', bottom: 0}}>
|
||||||
|
Screego {config.version} |{' '}
|
||||||
|
<Link href="https://github.com/screego/server/">GitHub</Link>
|
||||||
|
</div>
|
||||||
</Grid>
|
</Grid>
|
||||||
);
|
);
|
||||||
};
|
};
|
||||||
|
@@ -9,6 +9,7 @@ export interface UIConfig {
|
|||||||
authMode: 'turn' | 'none' | 'all';
|
authMode: 'turn' | 'none' | 'all';
|
||||||
user: string;
|
user: string;
|
||||||
loggedIn: boolean;
|
loggedIn: boolean;
|
||||||
|
version: string;
|
||||||
}
|
}
|
||||||
|
|
||||||
export interface RoomConfiguration {
|
export interface RoomConfiguration {
|
||||||
|
@@ -16,6 +16,7 @@ export const useConfig = (): UseConfig => {
|
|||||||
user: 'guest',
|
user: 'guest',
|
||||||
loggedIn: false,
|
loggedIn: false,
|
||||||
loading: true,
|
loading: true,
|
||||||
|
version: 'unknown',
|
||||||
});
|
});
|
||||||
|
|
||||||
const refetch = React.useCallback(() => {
|
const refetch = React.useCallback(() => {
|
||||||
|
Reference in New Issue
Block a user