package router import ( "github.com/gin-gonic/gin" "hy2xs-admin/controller" ) // Серверный конфиг Hysteria в HY2XS доступен только на чтение и на выгрузку: // его владелец — install-оркестратор. Маршруты записи (updateHysteria2Config, // importHysteria2Config), перезапуска панели и загрузки сертификатов удалены, // а не оставлены заглушками: маршрут, который всегда отвечает «feature // disabled», вводит в заблуждение и остаётся точкой входа. // // По той же причине здесь нет generic exportConfig/importConfig: они отдавали // и принимали таблицу `config` целиком, вместе с JWT- и peer-ключами. // См. комментарий в controller/config.go. // // Маршрута getConfig тоже нет. Он принимал произвольный ключ и был вторым // входом в ту же таблицу секретов, только точечным: `?key=JWT_SECRET` // возвращал подписывающий ключ, `?key=PEER_SECRET_ENCRYPTION_KEY` — master-key // шифрования секретов пиров. Потребителей у маршрута не было ни одного: // панель читает настройки через listConfig, у которого теперь allowlist. func initConfigRouter(configApi *gin.RouterGroup) { config := configApi.Group("/config") { config.POST("/updateConfigs", controller.UpdateConfigs) config.POST("/listConfig", controller.ListConfig) config.GET("/getHysteria2Config", controller.GetHysteria2Config) config.POST("/exportHysteria2Config", controller.ExportHysteria2Config) } }