clashapi: Add mode list

This commit is contained in:
Zephyruso 2024-11-23 22:37:03 +08:00 committed by 世界
parent 1086d5e665
commit 0e9129ee3f
No known key found for this signature in database
GPG Key ID: CD109927C34A63C4

View File

@ -18,17 +18,19 @@ func configRouter(server *Server, logFactory log.Factory) http.Handler {
} }
type configSchema struct { type configSchema struct {
Port int `json:"port"` Port int `json:"port"`
SocksPort int `json:"socks-port"` SocksPort int `json:"socks-port"`
RedirPort int `json:"redir-port"` RedirPort int `json:"redir-port"`
TProxyPort int `json:"tproxy-port"` TProxyPort int `json:"tproxy-port"`
MixedPort int `json:"mixed-port"` MixedPort int `json:"mixed-port"`
AllowLan bool `json:"allow-lan"` AllowLan bool `json:"allow-lan"`
BindAddress string `json:"bind-address"` BindAddress string `json:"bind-address"`
Mode string `json:"mode"` Mode string `json:"mode"`
LogLevel string `json:"log-level"` // sing-box added
IPv6 bool `json:"ipv6"` ModeList []string `json:"mode-list"`
Tun map[string]any `json:"tun"` LogLevel string `json:"log-level"`
IPv6 bool `json:"ipv6"`
Tun map[string]any `json:"tun"`
} }
func getConfigs(server *Server, logFactory log.Factory) func(w http.ResponseWriter, r *http.Request) { func getConfigs(server *Server, logFactory log.Factory) func(w http.ResponseWriter, r *http.Request) {
@ -41,6 +43,7 @@ func getConfigs(server *Server, logFactory log.Factory) func(w http.ResponseWrit
} }
render.JSON(w, r, &configSchema{ render.JSON(w, r, &configSchema{
Mode: server.mode, Mode: server.mode,
ModeList: server.modeList,
BindAddress: "*", BindAddress: "*",
LogLevel: log.FormatLevel(logLevel), LogLevel: log.FormatLevel(logLevel),
}) })