链接管理接口

链接的增删改查接口,支持多目标 URL、密码保护、过期时间和限流配置。

接口列表

方法路径说明
GET/api/v1/links分页查询所有链接
GET/api/v1/projects/:project_id/links查询项目下链接
POST/api/v1/links创建链接
GET/api/v1/links/:id获取链接详情
PUT/api/v1/links/:id更新链接
DELETE/api/v1/links/:id删除链接

创建链接

请求参数

字段类型必填说明
project_idint是所属项目 ID
codestring是短码(URL 路径标识)
targetsstring[]是目标 URL 列表(支持多个)
strategystring否分发策略:random(随机)或 round_robin(轮询)
passwordstring否访问密码
expires_atstring否过期时间(RFC3339 格式)
rate_limitint否每分钟请求限制(0 表示不限)

请求示例

POST /api/v1/links
Authorization: Bearer <token>
Content-Type: application/json

{
  "project_id": 1,
  "code": "myapp-v1",
  "targets": [
    "https://mirror1.example.com/file.zip",
    "https://mirror2.example.com/file.zip",
    "https://mirror3.example.com/file.zip"
  ],
  "strategy": "round_robin",
  "password": "secret123",
  "rate_limit": 60
}

响应示例

{
  "code": 200,
  "message": "创建成功",
  "data": {
    "id": 1,
    "project_id": 1,
    "code": "myapp-v1",
    "targets": [
      "https://mirror1.example.com/file.zip",
      "https://mirror2.example.com/file.zip",
      "https://mirror3.example.com/file.zip"
    ],
    "strategy": "round_robin",
    "rate_limit": 60,
    "created_at": "2025-01-01T00:00:00Z"
  }
}

重定向访问

访问链接时,系统根据分发策略选择目标 URL 并执行 302 重定向。

方法GET
路径/:prefix/:code
认证无需(如有密码需提供)

访问示例

# 无密码链接
GET /soft/myapp-v1
→ 302 Location: https://mirror1.example.com/file.zip

# 有密码链接
GET /soft/myapp-v1?password=secret123
→ 302 Location: https://mirror2.example.com/file.zip

分发策略说明

策略说明
random每次请求从目标列表中随机选择一个
round_robin按顺序依次轮询分配目标

查询链接列表

查询参数

参数类型说明
pageint页码(默认 1)
page_sizeint每页条数(默认 20)
keywordstring搜索关键词
health_statusstring健康状态筛选

👉 下一节:访问统计接口