# Trojan WebApi对接

## 功能：TrojanController

本章节重点为Trojan的获取节点与用户信息

### 注意

* 节点后端与面板使用的时间误差不应该超过5分钟，否则API授权验证失败
* 使用WebApi后，用户设置中的节点设置信息将不再采用，而是统一获取节点的配置信息；用户的个人配置信息仅适用于DB版本

## 获取节点信息

<mark style="color:blue;">`GET`</mark> `https://api.proxypanel.ml/api/trojan/v1/node/:id`

Trojan后端启动和重载时获取节点信息

#### Path Parameters

| Name                                 | Type    | Description           |
| ------------------------------------ | ------- | --------------------- |
| id<mark style="color:red;">\*</mark> | integer | 节点ID：int(10) unsigned |

#### Headers

| Name                                        | Type    | Description           |
| ------------------------------------------- | ------- | --------------------- |
| key<mark style="color:red;">\*</mark>       | string  | 由管理后台线路系统，线路授权处取得授权密钥 |
| timestamp<mark style="color:red;">\*</mark> | integer | 每次请求的10位时间戳           |

{% tabs %}
{% tab title="200: OK 返回节点信息" %}
```
{
    "status": "success",
    "code": 200,
    "data": {
        "id": 2,
        "is_udp": true,
        "speed_limit": 6555555,
        "client_limit": 1,
        "push_port": 8081,
        "trojan_port": 443,
        "secret": "tdcpxpip",
        "license": "234234"
    },
    "message": "获取节点信息成功"
}
```
{% endtab %}
{% endtabs %}

## 获取用户列表

<mark style="color:blue;">`GET`</mark> `https://api.proxypanel.ml/api/trojan/v1/userList/:id`

Trojan后端启动和重载时获取用户列表

#### Path Parameters

| Name                                 | Type    | Description           |
| ------------------------------------ | ------- | --------------------- |
| id<mark style="color:red;">\*</mark> | integer | 节点ID：int(10) unsigned |

#### Headers

| Name                                        | Type    | Description           |
| ------------------------------------------- | ------- | --------------------- |
| key<mark style="color:red;">\*</mark>       | string  | 由管理后台线路系统，线路授权处取得授权密钥 |
| timestamp<mark style="color:red;">\*</mark> | integer | 每次请求的10位时间戳           |

{% tabs %}
{% tab title="200: OK 返回用户信息" %}
```
{
    "status": "success",
    "code": 200,
    "data": [
        {
            "uid": 1,
            "password": "1727ed1f78d0675a5cc8a9a002fdf1a4",
            "speed_limit": 134217728
        },
        {
            "uid": 2,
            "password": "d86a54d100a33677f35691df194adf35",
            "speed_limit": 131072
        },
        {
            "uid": 3,
            "password": "022280d6ccfd8695ee2d3227c4cbd409",
            "speed_limit": 262144
        },
        {
            "uid": 7,
            "password": "56e5c9eee725ff605a2eff519e4adef9",
            "speed_limit": 2621440
        }
    ],
    "message": "获取用户列表成功",
    "updateTime": 1565172630
}
```
{% endtab %}
{% endtabs %}
