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