refactor(admin): удалить мёртвый updater/config-write API и его UI
Маршруты, операциями которых продукт не владеет, отвечали заглушкой "managed by orchestrator" или пустым списком: POST /hysteria2ChangeVersion GET /listRelease POST /config/updateHysteria2Config POST /config/importHysteria2Config POST /config/restartServer POST /config/uploadCertFile GET /config/hysteria2AcmePath (не имел потребителя вовсе) Они удалены, а не оставлены заглушками. Причины две. API-контракт не должен обещать updater, которого у продукта принципиально нет: маршрут, всегда возвращающий отказ, вводит в заблуждение. И это лишняя attack surface плюс технический мусор от прежней архитектуры. Вместе с маршрутами убраны мёртвые сервисы (StartHysteria2, StopHysteria2, RestartHysteria2, SetHysteria2Config, UpdateHysteria2Config, GetAuthHttpUrl, Hysteria2AcmePath), неиспользуемые типы и клиентские функции фронтенда. Отдельно - кнопки. "Перезапустить панель" и загрузка сертификатов обращались к заглушкам, то есть гарантированно возвращали ошибку. Кнопка, которая всегда падает, - не точка расширения на будущее, а дефект UX. Удалены вместе со строками i18n. Конфигурация Hysteria остаётся доступной панели на чтение и на выгрузку: getHysteria2Config и exportHysteria2Config.
This commit is contained in:
@@ -5,6 +5,11 @@ import (
|
||||
"hy2xs-admin/controller"
|
||||
)
|
||||
|
||||
// Серверный конфиг Hysteria в HY2XS доступен только на чтение и на выгрузку:
|
||||
// его владелец — install-оркестратор. Маршруты записи (updateHysteria2Config,
|
||||
// importHysteria2Config), перезапуска панели и загрузки сертификатов удалены,
|
||||
// а не оставлены заглушками: маршрут, который всегда отвечает «feature
|
||||
// disabled», вводит в заблуждение и остаётся точкой входа.
|
||||
func initConfigRouter(configApi *gin.RouterGroup) {
|
||||
config := configApi.Group("/config")
|
||||
{
|
||||
@@ -12,13 +17,8 @@ func initConfigRouter(configApi *gin.RouterGroup) {
|
||||
config.GET("/getConfig", controller.GetConfig)
|
||||
config.POST("/listConfig", controller.ListConfig)
|
||||
config.GET("/getHysteria2Config", controller.GetHysteria2Config)
|
||||
config.POST("/updateHysteria2Config", controller.UpdateHysteria2Config)
|
||||
config.POST("/exportHysteria2Config", controller.ExportHysteria2Config)
|
||||
config.POST("/importHysteria2Config", controller.ImportHysteria2Config)
|
||||
config.POST("/exportConfig", controller.ExportConfig)
|
||||
config.POST("/importConfig", controller.ImportConfig)
|
||||
config.GET("/hysteria2AcmePath", controller.Hysteria2AcmePath)
|
||||
config.POST("/restartServer", controller.RestartServer)
|
||||
config.POST("/uploadCertFile", controller.UploadCertFile)
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user