basePath: /api definitions: acme.DNSParam: properties: access_key: type: string api_key: type: string id: type: string secret_key: type: string token: type: string type: object acme.DNSRecord: properties: key: type: string value: type: string type: object controllers.ErrorResponse: properties: message: type: string type: object controllers.SuccessResponse: properties: data: {} message: type: string type: object github_com_TheTNB_panel_app_http_requests_container.ID: properties: id: type: string type: object github_com_TheTNB_panel_app_http_requests_plugins_frp.UpdateConfig: properties: config: type: string service: type: string type: object github_com_TheTNB_panel_app_http_requests_plugins_gitea.UpdateConfig: properties: config: type: string type: object github_com_TheTNB_panel_app_http_requests_plugins_rsync.Update: properties: auth_user: type: string comment: type: string hosts_allow: type: string name: type: string path: type: string secret: type: string type: object github_com_TheTNB_panel_app_http_requests_plugins_rsync.UpdateConfig: properties: config: type: string type: object github_com_TheTNB_panel_app_http_requests_setting.Update: properties: backup_path: type: string email: type: string entrance: type: string language: type: string name: type: string password: type: string port: type: integer ssl: type: boolean username: type: string website_path: type: string type: object github_com_goravel_framework_support_carbon.DateTime: properties: error: {} type: object models.Cert: properties: auto_renew: description: 自动续签 type: boolean cert: description: 证书内容 type: string cert_url: description: 证书 URL (续签时使用) type: string created_at: $ref: '#/definitions/github_com_goravel_framework_support_carbon.DateTime' dns: $ref: '#/definitions/models.CertDNS' dns_id: description: 关联的 DNS ID type: integer domains: items: type: string type: array id: type: integer key: description: 私钥内容 type: string type: description: 证书类型 (P256, P384, 2048, 4096) type: string updated_at: $ref: '#/definitions/github_com_goravel_framework_support_carbon.DateTime' user: $ref: '#/definitions/models.CertUser' user_id: description: 关联的 ACME 用户 ID type: integer website: $ref: '#/definitions/models.Website' website_id: description: 关联的网站 ID type: integer type: object models.CertDNS: properties: created_at: $ref: '#/definitions/github_com_goravel_framework_support_carbon.DateTime' dns_param: $ref: '#/definitions/acme.DNSParam' id: type: integer name: description: 备注名称 type: string type: description: DNS 提供商 (dnspod, aliyun, cloudflare) type: string updated_at: $ref: '#/definitions/github_com_goravel_framework_support_carbon.DateTime' type: object models.CertUser: properties: ca: description: CA 提供商 (letsencrypt, zerossl, sslcom, google, buypass) type: string created_at: $ref: '#/definitions/github_com_goravel_framework_support_carbon.DateTime' email: type: string hmac_encoded: type: string id: type: integer key_type: type: string kid: type: string private_key: type: string updated_at: $ref: '#/definitions/github_com_goravel_framework_support_carbon.DateTime' type: object models.Website: properties: cert: $ref: '#/definitions/models.Cert' created_at: $ref: '#/definitions/github_com_goravel_framework_support_carbon.DateTime' id: type: integer name: type: string path: type: string php: type: integer remark: type: string ssl: type: boolean status: type: boolean updated_at: $ref: '#/definitions/github_com_goravel_framework_support_carbon.DateTime' type: object requests.Add: properties: db: type: boolean db_name: type: string db_password: type: string db_type: type: string db_user: type: string domains: items: type: string type: array name: type: string path: type: string php: type: string ports: items: type: integer type: array type: object requests.Archive: properties: file: type: string paths: items: type: string type: array type: object requests.CertDeploy: properties: id: type: integer website_id: type: integer type: object requests.CertStore: properties: auto_renew: type: boolean dns_id: type: integer domains: items: type: string type: array type: type: string user_id: type: integer website_id: type: integer type: object requests.CertUpdate: properties: auto_renew: type: boolean dns_id: type: integer domains: items: type: string type: array id: type: integer type: type: string user_id: type: integer website_id: type: integer type: object requests.ContainerCreate: properties: auto_remove: type: boolean command: items: type: string type: array cpu_shares: type: integer cpus: type: integer entrypoint: items: type: string type: array env: items: $ref: '#/definitions/types.KV' type: array image: type: string labels: items: $ref: '#/definitions/types.KV' type: array memory: type: integer name: type: string network: type: string open_stdin: type: boolean ports: items: $ref: '#/definitions/types.ContainerPort' type: array privileged: type: boolean publish_all_ports: type: boolean restart_policy: type: string tty: type: boolean volumes: items: $ref: '#/definitions/types.ContainerVolume' type: array type: object requests.ContainerRename: properties: id: type: string name: type: string type: object requests.Copy: properties: source: type: string target: type: string type: object requests.Create: properties: auth_user: type: string comment: type: string hosts_allow: type: string name: type: string path: type: string secret: type: string type: object requests.DNSStore: properties: data: $ref: '#/definitions/acme.DNSParam' name: type: string type: type: string type: object requests.DNSUpdate: properties: data: $ref: '#/definitions/acme.DNSParam' id: type: integer name: type: string type: type: string type: object requests.DeleteBackup: properties: name: type: string type: object requests.Exist: properties: path: type: string type: object requests.ImagePull: properties: auth: type: boolean name: type: string password: type: string username: type: string type: object requests.Login: properties: password: type: string username: type: string type: object requests.Move: properties: source: type: string target: type: string type: object requests.NetworkConnectDisConnect: properties: container: type: string network: type: string type: object requests.NetworkCreate: properties: driver: type: string ipv4: $ref: '#/definitions/types.ContainerNetwork' ipv6: $ref: '#/definitions/types.ContainerNetwork' labels: items: $ref: '#/definitions/types.KV' type: array name: type: string options: items: $ref: '#/definitions/types.KV' type: array type: object requests.NotExist: properties: path: type: string type: object requests.Obtain: properties: id: type: integer type: object requests.Permission: properties: group: type: string mode: type: integer owner: type: string path: type: string type: object requests.Renew: properties: id: type: integer type: object requests.Save: properties: content: type: string path: type: string type: object requests.SaveConfig: properties: domains: items: type: string type: array hsts: type: boolean http_redirect: type: boolean id: type: integer index: type: string open_basedir: type: boolean path: type: string php: type: integer ports: items: type: integer type: array raw: type: string rewrite: type: string root: type: string ssl: type: boolean ssl_certificate: type: string ssl_certificate_key: type: string waf: type: boolean waf_cache: type: string waf_cc_deny: type: string waf_mode: type: string type: object requests.Search: properties: keyword: type: string path: type: string type: object requests.UnArchive: properties: file: type: string path: type: string type: object requests.UpdateRegistryConfig: properties: config: type: string type: object requests.UpdateStorageConfig: properties: config: type: string type: object requests.UserStore: properties: ca: type: string email: type: string hmac_encoded: type: string key_type: type: string kid: type: string type: object requests.UserUpdate: properties: ca: type: string email: type: string hmac_encoded: type: string id: type: integer key_type: type: string kid: type: string type: object requests.VolumeCreate: properties: driver: type: string labels: items: $ref: '#/definitions/types.KV' type: array name: type: string options: items: $ref: '#/definitions/types.KV' type: array type: object types.BackupFile: properties: name: type: string size: type: string type: object types.ContainerNetwork: properties: enabled: type: boolean gateway: type: string ip_range: type: string subnet: type: string type: object types.ContainerPort: properties: container_end: type: integer container_start: type: integer host: type: string host_end: type: integer host_start: type: integer protocol: type: string type: object types.ContainerVolume: properties: container: type: string host: type: string mode: type: string type: object types.KV: properties: key: type: string value: type: string type: object types.Website: properties: db: type: boolean db_name: type: string db_password: type: string db_type: type: string db_user: type: string domains: items: type: string type: array name: type: string path: type: string php: type: string ports: items: type: integer type: array remark: type: string ssl: type: boolean status: type: boolean type: object info: contact: email: admin@haozi.net name: 耗子科技 description: 耗子面板的 API 信息 license: name: GNU Affero General Public License v3 title: 耗子面板 API version: "2" paths: /panel/cert/algorithms: get: description: 获取面板证书管理支持的算法列表 produces: - application/json responses: "200": description: OK schema: $ref: '#/definitions/controllers.SuccessResponse' security: - BearerToken: [] summary: 获取算法列表 tags: - TLS证书 /panel/cert/caProviders: get: description: 获取面板证书管理支持的 CA 提供商 produces: - application/json responses: "200": description: OK schema: $ref: '#/definitions/controllers.SuccessResponse' security: - BearerToken: [] summary: 获取 CA 提供商 tags: - TLS证书 /panel/cert/certs: get: description: 获取面板证书管理的证书列表 parameters: - in: query name: limit type: integer - in: query name: page type: integer produces: - application/json responses: "200": description: OK schema: $ref: '#/definitions/controllers.SuccessResponse' security: - BearerToken: [] summary: 获取证书列表 tags: - TLS证书 post: consumes: - application/json description: 添加证书到面板证书管理 parameters: - description: request in: body name: data required: true schema: $ref: '#/definitions/requests.CertStore' produces: - application/json responses: "200": description: OK schema: $ref: '#/definitions/controllers.SuccessResponse' security: - BearerToken: [] summary: 添加证书 tags: - TLS证书 /panel/cert/certs/{id}: delete: consumes: - application/json description: 删除面板证书管理的证书 parameters: - description: 证书 ID in: path name: id required: true type: integer produces: - application/json responses: "200": description: OK schema: $ref: '#/definitions/controllers.SuccessResponse' security: - BearerToken: [] summary: 删除证书 tags: - TLS证书 get: description: 获取面板证书管理的证书 parameters: - description: 证书 ID in: path name: id required: true type: integer produces: - application/json responses: "200": description: OK schema: allOf: - $ref: '#/definitions/controllers.SuccessResponse' - properties: data: $ref: '#/definitions/models.Cert' type: object security: - BearerToken: [] summary: 获取证书 tags: - TLS证书 put: consumes: - application/json description: 更新面板证书管理的证书 parameters: - description: 证书 ID in: path name: id required: true type: integer - description: request in: body name: data required: true schema: $ref: '#/definitions/requests.CertUpdate' produces: - application/json responses: "200": description: OK schema: $ref: '#/definitions/controllers.SuccessResponse' security: - BearerToken: [] summary: 更新证书 tags: - TLS证书 /panel/cert/deploy: post: consumes: - application/json description: 部署面板证书管理的证书 parameters: - description: request in: body name: data required: true schema: $ref: '#/definitions/requests.CertDeploy' produces: - application/json responses: "200": description: OK schema: $ref: '#/definitions/controllers.SuccessResponse' security: - BearerToken: [] summary: 部署证书 tags: - TLS证书 /panel/cert/dns: get: description: 获取面板证书管理的 DNS 接口列表 parameters: - in: query name: limit type: integer - in: query name: page type: integer produces: - application/json responses: "200": description: OK schema: $ref: '#/definitions/controllers.SuccessResponse' security: - BearerToken: [] summary: 获取 DNS 接口列表 tags: - TLS证书 post: consumes: - application/json description: 添加 DNS 接口到面板证书管理 parameters: - description: request in: body name: data required: true schema: $ref: '#/definitions/requests.DNSStore' produces: - application/json responses: "200": description: OK schema: $ref: '#/definitions/controllers.SuccessResponse' security: - BearerToken: [] summary: 添加 DNS 接口 tags: - TLS证书 /panel/cert/dns/{id}: delete: consumes: - application/json description: 删除面板证书管理的 DNS 接口 parameters: - description: DNS 接口 ID in: path name: id required: true type: integer produces: - application/json responses: "200": description: OK schema: $ref: '#/definitions/controllers.SuccessResponse' security: - BearerToken: [] summary: 删除 DNS 接口 tags: - TLS证书 get: description: 获取面板证书管理的 DNS 接口 parameters: - description: DNS 接口 ID in: path name: id required: true type: integer produces: - application/json responses: "200": description: OK schema: allOf: - $ref: '#/definitions/controllers.SuccessResponse' - properties: data: $ref: '#/definitions/models.CertDNS' type: object security: - BearerToken: [] summary: 获取 DNS 接口 tags: - TLS证书 put: consumes: - application/json description: 更新面板证书管理的 DNS 接口 parameters: - description: DNS 接口 ID in: path name: id required: true type: integer - description: request in: body name: data required: true schema: $ref: '#/definitions/requests.DNSUpdate' produces: - application/json responses: "200": description: OK schema: $ref: '#/definitions/controllers.SuccessResponse' security: - BearerToken: [] summary: 更新 DNS 接口 tags: - TLS证书 /panel/cert/dnsProviders: get: description: 获取面板证书管理支持的 DNS 提供商 produces: - application/json responses: "200": description: OK schema: $ref: '#/definitions/controllers.SuccessResponse' security: - BearerToken: [] summary: 获取 DNS 提供商 tags: - TLS证书 /panel/cert/manualDNS: post: consumes: - application/json description: 获取签发证书所需的 DNS 记录 parameters: - description: request in: body name: data required: true schema: $ref: '#/definitions/requests.Obtain' produces: - application/json responses: "200": description: OK schema: allOf: - $ref: '#/definitions/controllers.SuccessResponse' - properties: data: items: $ref: '#/definitions/acme.DNSRecord' type: array type: object security: - BearerToken: [] summary: 获取手动 DNS 记录 tags: - TLS证书 /panel/cert/obtain: post: consumes: - application/json description: 签发面板证书管理的证书 parameters: - description: request in: body name: data required: true schema: $ref: '#/definitions/requests.Obtain' produces: - application/json responses: "200": description: OK schema: $ref: '#/definitions/controllers.SuccessResponse' security: - BearerToken: [] summary: 签发证书 tags: - TLS证书 /panel/cert/renew: post: consumes: - application/json description: 续签面板证书管理的证书 parameters: - description: request in: body name: data required: true schema: $ref: '#/definitions/requests.Renew' produces: - application/json responses: "200": description: OK schema: $ref: '#/definitions/controllers.SuccessResponse' security: - BearerToken: [] summary: 续签证书 tags: - TLS证书 /panel/cert/users: get: description: 获取面板证书管理的 ACME 用户列表 parameters: - in: query name: limit type: integer - in: query name: page type: integer produces: - application/json responses: "200": description: OK schema: $ref: '#/definitions/controllers.SuccessResponse' security: - BearerToken: [] summary: 获取用户列表 tags: - TLS证书 post: consumes: - application/json description: 添加 ACME 用户到面板证书管理 parameters: - description: request in: body name: data required: true schema: $ref: '#/definitions/requests.UserStore' produces: - application/json responses: "200": description: OK schema: $ref: '#/definitions/controllers.SuccessResponse' security: - BearerToken: [] summary: 添加 ACME 用户 tags: - TLS证书 /panel/cert/users/{id}: delete: consumes: - application/json description: 删除面板证书管理的 ACME 用户 parameters: - description: 用户 ID in: path name: id required: true type: integer produces: - application/json responses: "200": description: OK schema: $ref: '#/definitions/controllers.SuccessResponse' security: - BearerToken: [] summary: 删除 ACME 用户 tags: - TLS证书 get: description: 获取面板证书管理的 ACME 用户 parameters: - description: 用户 ID in: path name: id required: true type: integer produces: - application/json responses: "200": description: OK schema: allOf: - $ref: '#/definitions/controllers.SuccessResponse' - properties: data: $ref: '#/definitions/models.CertUser' type: object security: - BearerToken: [] summary: 获取 ACME 用户 tags: - TLS证书 put: consumes: - application/json description: 更新面板证书管理的 ACME 用户 parameters: - description: 用户 ID in: path name: id required: true type: integer - description: request in: body name: data required: true schema: $ref: '#/definitions/requests.UserUpdate' produces: - application/json responses: "200": description: OK schema: $ref: '#/definitions/controllers.SuccessResponse' security: - BearerToken: [] summary: 更新 ACME 用户 tags: - TLS证书 /panel/container/create: post: consumes: - application/json description: 创建一个容器 parameters: - description: request in: body name: data required: true schema: $ref: '#/definitions/requests.ContainerCreate' produces: - application/json responses: "200": description: OK schema: $ref: '#/definitions/controllers.SuccessResponse' security: - BearerToken: [] summary: 创建容器 tags: - 容器 /panel/container/exist: get: description: 检查一个容器是否存在 parameters: - in: query name: id type: string produces: - application/json responses: "200": description: OK schema: $ref: '#/definitions/controllers.SuccessResponse' security: - BearerToken: [] summary: 检查容器是否存在 tags: - 容器 /panel/container/image/exist: get: description: 检查一个镜像是否存在 parameters: - in: query name: id type: string produces: - application/json responses: "200": description: OK schema: $ref: '#/definitions/controllers.SuccessResponse' security: - BearerToken: [] summary: 检查镜像是否存在 tags: - 容器 /panel/container/image/inspect: get: description: 查看一个镜像的详细信息 parameters: - in: query name: id type: string produces: - application/json responses: "200": description: OK schema: $ref: '#/definitions/controllers.SuccessResponse' security: - BearerToken: [] summary: 查看镜像 tags: - 容器 /panel/container/image/list: get: description: 获取所有镜像列表 parameters: - in: query name: limit type: integer - in: query name: page type: integer produces: - application/json responses: "200": description: OK schema: $ref: '#/definitions/controllers.SuccessResponse' security: - BearerToken: [] summary: 获取镜像列表 tags: - 容器 /panel/container/image/prune: post: description: 清理无用的镜像 produces: - application/json responses: "200": description: OK schema: $ref: '#/definitions/controllers.SuccessResponse' security: - BearerToken: [] summary: 清理镜像 tags: - 容器 /panel/container/image/pull: post: consumes: - application/json description: 拉取一个镜像 parameters: - description: request in: body name: data required: true schema: $ref: '#/definitions/requests.ImagePull' produces: - application/json responses: "200": description: OK schema: $ref: '#/definitions/controllers.SuccessResponse' security: - BearerToken: [] summary: 拉取镜像 tags: - 容器 /panel/container/image/remove: post: description: 删除一个镜像 parameters: - description: request in: body name: data required: true schema: $ref: '#/definitions/github_com_TheTNB_panel_app_http_requests_container.ID' produces: - application/json responses: "200": description: OK schema: $ref: '#/definitions/controllers.SuccessResponse' security: - BearerToken: [] summary: 删除镜像 tags: - 容器 /panel/container/inspect: get: description: 查看一个容器的详细信息 parameters: - in: query name: id type: string produces: - application/json responses: "200": description: OK schema: $ref: '#/definitions/controllers.SuccessResponse' security: - BearerToken: [] summary: 查看容器 tags: - 容器 /panel/container/kill: post: description: 杀死一个容器 parameters: - description: request in: body name: data required: true schema: $ref: '#/definitions/github_com_TheTNB_panel_app_http_requests_container.ID' produces: - application/json responses: "200": description: OK schema: $ref: '#/definitions/controllers.SuccessResponse' security: - BearerToken: [] summary: 杀死容器 tags: - 容器 /panel/container/list: get: description: 获取所有容器列表 parameters: - in: query name: limit type: integer - in: query name: page type: integer produces: - application/json responses: "200": description: OK schema: $ref: '#/definitions/controllers.SuccessResponse' security: - BearerToken: [] summary: 获取容器列表 tags: - 容器 /panel/container/logs: get: description: 查看一个容器的日志 parameters: - in: query name: id type: string produces: - application/json responses: "200": description: OK schema: $ref: '#/definitions/controllers.SuccessResponse' security: - BearerToken: [] summary: 查看容器日志 tags: - 容器 /panel/container/network/connect: post: consumes: - application/json description: 连接一个容器到一个网络 parameters: - description: request in: body name: data required: true schema: $ref: '#/definitions/requests.NetworkConnectDisConnect' produces: - application/json responses: "200": description: OK schema: $ref: '#/definitions/controllers.SuccessResponse' security: - BearerToken: [] summary: 连接容器到网络 tags: - 容器 /panel/container/network/create: post: consumes: - application/json description: 创建一个网络 parameters: - description: request in: body name: data required: true schema: $ref: '#/definitions/requests.NetworkCreate' produces: - application/json responses: "200": description: OK schema: $ref: '#/definitions/controllers.SuccessResponse' security: - BearerToken: [] summary: 创建网络 tags: - 容器 /panel/container/network/disconnect: post: consumes: - application/json description: 从一个网络断开一个容器 parameters: - description: request in: body name: data required: true schema: $ref: '#/definitions/requests.NetworkConnectDisConnect' produces: - application/json responses: "200": description: OK schema: $ref: '#/definitions/controllers.SuccessResponse' security: - BearerToken: [] summary: 从网络断开容器 tags: - 容器 /panel/container/network/exist: get: description: 检查一个网络是否存在 parameters: - in: query name: id type: string produces: - application/json responses: "200": description: OK schema: $ref: '#/definitions/controllers.SuccessResponse' security: - BearerToken: [] summary: 检查网络是否存在 tags: - 容器 /panel/container/network/inspect: get: description: 查看一个网络的详细信息 parameters: - in: query name: id type: string produces: - application/json responses: "200": description: OK schema: $ref: '#/definitions/controllers.SuccessResponse' security: - BearerToken: [] summary: 查看网络 tags: - 容器 /panel/container/network/list: get: description: 获取所有网络列表 parameters: - in: query name: limit type: integer - in: query name: page type: integer produces: - application/json responses: "200": description: OK schema: $ref: '#/definitions/controllers.SuccessResponse' security: - BearerToken: [] summary: 获取网络列表 tags: - 容器 /panel/container/network/prune: post: description: 清理无用的网络 produces: - application/json responses: "200": description: OK schema: $ref: '#/definitions/controllers.SuccessResponse' security: - BearerToken: [] summary: 清理网络 tags: - 容器 /panel/container/network/remove: post: description: 删除一个网络 parameters: - description: request in: body name: data required: true schema: $ref: '#/definitions/github_com_TheTNB_panel_app_http_requests_container.ID' produces: - application/json responses: "200": description: OK schema: $ref: '#/definitions/controllers.SuccessResponse' security: - BearerToken: [] summary: 删除网络 tags: - 容器 /panel/container/prune: post: description: 清理无用的容器 produces: - application/json responses: "200": description: OK schema: $ref: '#/definitions/controllers.SuccessResponse' security: - BearerToken: [] summary: 清理容器 tags: - 容器 /panel/container/remove: post: description: 删除一个容器 parameters: - description: request in: body name: data required: true schema: $ref: '#/definitions/github_com_TheTNB_panel_app_http_requests_container.ID' produces: - application/json responses: "200": description: OK schema: $ref: '#/definitions/controllers.SuccessResponse' security: - BearerToken: [] summary: 删除容器 tags: - 容器 /panel/container/rename: post: description: 重命名一个容器 parameters: - description: request in: body name: data required: true schema: $ref: '#/definitions/requests.ContainerRename' produces: - application/json responses: "200": description: OK schema: $ref: '#/definitions/controllers.SuccessResponse' security: - BearerToken: [] summary: 重命名容器 tags: - 容器 /panel/container/restart: post: description: 重启一个容器 parameters: - description: request in: body name: data required: true schema: $ref: '#/definitions/github_com_TheTNB_panel_app_http_requests_container.ID' produces: - application/json responses: "200": description: OK schema: $ref: '#/definitions/controllers.SuccessResponse' security: - BearerToken: [] summary: 重启容器 tags: - 容器 /panel/container/search: get: description: 根据容器名称搜索容器 parameters: - description: 容器名称 in: query name: name required: true type: string produces: - application/json responses: "200": description: OK schema: $ref: '#/definitions/controllers.SuccessResponse' security: - BearerToken: [] summary: 搜索容器 tags: - 容器 /panel/container/start: post: description: 启动一个容器 parameters: - description: request in: body name: data required: true schema: $ref: '#/definitions/github_com_TheTNB_panel_app_http_requests_container.ID' produces: - application/json responses: "200": description: OK schema: $ref: '#/definitions/controllers.SuccessResponse' security: - BearerToken: [] summary: 启动容器 tags: - 容器 /panel/container/stats: get: description: 查看一个容器的状态信息 parameters: - in: query name: id type: string produces: - application/json responses: "200": description: OK schema: $ref: '#/definitions/controllers.SuccessResponse' security: - BearerToken: [] summary: 查看容器状态 tags: - 容器 /panel/container/stop: post: description: 停止一个容器 parameters: - description: request in: body name: data required: true schema: $ref: '#/definitions/github_com_TheTNB_panel_app_http_requests_container.ID' produces: - application/json responses: "200": description: OK schema: $ref: '#/definitions/controllers.SuccessResponse' security: - BearerToken: [] summary: 停止容器 tags: - 容器 /panel/container/unpause: post: description: 取消暂停一个容器 parameters: - description: request in: body name: data required: true schema: $ref: '#/definitions/github_com_TheTNB_panel_app_http_requests_container.ID' produces: - application/json responses: "200": description: OK schema: $ref: '#/definitions/controllers.SuccessResponse' security: - BearerToken: [] summary: 取消暂停容器 tags: - 容器 /panel/container/volume/create: post: consumes: - application/json description: 创建一个卷 parameters: - description: request in: body name: data required: true schema: $ref: '#/definitions/requests.VolumeCreate' produces: - application/json responses: "200": description: OK schema: $ref: '#/definitions/controllers.SuccessResponse' security: - BearerToken: [] summary: 创建卷 tags: - 容器 /panel/container/volume/exist: get: description: 检查一个卷是否存在 parameters: - in: query name: id type: string produces: - application/json responses: "200": description: OK schema: $ref: '#/definitions/controllers.SuccessResponse' security: - BearerToken: [] summary: 检查卷是否存在 tags: - 容器 /panel/container/volume/inspect: get: description: 查看一个卷的详细信息 parameters: - in: query name: id type: string produces: - application/json responses: "200": description: OK schema: $ref: '#/definitions/controllers.SuccessResponse' security: - BearerToken: [] summary: 查看卷 tags: - 容器 /panel/container/volume/list: get: description: 获取所有卷列表 parameters: - in: query name: limit type: integer - in: query name: page type: integer produces: - application/json responses: "200": description: OK schema: $ref: '#/definitions/controllers.SuccessResponse' security: - BearerToken: [] summary: 获取卷列表 tags: - 容器 /panel/container/volume/prune: post: description: 清理无用的卷 produces: - application/json responses: "200": description: OK schema: $ref: '#/definitions/controllers.SuccessResponse' security: - BearerToken: [] summary: 清理卷 tags: - 容器 /panel/container/volume/remove: post: description: 删除一个卷 parameters: - description: request in: body name: data required: true schema: $ref: '#/definitions/github_com_TheTNB_panel_app_http_requests_container.ID' produces: - application/json responses: "200": description: OK schema: $ref: '#/definitions/controllers.SuccessResponse' security: - BearerToken: [] summary: 删除卷 tags: - 容器 /panel/file/archive: post: consumes: - application/json description: 压缩文件/目录到给定路径 parameters: - description: request in: body name: data required: true schema: $ref: '#/definitions/requests.Archive' produces: - application/json responses: "200": description: OK schema: $ref: '#/definitions/controllers.SuccessResponse' security: - BearerToken: [] summary: 压缩文件/目录 tags: - 文件 /panel/file/content: get: consumes: - application/json description: 获取给定路径的文件内容 parameters: - in: query name: path type: string produces: - application/json responses: "200": description: OK schema: $ref: '#/definitions/controllers.SuccessResponse' security: - BearerToken: [] summary: 获取文件内容 tags: - 文件 /panel/file/copy: post: consumes: - application/json description: 复制文件/目录到给定路径 parameters: - description: request in: body name: data required: true schema: $ref: '#/definitions/requests.Copy' produces: - application/json responses: "200": description: OK schema: $ref: '#/definitions/controllers.SuccessResponse' security: - BearerToken: [] summary: 复制文件/目录 tags: - 文件 /panel/file/create: post: consumes: - application/json description: 创建文件/目录到给定路径 parameters: - description: request in: body name: data required: true schema: $ref: '#/definitions/requests.NotExist' produces: - application/json responses: "200": description: OK schema: $ref: '#/definitions/controllers.SuccessResponse' security: - BearerToken: [] summary: 创建文件/目录 tags: - 文件 /panel/file/delete: post: consumes: - application/json description: 删除给定路径的文件/目录 parameters: - description: request in: body name: data required: true schema: $ref: '#/definitions/requests.Exist' produces: - application/json responses: "200": description: OK schema: $ref: '#/definitions/controllers.SuccessResponse' security: - BearerToken: [] summary: 删除文件/目录 tags: - 文件 /panel/file/download: get: consumes: - application/json description: 下载给定路径的文件 parameters: - in: query name: path type: string produces: - application/json responses: "200": description: OK schema: $ref: '#/definitions/controllers.SuccessResponse' security: - BearerToken: [] summary: 下载文件 tags: - 文件 /panel/file/info: get: consumes: - application/json description: 获取给定路径的文件/目录信息 parameters: - in: query name: path type: string produces: - application/json responses: "200": description: OK schema: $ref: '#/definitions/controllers.SuccessResponse' security: - BearerToken: [] summary: 获取文件/目录信息 tags: - 文件 /panel/file/list: get: consumes: - application/json description: 获取给定路径的文件/目录列表 parameters: - in: query name: path type: string - in: query name: limit type: integer - in: query name: page type: integer produces: - application/json responses: "200": description: OK schema: $ref: '#/definitions/controllers.SuccessResponse' summary: 获取文件/目录列表 tags: - 文件 /panel/file/move: post: consumes: - application/json description: 移动文件/目录到给定路径,等效于重命名 parameters: - description: request in: body name: data required: true schema: $ref: '#/definitions/requests.Move' produces: - application/json responses: "200": description: OK schema: $ref: '#/definitions/controllers.SuccessResponse' security: - BearerToken: [] summary: 移动文件/目录 tags: - 文件 /panel/file/permission: post: consumes: - application/json description: 修改给定路径的文件/目录权限 parameters: - description: request in: body name: data required: true schema: $ref: '#/definitions/requests.Permission' produces: - application/json responses: "200": description: OK schema: $ref: '#/definitions/controllers.SuccessResponse' security: - BearerToken: [] summary: 修改文件/目录权限 tags: - 文件 /panel/file/remoteDownload: post: consumes: - application/json description: 下载远程文件到给定路径 parameters: - description: request in: body name: data required: true schema: $ref: '#/definitions/requests.NotExist' produces: - application/json responses: "200": description: OK schema: $ref: '#/definitions/controllers.SuccessResponse' security: - BearerToken: [] summary: 下载远程文件 tags: - 文件 /panel/file/save: post: consumes: - application/json description: 保存给定路径的文件内容 parameters: - description: request in: body name: data required: true schema: $ref: '#/definitions/requests.Save' produces: - application/json responses: "200": description: OK schema: $ref: '#/definitions/controllers.SuccessResponse' security: - BearerToken: [] summary: 保存文件内容 tags: - 文件 /panel/file/search: post: consumes: - application/json description: 通过关键词搜索给定路径的文件/目录 parameters: - description: request in: body name: data required: true schema: $ref: '#/definitions/requests.Search' produces: - application/json responses: "200": description: OK schema: $ref: '#/definitions/controllers.SuccessResponse' summary: 搜索文件/目录 tags: - 文件 /panel/file/unArchive: post: consumes: - application/json description: 解压文件/目录到给定路径 parameters: - description: request in: body name: data required: true schema: $ref: '#/definitions/requests.UnArchive' produces: - application/json responses: "200": description: OK schema: $ref: '#/definitions/controllers.SuccessResponse' security: - BearerToken: [] summary: 解压文件/目录 tags: - 文件 /panel/file/upload: post: consumes: - application/json description: 上传文件到给定路径 parameters: - description: file in: formData name: file required: true type: file - description: path in: formData name: path required: true type: string produces: - application/json responses: "200": description: OK schema: $ref: '#/definitions/controllers.SuccessResponse' security: - BearerToken: [] summary: 上传文件 tags: - 文件 /panel/plugin/install: post: parameters: - description: request in: query name: slug required: true type: string produces: - application/json responses: "200": description: OK schema: $ref: '#/definitions/controllers.SuccessResponse' security: - BearerToken: [] summary: 安装插件 tags: - 插件 /panel/plugin/isInstalled: get: parameters: - description: request in: query name: slug required: true type: string produces: - application/json responses: "200": description: OK schema: $ref: '#/definitions/controllers.SuccessResponse' security: - BearerToken: [] summary: 检查插件是否已安装 tags: - 插件 /panel/plugin/list: get: produces: - application/json responses: "200": description: OK schema: $ref: '#/definitions/controllers.SuccessResponse' security: - BearerToken: [] summary: 插件列表 tags: - 插件 /panel/plugin/uninstall: post: parameters: - description: request in: query name: slug required: true type: string produces: - application/json responses: "200": description: OK schema: $ref: '#/definitions/controllers.SuccessResponse' security: - BearerToken: [] summary: 卸载插件 tags: - 插件 /panel/plugin/update: post: parameters: - description: request in: query name: slug required: true type: string produces: - application/json responses: "200": description: OK schema: $ref: '#/definitions/controllers.SuccessResponse' security: - BearerToken: [] summary: 更新插件 tags: - 插件 /panel/plugin/updateShow: post: parameters: - description: request in: query name: slug required: true type: string - description: request in: query name: show required: true type: boolean produces: - application/json responses: "200": description: OK schema: $ref: '#/definitions/controllers.SuccessResponse' security: - BearerToken: [] summary: 更新插件首页显示状态 tags: - 插件 /panel/setting/list: get: description: 获取面板设置列表 produces: - application/json responses: "200": description: OK schema: $ref: '#/definitions/controllers.SuccessResponse' security: - BearerToken: [] summary: 设置列表 tags: - 面板设置 /panel/setting/update: post: consumes: - application/json description: 更新面板设置 parameters: - description: request in: body name: data required: true schema: $ref: '#/definitions/github_com_TheTNB_panel_app_http_requests_setting.Update' produces: - application/json responses: "200": description: OK schema: $ref: '#/definitions/controllers.SuccessResponse' security: - BearerToken: [] summary: 更新设置 tags: - 面板设置 /panel/system/service/disable: post: parameters: - description: request in: body name: data required: true schema: type: string produces: - application/json responses: "200": description: OK schema: $ref: '#/definitions/controllers.SuccessResponse' security: - BearerToken: [] summary: 禁用服务 tags: - 系统 /panel/system/service/enable: post: parameters: - description: request in: body name: data required: true schema: type: string produces: - application/json responses: "200": description: OK schema: $ref: '#/definitions/controllers.SuccessResponse' security: - BearerToken: [] summary: 启用服务 tags: - 系统 /panel/system/service/isEnabled: get: parameters: - description: request in: query name: data required: true type: string produces: - application/json responses: "200": description: OK schema: $ref: '#/definitions/controllers.SuccessResponse' security: - BearerToken: [] summary: 是否启用服务 tags: - 系统 /panel/system/service/reload: post: parameters: - description: request in: body name: data required: true schema: type: string produces: - application/json responses: "200": description: OK schema: $ref: '#/definitions/controllers.SuccessResponse' security: - BearerToken: [] summary: 重载服务 tags: - 系统 /panel/system/service/restart: post: parameters: - description: request in: body name: data required: true schema: type: string produces: - application/json responses: "200": description: OK schema: $ref: '#/definitions/controllers.SuccessResponse' security: - BearerToken: [] summary: 重启服务 tags: - 系统 /panel/system/service/start: post: parameters: - description: request in: body name: data required: true schema: type: string produces: - application/json responses: "200": description: OK schema: $ref: '#/definitions/controllers.SuccessResponse' security: - BearerToken: [] summary: 启动服务 tags: - 系统 /panel/system/service/status: get: parameters: - description: request in: query name: data required: true type: string produces: - application/json responses: "200": description: OK schema: $ref: '#/definitions/controllers.SuccessResponse' security: - BearerToken: [] summary: 服务状态 tags: - 系统 /panel/system/service/stop: post: parameters: - description: request in: body name: data required: true schema: type: string produces: - application/json responses: "200": description: OK schema: $ref: '#/definitions/controllers.SuccessResponse' security: - BearerToken: [] summary: 停止服务 tags: - 系统 /panel/user/info: get: description: 获取当前登录用户信息 produces: - application/json responses: "200": description: OK schema: $ref: '#/definitions/controllers.SuccessResponse' security: - BearerToken: [] summary: 用户信息 tags: - 用户鉴权 /panel/user/login: post: consumes: - application/json description: 通过用户名和密码获取访问令牌 parameters: - description: request in: body name: data required: true schema: $ref: '#/definitions/requests.Login' produces: - application/json responses: "200": description: OK schema: $ref: '#/definitions/controllers.SuccessResponse' "403": description: 用户名或密码错误 schema: $ref: '#/definitions/controllers.ErrorResponse' "500": description: 系统内部错误 schema: $ref: '#/definitions/controllers.ErrorResponse' summary: 登录 tags: - 用户鉴权 /panel/website/backupList: get: parameters: - in: query name: limit type: integer - in: query name: page type: integer produces: - application/json responses: "200": description: OK schema: allOf: - $ref: '#/definitions/controllers.SuccessResponse' - properties: data: items: $ref: '#/definitions/types.BackupFile' type: array type: object security: - BearerToken: [] summary: 获取网站备份列表 tags: - 网站 /panel/website/defaultConfig: get: produces: - application/json responses: "200": description: OK schema: allOf: - $ref: '#/definitions/controllers.SuccessResponse' - properties: data: additionalProperties: type: string type: object type: object security: - BearerToken: [] summary: 获取默认配置 tags: - 网站 post: consumes: - application/json parameters: - description: request in: body name: data required: true schema: additionalProperties: type: string type: object produces: - application/json responses: "200": description: OK schema: $ref: '#/definitions/controllers.SuccessResponse' security: - BearerToken: [] summary: 保存默认配置 tags: - 网站 /panel/website/deleteBackup: delete: consumes: - application/json parameters: - description: request in: body name: data required: true schema: $ref: '#/definitions/requests.DeleteBackup' produces: - application/json responses: "200": description: OK schema: $ref: '#/definitions/controllers.SuccessResponse' security: - BearerToken: [] summary: 删除网站备份 tags: - 网站 /panel/website/uploadBackup: put: consumes: - application/json parameters: - description: 备份文件 in: formData name: file required: true type: file produces: - application/json responses: "200": description: OK schema: $ref: '#/definitions/controllers.SuccessResponse' security: - BearerToken: [] summary: 上传网站备份 tags: - 网站 /panel/websites: get: parameters: - in: query name: limit type: integer - in: query name: page type: integer produces: - application/json responses: "200": description: OK schema: $ref: '#/definitions/controllers.SuccessResponse' security: - BearerToken: [] summary: 获取网站列表 tags: - 网站 post: consumes: - application/json parameters: - description: request in: body name: data required: true schema: $ref: '#/definitions/requests.Add' produces: - application/json responses: "200": description: OK schema: $ref: '#/definitions/controllers.SuccessResponse' security: - BearerToken: [] summary: 添加网站 tags: - 网站 /panel/websites/{id}: delete: consumes: - application/json parameters: - description: 网站 ID in: path name: id required: true type: integer produces: - application/json responses: "200": description: OK schema: $ref: '#/definitions/controllers.SuccessResponse' security: - BearerToken: [] summary: 删除网站 tags: - 网站 /panel/websites/{id}/config: get: consumes: - application/json parameters: - description: 网站 ID in: path name: id required: true type: integer produces: - application/json responses: "200": description: OK schema: allOf: - $ref: '#/definitions/controllers.SuccessResponse' - properties: data: $ref: '#/definitions/types.Website' type: object security: - BearerToken: [] summary: 获取网站配置 tags: - 网站 post: consumes: - application/json parameters: - description: 网站 ID in: path name: id required: true type: integer - description: request in: body name: data required: true schema: $ref: '#/definitions/requests.SaveConfig' produces: - application/json responses: "200": description: OK schema: $ref: '#/definitions/controllers.SuccessResponse' security: - BearerToken: [] summary: 保存网站配置 tags: - 网站 /panel/websites/{id}/createBackup: post: consumes: - application/json parameters: - description: 网站 ID in: path name: id required: true type: integer produces: - application/json responses: "200": description: OK schema: $ref: '#/definitions/controllers.SuccessResponse' security: - BearerToken: [] summary: 创建网站备份 tags: - 网站 /panel/websites/{id}/log: delete: consumes: - application/json parameters: - description: 网站 ID in: path name: id required: true type: integer produces: - application/json responses: "200": description: OK schema: $ref: '#/definitions/controllers.SuccessResponse' security: - BearerToken: [] summary: 清空网站日志 tags: - 网站 /panel/websites/{id}/resetConfig: post: consumes: - application/json parameters: - description: 网站 ID in: path name: id required: true type: integer produces: - application/json responses: "200": description: OK schema: $ref: '#/definitions/controllers.SuccessResponse' security: - BearerToken: [] summary: 重置网站配置 tags: - 网站 /panel/websites/{id}/restoreBackup: post: consumes: - application/json parameters: - description: 网站 ID in: path name: id required: true type: integer produces: - application/json responses: "200": description: OK schema: $ref: '#/definitions/controllers.SuccessResponse' security: - BearerToken: [] summary: 还原网站备份 tags: - 网站 /panel/websites/{id}/status: post: consumes: - application/json parameters: - description: 网站 ID in: path name: id required: true type: integer produces: - application/json responses: "200": description: OK schema: $ref: '#/definitions/controllers.SuccessResponse' security: - BearerToken: [] summary: 获取网站状态 tags: - 网站 /panel/websites/{id}/updateRemark: post: consumes: - application/json parameters: - description: 网站 ID in: path name: id required: true type: integer produces: - application/json responses: "200": description: OK schema: $ref: '#/definitions/controllers.SuccessResponse' security: - BearerToken: [] summary: 更新网站备注 tags: - 网站 /plugins/frp/config: get: description: 获取 Frp 配置 parameters: - description: 服务 in: query name: service type: string produces: - application/json responses: "200": description: OK schema: $ref: '#/definitions/controllers.SuccessResponse' security: - BearerToken: [] summary: 获取配置 tags: - 插件-Frp post: description: 更新 Frp 配置 parameters: - description: request in: body name: data required: true schema: $ref: '#/definitions/github_com_TheTNB_panel_app_http_requests_plugins_frp.UpdateConfig' produces: - application/json responses: "200": description: OK schema: $ref: '#/definitions/controllers.SuccessResponse' security: - BearerToken: [] summary: 更新配置 tags: - 插件-Frp /plugins/gitea/config: get: description: 获取 Gitea 配置 produces: - application/json responses: "200": description: OK schema: $ref: '#/definitions/controllers.SuccessResponse' security: - BearerToken: [] summary: 获取配置 tags: - 插件-Gitea post: description: 更新 Gitea 配置 parameters: - description: request in: body name: data required: true schema: $ref: '#/definitions/github_com_TheTNB_panel_app_http_requests_plugins_gitea.UpdateConfig' produces: - application/json responses: "200": description: OK schema: $ref: '#/definitions/controllers.SuccessResponse' security: - BearerToken: [] summary: 更新配置 tags: - 插件-Gitea /plugins/openresty/clearErrorLog: post: produces: - application/json responses: "200": description: OK schema: $ref: '#/definitions/controllers.SuccessResponse' security: - BearerToken: [] summary: 清空错误日志 tags: - 插件-OpenResty /plugins/openresty/config: get: produces: - application/json responses: "200": description: OK schema: $ref: '#/definitions/controllers.SuccessResponse' security: - BearerToken: [] summary: 获取配置 tags: - 插件-OpenResty post: parameters: - description: 配置 in: body name: config required: true schema: type: string produces: - application/json responses: "200": description: OK schema: $ref: '#/definitions/controllers.SuccessResponse' security: - BearerToken: [] summary: 保存配置 tags: - 插件-OpenResty /plugins/openresty/errorLog: get: produces: - application/json responses: "200": description: OK schema: $ref: '#/definitions/controllers.SuccessResponse' security: - BearerToken: [] summary: 获取错误日志 tags: - 插件-OpenResty /plugins/openresty/load: get: produces: - application/json responses: "200": description: OK schema: $ref: '#/definitions/controllers.SuccessResponse' security: - BearerToken: [] summary: 获取负载状态 tags: - 插件-OpenResty /plugins/php/{version}/clearErrorLog: post: parameters: - description: PHP 版本 in: path name: version required: true type: integer produces: - application/json responses: "200": description: OK schema: $ref: '#/definitions/controllers.SuccessResponse' security: - BearerToken: [] summary: 清空错误日志 tags: - 插件-PHP /plugins/php/{version}/clearSlowLog: post: parameters: - description: PHP 版本 in: path name: version required: true type: integer produces: - application/json responses: "200": description: OK schema: $ref: '#/definitions/controllers.SuccessResponse' security: - BearerToken: [] summary: 清空慢日志 tags: - 插件-PHP /plugins/php/{version}/config: get: parameters: - description: PHP 版本 in: path name: version required: true type: integer produces: - application/json responses: "200": description: OK schema: $ref: '#/definitions/controllers.SuccessResponse' security: - BearerToken: [] summary: 获取配置 tags: - 插件-PHP post: parameters: - description: PHP 版本 in: path name: version required: true type: integer - description: 配置 in: body name: config required: true schema: type: string produces: - application/json responses: "200": description: OK schema: $ref: '#/definitions/controllers.SuccessResponse' security: - BearerToken: [] summary: 保存配置 tags: - 插件-PHP /plugins/php/{version}/errorLog: get: parameters: - description: PHP 版本 in: path name: version required: true type: integer produces: - application/json responses: "200": description: OK schema: $ref: '#/definitions/controllers.SuccessResponse' security: - BearerToken: [] summary: 获取错误日志 tags: - 插件-PHP /plugins/php/{version}/extensions: delete: parameters: - description: PHP 版本 in: path name: version required: true type: integer - description: slug in: query name: slug required: true type: string produces: - application/json responses: "200": description: OK schema: $ref: '#/definitions/controllers.SuccessResponse' security: - BearerToken: [] summary: 卸载扩展 tags: - 插件-PHP get: parameters: - description: PHP 版本 in: path name: version required: true type: integer produces: - application/json responses: "200": description: OK schema: $ref: '#/definitions/controllers.SuccessResponse' security: - BearerToken: [] summary: 获取扩展列表 tags: - 插件-PHP post: parameters: - description: PHP 版本 in: path name: version required: true type: integer - description: slug in: query name: slug required: true type: string produces: - application/json responses: "200": description: OK schema: $ref: '#/definitions/controllers.SuccessResponse' security: - BearerToken: [] summary: 安装扩展 tags: - 插件-PHP /plugins/php/{version}/fpmConfig: get: parameters: - description: PHP 版本 in: path name: version required: true type: integer produces: - application/json responses: "200": description: OK schema: $ref: '#/definitions/controllers.SuccessResponse' security: - BearerToken: [] summary: 获取 FPM 配置 tags: - 插件-PHP post: parameters: - description: PHP 版本 in: path name: version required: true type: integer - description: 配置 in: body name: config required: true schema: type: string produces: - application/json responses: "200": description: OK schema: $ref: '#/definitions/controllers.SuccessResponse' security: - BearerToken: [] summary: 保存 FPM 配置 tags: - 插件-PHP /plugins/php/{version}/load: get: parameters: - description: PHP 版本 in: path name: version required: true type: integer produces: - application/json responses: "200": description: OK schema: $ref: '#/definitions/controllers.SuccessResponse' security: - BearerToken: [] summary: 获取负载状态 tags: - 插件-PHP /plugins/php/{version}/slowLog: get: parameters: - description: PHP 版本 in: path name: version required: true type: integer produces: - application/json responses: "200": description: OK schema: $ref: '#/definitions/controllers.SuccessResponse' security: - BearerToken: [] summary: 获取慢日志 tags: - 插件-PHP /plugins/podman/registryConfig: get: description: 获取 Podman 注册表配置 produces: - application/json responses: "200": description: OK schema: $ref: '#/definitions/controllers.SuccessResponse' security: - BearerToken: [] summary: 获取注册表配置 tags: - 插件-Podman post: description: 更新 Podman 注册表配置 parameters: - description: request in: body name: data required: true schema: $ref: '#/definitions/requests.UpdateRegistryConfig' produces: - application/json responses: "200": description: OK schema: $ref: '#/definitions/controllers.SuccessResponse' security: - BearerToken: [] summary: 更新注册表配置 tags: - 插件-Podman /plugins/podman/storageConfig: get: description: 获取 Podman 存储配置 produces: - application/json responses: "200": description: OK schema: $ref: '#/definitions/controllers.SuccessResponse' security: - BearerToken: [] summary: 获取存储配置 tags: - 插件-Podman post: description: 更新 Podman 存储配置 parameters: - description: request in: body name: data required: true schema: $ref: '#/definitions/requests.UpdateStorageConfig' produces: - application/json responses: "200": description: OK schema: $ref: '#/definitions/controllers.SuccessResponse' security: - BearerToken: [] summary: 更新存储配置 tags: - 插件-Podman /plugins/rsync/config: get: description: 获取 Rsync 配置 produces: - application/json responses: "200": description: OK schema: $ref: '#/definitions/controllers.SuccessResponse' security: - BearerToken: [] summary: 获取配置 tags: - 插件-Rsync post: description: 更新 Rsync 配置 parameters: - description: request in: body name: data required: true schema: $ref: '#/definitions/github_com_TheTNB_panel_app_http_requests_plugins_rsync.UpdateConfig' produces: - application/json responses: "200": description: OK schema: $ref: '#/definitions/controllers.SuccessResponse' security: - BearerToken: [] summary: 更新配置 tags: - 插件-Rsync /plugins/rsync/modules: get: description: 列出所有 Rsync 模块 parameters: - in: query name: limit type: integer - in: query name: page type: integer produces: - application/json responses: "200": description: OK schema: $ref: '#/definitions/controllers.SuccessResponse' security: - BearerToken: [] summary: 列出模块 tags: - 插件-Rsync post: description: 添加 Rsync 模块 parameters: - description: request in: body name: data required: true schema: $ref: '#/definitions/requests.Create' produces: - application/json responses: "200": description: OK schema: $ref: '#/definitions/controllers.SuccessResponse' security: - BearerToken: [] summary: 添加模块 tags: - 插件-Rsync /plugins/rsync/modules/{name}: delete: description: 删除 Rsync 模块 parameters: - description: 模块名称 in: path name: name required: true type: string produces: - application/json responses: "200": description: OK schema: $ref: '#/definitions/controllers.SuccessResponse' security: - BearerToken: [] summary: 删除模块 tags: - 插件-Rsync post: description: 更新 Rsync 模块 parameters: - description: 模块名称 in: path name: name required: true type: string - description: request in: body name: data required: true schema: $ref: '#/definitions/github_com_TheTNB_panel_app_http_requests_plugins_rsync.Update' produces: - application/json responses: "200": description: OK schema: $ref: '#/definitions/controllers.SuccessResponse' security: - BearerToken: [] summary: 更新模块 tags: - 插件-Rsync /swagger: get: description: Swagger UI responses: "200": description: OK "500": description: Internal Server Error summary: Swagger UI tags: - Swagger securityDefinitions: BearerToken: in: header name: Authorization type: apiKey swagger: "2.0"