feat: add authentication options for plugins including AuthEnabled, AuthUsername, and AuthPassword
All checks were successful
Build Multi-Platform Binaries / build-frontend (push) Successful in 3m27s
Build Multi-Platform Binaries / build-binaries (amd64, linux, client, true) (push) Successful in 5m51s
Build Multi-Platform Binaries / build-binaries (amd64, darwin, server, false) (push) Successful in 9m56s
Build Multi-Platform Binaries / build-binaries (amd64, linux, server, true) (push) Successful in 7m58s
Build Multi-Platform Binaries / build-binaries (amd64, windows, client, true) (push) Successful in 6m5s
Build Multi-Platform Binaries / build-binaries (arm, 7, linux, client, true) (push) Successful in 3m45s
Build Multi-Platform Binaries / build-binaries (amd64, windows, server, true) (push) Successful in 9m10s
Build Multi-Platform Binaries / build-binaries (arm, 7, linux, server, true) (push) Successful in 7m44s
Build Multi-Platform Binaries / build-binaries (arm64, linux, client, true) (push) Successful in 4m49s
Build Multi-Platform Binaries / build-binaries (arm64, darwin, server, false) (push) Successful in 10m19s
Build Multi-Platform Binaries / build-binaries (arm64, linux, server, true) (push) Successful in 7m35s
Build Multi-Platform Binaries / build-binaries (arm64, windows, server, false) (push) Successful in 10m2s
All checks were successful
Build Multi-Platform Binaries / build-frontend (push) Successful in 3m27s
Build Multi-Platform Binaries / build-binaries (amd64, linux, client, true) (push) Successful in 5m51s
Build Multi-Platform Binaries / build-binaries (amd64, darwin, server, false) (push) Successful in 9m56s
Build Multi-Platform Binaries / build-binaries (amd64, linux, server, true) (push) Successful in 7m58s
Build Multi-Platform Binaries / build-binaries (amd64, windows, client, true) (push) Successful in 6m5s
Build Multi-Platform Binaries / build-binaries (arm, 7, linux, client, true) (push) Successful in 3m45s
Build Multi-Platform Binaries / build-binaries (amd64, windows, server, true) (push) Successful in 9m10s
Build Multi-Platform Binaries / build-binaries (arm, 7, linux, server, true) (push) Successful in 7m44s
Build Multi-Platform Binaries / build-binaries (arm64, linux, client, true) (push) Successful in 4m49s
Build Multi-Platform Binaries / build-binaries (arm64, darwin, server, false) (push) Successful in 10m19s
Build Multi-Platform Binaries / build-binaries (arm64, linux, server, true) (push) Successful in 7m35s
Build Multi-Platform Binaries / build-binaries (arm64, windows, server, false) (push) Successful in 10m2s
This commit is contained in:
@@ -15,14 +15,17 @@ type ConfigField struct {
|
||||
|
||||
// ClientPlugin 客户端已安装的插件
|
||||
type ClientPlugin struct {
|
||||
ID string `json:"id"` // 插件实例唯一 ID
|
||||
ID string `json:"id"` // 插件实例唯一 ID
|
||||
Name string `json:"name"`
|
||||
Version string `json:"version"`
|
||||
Enabled bool `json:"enabled"`
|
||||
Running bool `json:"running"` // 运行状态
|
||||
Config map[string]string `json:"config,omitempty"` // 插件配置
|
||||
RemotePort int `json:"remote_port,omitempty"`// 远程监听端口
|
||||
Running bool `json:"running"` // 运行状态
|
||||
Config map[string]string `json:"config,omitempty"` // 插件配置
|
||||
RemotePort int `json:"remote_port,omitempty"` // 远程监听端口
|
||||
ConfigSchema []ConfigField `json:"config_schema,omitempty"` // 配置模式
|
||||
AuthEnabled bool `json:"auth_enabled,omitempty"` // 是否启用认证
|
||||
AuthUsername string `json:"auth_username,omitempty"` // 认证用户名
|
||||
AuthPassword string `json:"auth_password,omitempty"` // 认证密码
|
||||
}
|
||||
|
||||
// Client 客户端数据
|
||||
|
||||
@@ -179,6 +179,9 @@ func (h *StoreHandler) Install(c *gin.Context) {
|
||||
if p.Name == req.PluginName {
|
||||
dbClient.Plugins[i].Enabled = true
|
||||
dbClient.Plugins[i].RemotePort = req.RemotePort
|
||||
dbClient.Plugins[i].AuthEnabled = req.AuthEnabled
|
||||
dbClient.Plugins[i].AuthUsername = req.AuthUsername
|
||||
dbClient.Plugins[i].AuthPassword = req.AuthPassword
|
||||
// 确保有 ID
|
||||
if dbClient.Plugins[i].ID == "" {
|
||||
dbClient.Plugins[i].ID = pluginID
|
||||
@@ -212,6 +215,9 @@ func (h *StoreHandler) Install(c *gin.Context) {
|
||||
Enabled: true,
|
||||
RemotePort: req.RemotePort,
|
||||
ConfigSchema: configSchema,
|
||||
AuthEnabled: req.AuthEnabled,
|
||||
AuthUsername: req.AuthUsername,
|
||||
AuthPassword: req.AuthPassword,
|
||||
})
|
||||
}
|
||||
|
||||
|
||||
@@ -1319,10 +1319,13 @@ func (s *Server) pushClientInstalledPlugins(cs *ClientSession, alreadyPushed map
|
||||
} else if cp.RemotePort > 0 {
|
||||
// 安装成功后启动服务端监听器
|
||||
pluginRule := protocol.ProxyRule{
|
||||
Name: cp.Name,
|
||||
Type: cp.Name,
|
||||
RemotePort: cp.RemotePort,
|
||||
Enabled: boolPtr(true),
|
||||
Name: cp.Name,
|
||||
Type: cp.Name,
|
||||
RemotePort: cp.RemotePort,
|
||||
Enabled: boolPtr(true),
|
||||
AuthEnabled: cp.AuthEnabled,
|
||||
AuthUsername: cp.AuthUsername,
|
||||
AuthPassword: cp.AuthPassword,
|
||||
}
|
||||
s.startClientPluginListener(cs, pluginRule)
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user