feat(watchdog): improve watchdog instance tracking

- Add Close() function to watchdog for graceful shutdown
- Update instance message format for better consistency
- Add watchdog status tracking in StatusInfo
- Include watchdog field in FrpcInstance struct and database
- Change port fields from string to int in FrpcProxyInfo
- Add auth_token support in InstanceInfo
This commit is contained in:
2026-04-05 22:44:53 +08:00
parent f006c2307a
commit 37c10f1c07
6 changed files with 75 additions and 31 deletions
+6 -6
View File
@@ -53,12 +53,12 @@ func CreateProxyHandler(w http.ResponseWriter, r *http.Request) {
Name: getStringFromMap(proxyInfoMap, "name"),
Type: getStringFromMap(proxyInfoMap, "type"),
LocalIP: getStringFromMap(proxyInfoMap, "localIP"),
LocalPort: getStringFromMap(proxyInfoMap, "localPort"),
RemotePort: getStringFromMap(proxyInfoMap, "remotePort"),
LocalPort: getNumFromMap(proxyInfoMap, "localPort"),
RemotePort: getNumFromMap(proxyInfoMap, "remotePort"),
}
if proxyInfo.Name == "" || proxyInfo.Type == "" || proxyInfo.LocalIP == "" ||
proxyInfo.LocalPort == "" || proxyInfo.RemotePort == "" {
proxyInfo.LocalPort == 0 || proxyInfo.RemotePort == 0 {
postLog.Error("[CreateProxyHandler] Missing required fields in proxyInfo")
SendErrorResponse(w, http.StatusBadRequest, "Missing required fields in proxyInfo")
return
@@ -148,12 +148,12 @@ func ModifyProxyHandler(w http.ResponseWriter, r *http.Request) {
Name: getStringFromMap(proxyInfoMap, "name"),
Type: getStringFromMap(proxyInfoMap, "type"),
LocalIP: getStringFromMap(proxyInfoMap, "localIP"),
LocalPort: getStringFromMap(proxyInfoMap, "localPort"),
RemotePort: getStringFromMap(proxyInfoMap, "remotePort"),
LocalPort: getNumFromMap(proxyInfoMap, "localPort"),
RemotePort: getNumFromMap(proxyInfoMap, "remotePort"),
}
if proxyInfo.Name == "" || proxyInfo.Type == "" || proxyInfo.LocalIP == "" ||
proxyInfo.LocalPort == "" || proxyInfo.RemotePort == "" {
proxyInfo.LocalPort == 0 || proxyInfo.RemotePort == 0 {
postLog.Error("[ModifyProxyHandler] Missing required fields in proxyInfo")
SendErrorResponse(w, http.StatusBadRequest, "Missing required fields in proxyInfo")
return