Merge pull request #186 from vashstorm/bugfix

add auth for reload api
This commit is contained in:
fatedier 2016-12-20 05:20:54 -06:00 committed by GitHub
commit 0573ddcd84
2 changed files with 15 additions and 2 deletions

View File

@ -15,6 +15,7 @@
package main package main
import ( import (
"encoding/base64"
"encoding/json" "encoding/json"
"fmt" "fmt"
"io/ioutil" "io/ioutil"
@ -68,7 +69,18 @@ func main() {
// reload check // reload check
if args["--reload"] != nil { if args["--reload"] != nil {
if args["--reload"].(bool) { if args["--reload"].(bool) {
resp, err := http.Get("http://" + server.BindAddr + ":" + fmt.Sprintf("%d", server.DashboardPort) + "/api/reload") req, err := http.NewRequest("GET", "http://"+server.BindAddr+":"+fmt.Sprintf("%d", server.DashboardPort)+"/api/reload", nil)
if err != nil {
fmt.Printf("frps reload error: %v\n", err)
os.Exit(1)
}
authStr := "Basic " + base64.StdEncoding.EncodeToString([]byte(server.DashboardUsername+":"+server.DashboardPassword))
req.Header.Add("Authorization", authStr)
defaultClient := &http.Client{}
resp, err := defaultClient.Do(req)
if err != nil { if err != nil {
fmt.Printf("frps reload error: %v\n", err) fmt.Printf("frps reload error: %v\n", err)
os.Exit(1) os.Exit(1)

View File

@ -34,7 +34,8 @@ func RunDashboardServer(addr string, port int64) (err error) {
// url router // url router
mux := http.NewServeMux() mux := http.NewServeMux()
// api, see dashboard_api.go // api, see dashboard_api.go
mux.HandleFunc("/api/reload", apiReload) // mux.HandleFunc("/api/reload", apiReload)
mux.HandleFunc("/api/reload", use(apiReload, basicAuth))
mux.HandleFunc("/api/proxies", apiProxies) mux.HandleFunc("/api/proxies", apiProxies)
// view, see dashboard_view.go // view, see dashboard_view.go