Support disabling the web UI with disableWebFeatures. Closes #32
This commit is contained in:
parent
259923b303
commit
ba69221394
@ -14,16 +14,17 @@ import (
|
||||
var Config *config
|
||||
|
||||
type config struct {
|
||||
IPFS ipfs `yaml:"ipfs"`
|
||||
PublicHLSPath string `yaml:"publicHLSPath"`
|
||||
PrivateHLSPath string `yaml:"privateHLSPath"`
|
||||
VideoSettings videoSettings `yaml:"videoSettings"`
|
||||
Files files `yaml:"files"`
|
||||
FFMpegPath string `yaml:"ffmpegPath"`
|
||||
WebServerPort int `yaml:"webServerPort"`
|
||||
S3 s3 `yaml:"s3"`
|
||||
InstanceDetails InstanceDetails `yaml:"instanceDetails"`
|
||||
VersionInfo string `yaml:"-"`
|
||||
IPFS ipfs `yaml:"ipfs"`
|
||||
PublicHLSPath string `yaml:"publicHLSPath"`
|
||||
PrivateHLSPath string `yaml:"privateHLSPath"`
|
||||
VideoSettings videoSettings `yaml:"videoSettings"`
|
||||
Files files `yaml:"files"`
|
||||
FFMpegPath string `yaml:"ffmpegPath"`
|
||||
WebServerPort int `yaml:"webServerPort"`
|
||||
S3 s3 `yaml:"s3"`
|
||||
InstanceDetails InstanceDetails `yaml:"instanceDetails"`
|
||||
VersionInfo string `yaml:"-"`
|
||||
DisableWebFeatures bool `yaml:"disableWebFeatures"`
|
||||
}
|
||||
|
||||
// InstanceDetails defines the user-visible information about this particular instance.
|
||||
|
@ -29,9 +29,18 @@ type MetadataPage struct {
|
||||
func IndexHandler(w http.ResponseWriter, r *http.Request) {
|
||||
middleware.EnableCors(&w)
|
||||
|
||||
isIndexRequest := r.URL.Path == "/" || r.URL.Path == "/index.html"
|
||||
|
||||
// Reject requests for the web UI if it's disabled.
|
||||
if isIndexRequest && config.Config.DisableWebFeatures {
|
||||
w.WriteHeader(http.StatusNotFound)
|
||||
w.Write([]byte("404 - y u ask 4 this? If this is an error let us know: https://github.com/gabek/owncast/issues"))
|
||||
return
|
||||
}
|
||||
|
||||
ua := user_agent.New(r.UserAgent())
|
||||
|
||||
if ua != nil && ua.Bot() && (r.URL.Path == "/" || r.URL.Path == "/index.html") {
|
||||
if ua != nil && ua.Bot() && isIndexRequest {
|
||||
handleScraperMetadataPage(w, r)
|
||||
return
|
||||
}
|
||||
|
@ -14,9 +14,6 @@ import (
|
||||
|
||||
//Start starts the router for the http, ws, and rtmp
|
||||
func Start() error {
|
||||
// websocket chat server
|
||||
go chat.Start()
|
||||
|
||||
// start the rtmp server
|
||||
go rtmp.Start()
|
||||
|
||||
@ -26,11 +23,16 @@ func Start() error {
|
||||
// status of the system
|
||||
http.HandleFunc("/status", controllers.GetStatus)
|
||||
|
||||
// chat rest api
|
||||
http.HandleFunc("/chat", controllers.GetChatMessages)
|
||||
if !config.Config.DisableWebFeatures {
|
||||
// websocket chat server
|
||||
go chat.Start()
|
||||
|
||||
// web config api
|
||||
http.HandleFunc("/config", controllers.GetWebConfig)
|
||||
// chat rest api
|
||||
http.HandleFunc("/chat", controllers.GetChatMessages)
|
||||
|
||||
// web config api
|
||||
http.HandleFunc("/config", controllers.GetWebConfig)
|
||||
}
|
||||
|
||||
port := config.Config.WebServerPort
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user