Files
thomasandClaude Opus 4.8 16e97c8efa i18n: Translate all Chinese to English across the codebase
Translate Chinese comments, log/error messages, validator labels and
Swagger annotations to English throughout the source code, generated
Swagger docs, config files and CI workflows.

Make the English README primary: README.md now holds the English docs
and README_EN.md holds the Chinese version, with cross-language links
updated accordingly.

Note: the generated docs/ swagger files were translated in place; run
`go generate ./...` (swag init) to regenerate them from the now-English
annotations when a Go toolchain is available.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-27 12:17:04 +02:00

1070 lines
24 KiB
YAML

basePath: /api
definitions:
api.AddressBookForm:
properties:
data:
example: '{"tags":["tag1","tag2","tag3"],"peers":[{"id":"abc","username":"abv-l","hostname":"","platform":"Windows","alias":"","tags":["tag1","tag2"],"hash":"hash"}],"tag_colors":"{\"tag1\":4288585374,\"tag2\":4278238420,\"tag3\":4291681337}"}'
type: string
type: object
api.AuditConnForm:
properties:
action:
type: string
conn_id:
type: integer
id:
type: string
ip:
type: string
peer:
items:
type: string
type: array
session_id:
type: number
type:
type: integer
uuid:
type: string
type: object
api.AuditFileForm:
properties:
id:
type: string
info:
type: string
is_file:
type: boolean
path:
type: string
peer_id:
type: string
type:
type: integer
uuid:
type: string
type: object
api.DeviceInfoInLogin:
properties:
name:
type: string
os:
type: string
type:
type: string
type: object
api.LoginForm:
properties:
autoLogin:
type: boolean
deviceInfo:
$ref: '#/definitions/api.DeviceInfoInLogin'
id:
type: string
password:
maxLength: 32
minLength: 4
type: string
type:
type: string
username:
maxLength: 32
minLength: 2
type: string
uuid:
type: string
required:
- username
type: object
api.LoginRes:
properties:
access_token:
type: string
secret:
type: string
tfa_type:
type: string
type:
type: string
user:
$ref: '#/definitions/api.UserPayload'
type: object
api.PeerForm:
properties:
cpu:
type: string
hostname:
type: string
id:
type: string
memory:
type: string
os:
type: string
username:
type: string
uuid:
type: string
version:
type: string
type: object
api.UserPayload:
properties:
email:
type: string
info:
additionalProperties: true
type: object
is_admin:
type: boolean
name:
type: string
note:
type: string
status:
type: integer
type: object
model.AddressBookCollection:
properties:
created_at:
type: string
id:
type: integer
name:
type: string
updated_at:
type: string
user_id:
type: integer
required:
- name
type: object
model.Tag:
properties:
collection:
$ref: '#/definitions/model.AddressBookCollection'
collection_id:
type: integer
color:
description: color is flutter's color value,from 0x00000000 to 0xFFFFFFFF; the first two digits represent transparency, the following 6 digits represent the color,
can be converted to rgba
type: integer
created_at:
type: string
id:
type: integer
name:
type: string
updated_at:
type: string
user_id:
type: integer
type: object
model.TagList:
properties:
list:
items:
$ref: '#/definitions/model.Tag'
type: array
page:
type: integer
page_size:
type: integer
total:
type: integer
type: object
response.DataResponse:
properties:
data: {}
total:
type: integer
type: object
response.ErrorResponse:
properties:
error:
type: string
type: object
response.Response:
properties:
code:
type: integer
data: {}
message:
type: string
type: object
info:
contact: {}
description: API
title: management systemAPI
version: "1.0"
paths:
/:
get:
consumes:
- application/json
description: home
produces:
- application/json
responses:
"200":
description: OK
schema:
$ref: '#/definitions/response.Response'
"500":
description: Internal Server Error
schema:
$ref: '#/definitions/response.Response'
summary: home
tags:
- home
/ab:
get:
consumes:
- application/json
description: address list
produces:
- application/json
responses:
"200":
description: OK
schema:
$ref: '#/definitions/response.Response'
"500":
description: Internal Server Error
schema:
$ref: '#/definitions/response.ErrorResponse'
security:
- BearerAuth: []
summary: address list
tags:
- address
post:
consumes:
- application/json
description: address update
parameters:
- description: address form
in: body
name: body
required: true
schema:
$ref: '#/definitions/api.AddressBookForm'
produces:
- application/json
responses:
"200":
description: "null"
schema:
type: string
"500":
description: Internal Server Error
schema:
$ref: '#/definitions/response.ErrorResponse'
security:
- BearerAuth: []
summary: address update
tags:
- address
/ab/peer/add/{guid}:
delete:
consumes:
- application/json
description: delete address
parameters:
- description: guid
in: path
name: guid
required: true
type: string
produces:
- application/json
responses:
"200":
description: OK
schema:
type: string
"500":
description: Internal Server Error
schema:
$ref: '#/definitions/response.ErrorResponse'
security:
- BearerAuth: []
summary: delete address
tags:
- address[Personal]
post:
consumes:
- application/json
description: add address
parameters:
- description: guid
in: path
name: guid
required: true
type: string
produces:
- application/json
responses:
"200":
description: OK
schema:
type: string
"500":
description: Internal Server Error
schema:
$ref: '#/definitions/response.ErrorResponse'
security:
- BearerAuth: []
summary: add address
tags:
- address[Personal]
/ab/peer/update/{guid}:
put:
consumes:
- application/json
description: update address
parameters:
- description: guid
in: path
name: guid
required: true
type: string
produces:
- application/json
responses:
"200":
description: OK
schema:
type: string
"500":
description: Internal Server Error
schema:
$ref: '#/definitions/response.ErrorResponse'
security:
- BearerAuth: []
summary: update address
tags:
- address[Personal]
/ab/peers:
post:
consumes:
- application/json
description: address
parameters:
- description: page number
in: query
name: current
type: integer
- description: items per page
in: query
name: pageSize
type: integer
- description: guid
in: query
name: ab
type: string
produces:
- application/json
responses:
"200":
description: OK
schema:
$ref: '#/definitions/response.Response'
"500":
description: Internal Server Error
schema:
$ref: '#/definitions/response.Response'
security:
- BearerAuth: []
summary: address list
tags:
- address[Personal]
/ab/personal:
post:
consumes:
- application/json
description: personal address
parameters:
- description: string valid
in: body
name: string
schema:
type: string
produces:
- application/json
responses:
"200":
description: OK
schema:
$ref: '#/definitions/response.Response'
"500":
description: Internal Server Error
schema:
$ref: '#/definitions/response.Response'
security:
- BearerAuth: []
summary: personal address
tags:
- address[Personal]
/ab/settings:
post:
consumes:
- application/json
description: settings
parameters:
- description: string valid
in: body
name: string
schema:
type: string
produces:
- application/json
responses:
"200":
description: OK
schema:
$ref: '#/definitions/response.Response'
"500":
description: Internal Server Error
schema:
$ref: '#/definitions/response.Response'
security:
- BearerAuth: []
summary: settings
tags:
- address[Personal]
/ab/shared/profiles:
post:
consumes:
- application/json
description: shared
parameters:
- description: page number
in: query
name: current
type: integer
- description: items per page
in: query
name: pageSize
type: integer
produces:
- application/json
responses:
"200":
description: OK
schema:
$ref: '#/definitions/response.Response'
"500":
description: Internal Server Error
schema:
$ref: '#/definitions/response.Response'
security:
- BearerAuth: []
summary: shared address book
tags:
- address[Personal]
/ab/tag/{guid}:
delete:
consumes:
- application/json
description: tag
parameters:
- description: guid
in: path
name: guid
required: true
type: string
produces:
- application/json
responses:
"200":
description: OK
schema:
type: string
"500":
description: Internal Server Error
schema:
$ref: '#/definitions/response.ErrorResponse'
security:
- BearerAuth: []
summary: delete tag
tags:
- address[Personal]
/ab/tag/add/{guid}:
post:
consumes:
- application/json
description: tag
parameters:
- description: guid
in: path
name: guid
required: true
type: string
produces:
- application/json
responses:
"200":
description: OK
schema:
type: string
"500":
description: Internal Server Error
schema:
$ref: '#/definitions/response.ErrorResponse'
security:
- BearerAuth: []
summary: add tag
tags:
- address[Personal]
/ab/tag/rename/{guid}:
put:
consumes:
- application/json
description: tag
parameters:
- description: guid
in: path
name: guid
required: true
type: string
produces:
- application/json
responses:
"200":
description: OK
schema:
type: string
"500":
description: Internal Server Error
schema:
$ref: '#/definitions/response.ErrorResponse'
security:
- BearerAuth: []
summary: rename tag
tags:
- address[Personal]
/ab/tag/update/{guid}:
put:
consumes:
- application/json
description: tag
parameters:
- description: guid
in: path
name: guid
required: true
type: string
produces:
- application/json
responses:
"200":
description: OK
schema:
type: string
"500":
description: Internal Server Error
schema:
$ref: '#/definitions/response.ErrorResponse'
security:
- BearerAuth: []
summary: change tag color
tags:
- address[Personal]
/ab/tags/{guid}:
post:
consumes:
- application/json
description: tag
parameters:
- description: guid
in: path
name: guid
required: true
type: string
produces:
- application/json
responses:
"200":
description: OK
schema:
$ref: '#/definitions/model.TagList'
"500":
description: Internal Server Error
schema:
$ref: '#/definitions/response.ErrorResponse'
security:
- BearerAuth: []
summary: tag
tags:
- address[Personal]
/audit/conn:
post:
consumes:
- application/json
description: audit connection
parameters:
- description: audit connection
in: body
name: body
required: true
schema:
$ref: '#/definitions/api.AuditConnForm'
produces:
- application/json
responses:
"200":
description: OK
schema:
type: string
"500":
description: Internal Server Error
schema:
$ref: '#/definitions/response.Response'
summary: audit connection
tags:
- audit
/audit/file:
post:
consumes:
- application/json
description: audit file
parameters:
- description: audit file
in: body
name: body
required: true
schema:
$ref: '#/definitions/api.AuditFileForm'
produces:
- application/json
responses:
"200":
description: OK
schema:
type: string
"500":
description: Internal Server Error
schema:
$ref: '#/definitions/response.Response'
summary: audit file
tags:
- audit
/currentUser:
get:
consumes:
- application/json
description: user info
produces:
- application/json
responses:
"200":
description: OK
schema:
$ref: '#/definitions/api.UserPayload'
"500":
description: Internal Server Error
schema:
$ref: '#/definitions/response.Response'
security:
- token: []
summary: user info
tags:
- user
/device-group/accessible:
get:
consumes:
- application/json
description: machine
parameters:
- description: page number
in: query
name: page
type: integer
- description: items per page
in: query
name: pageSize
type: integer
- description: status
in: query
name: status
type: integer
- description: accessible
in: query
name: accessible
type: string
produces:
- application/json
responses:
"200":
description: OK
schema:
$ref: '#/definitions/response.DataResponse'
"500":
description: Internal Server Error
schema:
$ref: '#/definitions/response.Response'
security:
- BearerAuth: []
summary: device
tags:
- group
/heartbeat:
post:
consumes:
- application/json
description: heartbeat
produces:
- application/json
responses:
"200":
description: OK
"500":
description: Internal Server Error
schema:
$ref: '#/definitions/response.Response'
summary: heartbeat
tags:
- home
/login:
post:
consumes:
- application/json
description: login
parameters:
- description: login form
in: body
name: body
required: true
schema:
$ref: '#/definitions/api.LoginForm'
produces:
- application/json
responses:
"200":
description: OK
schema:
$ref: '#/definitions/api.LoginRes'
"500":
description: Internal Server Error
schema:
$ref: '#/definitions/response.ErrorResponse'
summary: login
tags:
- login
/login-options:
get:
consumes:
- application/json
description: login options
produces:
- application/json
responses:
"200":
description: OK
schema:
items:
type: string
type: array
"500":
description: Internal Server Error
schema:
$ref: '#/definitions/response.ErrorResponse'
summary: login options
tags:
- login
/logout:
post:
consumes:
- application/json
description: logout
produces:
- application/json
responses:
"200":
description: OK
schema:
type: string
"500":
description: Internal Server Error
schema:
$ref: '#/definitions/response.ErrorResponse'
summary: logout
tags:
- login
/oidc/auth:
post:
consumes:
- application/json
description: OidcAuth
produces:
- application/json
responses:
"200":
description: OK
schema:
$ref: '#/definitions/api.LoginRes'
"500":
description: Internal Server Error
schema:
$ref: '#/definitions/response.ErrorResponse'
summary: OidcAuth
tags:
- Oauth
/oidc/auth-query:
get:
consumes:
- application/json
description: OidcAuthQuery
produces:
- application/json
responses:
"200":
description: OK
schema:
$ref: '#/definitions/api.LoginRes'
"500":
description: Internal Server Error
schema:
$ref: '#/definitions/response.ErrorResponse'
summary: OidcAuthQuery
tags:
- Oauth
/oidc/callback:
get:
consumes:
- application/json
description: OauthCallback
produces:
- application/json
responses:
"200":
description: OK
schema:
$ref: '#/definitions/api.LoginRes'
"500":
description: Internal Server Error
schema:
$ref: '#/definitions/response.ErrorResponse'
summary: OauthCallback
tags:
- Oauth
/peers:
get:
consumes:
- application/json
description: machine
parameters:
- description: page number
in: query
name: page
type: integer
- description: items per page
in: query
name: pageSize
type: integer
- description: status
in: query
name: status
type: integer
- description: accessible
in: query
name: accessible
type: string
produces:
- application/json
responses:
"200":
description: OK
schema:
$ref: '#/definitions/response.DataResponse'
"500":
description: Internal Server Error
schema:
$ref: '#/definitions/response.Response'
security:
- BearerAuth: []
summary: machine
tags:
- group
/server-config:
get:
consumes:
- application/json
description: service config, provides an api-server for the webclient
produces:
- application/json
responses:
"200":
description: OK
schema:
$ref: '#/definitions/response.Response'
"500":
description: Internal Server Error
schema:
$ref: '#/definitions/response.Response'
security:
- token: []
summary: service config
tags:
- WEBCLIENT
/server-config-v2:
get:
consumes:
- application/json
description: service config, provides an api-server for the webclient
produces:
- application/json
responses:
"200":
description: OK
schema:
$ref: '#/definitions/response.Response'
"500":
description: Internal Server Error
schema:
$ref: '#/definitions/response.Response'
security:
- token: []
summary: service config
tags:
- WEBCLIENT_V2
/shared-peer:
post:
consumes:
- application/json
description: shared peer
produces:
- application/json
responses:
"200":
description: OK
schema:
$ref: '#/definitions/response.Response'
"500":
description: Internal Server Error
schema:
$ref: '#/definitions/response.Response'
summary: shared peer
tags:
- WEBCLIENT
/sysinfo:
post:
consumes:
- application/json
description: submit system info
parameters:
- description: system info form
in: body
name: body
required: true
schema:
$ref: '#/definitions/api.PeerForm'
produces:
- application/json
responses:
"200":
description: SYSINFO_UPDATED,ID_NOT_FOUND
schema:
type: string
"500":
description: Internal Server Error
schema:
$ref: '#/definitions/response.ErrorResponse'
summary: submit system info
tags:
- System
/sysinfo_ver:
post:
consumes:
- application/json
description: get system version info
produces:
- application/json
responses:
"200":
description: OK
schema:
type: string
"500":
description: Internal Server Error
schema:
$ref: '#/definitions/response.ErrorResponse'
summary: get system version info
tags:
- System
/users:
get:
consumes:
- application/json
description: user list
parameters:
- description: page number
in: query
name: page
type: integer
- description: items per page
in: query
name: pageSize
type: integer
- description: status
in: query
name: status
type: integer
- description: accessible
in: query
name: accessible
type: string
produces:
- application/json
responses:
"200":
description: OK
schema:
allOf:
- $ref: '#/definitions/response.DataResponse'
- properties:
data:
items:
$ref: '#/definitions/api.UserPayload'
type: array
type: object
"500":
description: Internal Server Error
schema:
$ref: '#/definitions/response.ErrorResponse'
security:
- BearerAuth: []
summary: user list
tags:
- group
/version:
get:
consumes:
- application/json
description: version
produces:
- application/json
responses:
"200":
description: OK
schema:
$ref: '#/definitions/response.Response'
"500":
description: Internal Server Error
schema:
$ref: '#/definitions/response.Response'
summary: version
tags:
- home
securityDefinitions:
BearerAuth:
in: header
name: Authorization
type: apiKey
token:
in: header
name: api-token
type: apiKey
swagger: "2.0"