# 节点管理

管理面向用户的代理节点,配置节点与服务器的关联、入口地址和标签。节点是用户实际连接的端点,一个服务器可以对应多个节点。

## 页面组成

### 节点列表

以表格形式展示所有节点的配置信息。

**列信息:**
- **启用状态 (Enabled)**: 开关按钮,实时控制节点是否对用户可见
  - 开启: 节点在订阅中显示,用户可连接
  - 关闭: 节点隐藏,用户无法连接
  - 即时生效,无需重启
- **名称 (Name)**: 节点显示名称,会展示在用户的客户端中
- **地址:端口 (Address:Port)**: 用户连接的入口地址和端口
- **服务器 (Server)**: 显示关联的服务器名称和 IP 地址
  - 格式: `服务器名称:服务器IP`
- **协议:端口 (Protocol:Port)**: 使用的代理协议类型及服务器监听端口
  - 格式: `协议类型:服务器端口`
  - 示例: `vless:443`, `vmess:80`, `trojan:8443`
- **标签 (Tags)**: 节点分组标签,以徽章形式显示
  - 用于权限分组和套餐绑定
  - 用于流量分发策略
  - 支持多个标签

**操作功能:**
- **搜索**: 根据关键词快速筛选节点
- **排序**: 通过拖拽行调整节点显示顺序,影响用户订阅中的节点排序
- **分页**: 支持大量节点的分页浏览
- **批量删除**: 选中多个节点后批量删除

**单个节点操作:**
- **编辑 (Edit)**: 修改节点配置
- **删除 (Delete)**: 删除节点
- **复制 (Copy)**: 复制节点配置创建新节点(新节点默认禁用)

## 节点表单

点击"创建 (Create)"或"编辑 (Edit)"时打开的侧边栏表单。

### 表单字段

**1. 服务器 (Server)** - 必填
- 选择节点关联的物理服务器
- 下拉列表显示: `服务器名称 (服务器IP)`
- 选择后自动触发智能填充

**2. 协议 (Protocol)** - 必填
- 选择使用的代理协议
- 下拉列表仅显示所选服务器已启用的协议
- 格式: `协议类型 (端口号)`
- 支持的协议: shadowsocks, vmess, vless, trojan, hysteria, tuic, anytls, naive, http, socks, mieru
- 选择后自动填充对应端口

**3. 名称 (Name)** - 必填
- 节点的显示名称
- 会展示在用户的代理客户端中
- 支持自动填充(从服务器名称)

**4. 地址 (Address)** - 必填
- 用户连接的入口地址
- 可以是域名或 IP 地址
- 支持自动填充(从服务器地址)
- 可手动修改为 CDN 域名或其他入口

**5. 端口 (Port)** - 必填
- 用户连接的入口端口号
- 范围: 1-65535
- 支持自动填充(从协议端口)
- 可手动修改为不同端口(如使用端口转发时)

**6. 标签 (Tags)** - 可选
- 节点分组标签,支持多标签
- 可从已有标签中选择或输入新标签
- 使用回车键或逗号(,)添加多个标签
- 作用:
  - **权限分组**: 与套餐绑定,控制不同套餐用户可见的节点
  - **流量策略**: 用于节点流量分发和负载均衡

### 智能填充机制

表单具有智能填充功能,提高配置效率:

**触发条件:**
1. 选择服务器时
2. 选择协议时

**填充规则:**
- **选择服务器后**:
  - 名称自动填充为服务器名称
  - 地址自动填充为服务器 IP
  - 协议自动选择第一个可用协议
  - 端口自动填充为协议对应端口

- **选择协议后**:
  - 端口自动填充为该协议的端口号

**手动修改:**
- 任何字段手动修改后,该字段不再自动填充
- 重新选择服务器或协议会刷新自动填充状态

## 使用场景

### 场景 1: 创建基础节点
1. 点击"创建 (Create)"按钮
2. 选择服务器(自动填充其他字段)
3. 确认或调整自动填充的配置
4. 点击"确认 (Confirm)"

### 场景 2: 创建 CDN 节点
1. 点击"创建 (Create)"按钮
2. 选择服务器
3. 修改名称为: `香港 01 [CDN]`
4. 修改地址为 CDN 域名: `hk01.cdn.example.com`
5. 修改端口为 CDN 端口: `443` 或 `80`
6. 点击"确认 (Confirm)"

### 场景 3: 标签分组管理
**用于套餐绑定:**
- 高级套餐节点: 添加标签 `premium`, `vip`
- 普通套餐节点: 添加标签 `standard`
- 试用套餐节点: 添加标签 `trial`
- 在产品管理中绑定标签,实现不同套餐看到不同节点

**用于地区分类:**
- 香港节点: 添加标签 `hk`, `asia`
- 美国节点: 添加标签 `us`, `americas`
- 日本节点: 添加标签 `jp`, `asia`

### 场景 4: 批量管理
1. 使用搜索功能筛选特定节点
2. 勾选多个节点
3. 点击批量删除或批量操作
4. 确认操作

## 节点与服务器的关系

**服务器 (Server):**
- 物理服务器或 VPS
- 运行代理服务程序
- 配置监听协议和端口
- 一台服务器可配置多种协议

**节点 (Node):**
- 用户可见的连接端点
- 关联到某台服务器的某个协议
- 配置用户连接的入口地址(可与服务器地址不同)
- 一台服务器可创建多个节点

**示例:**
```
服务器: 香港-HK01 (192.168.1.100)
├── 协议: vless:443
├── 协议: vmess:80
└── 协议: trojan:8443

节点配置:
1. 节点名称: 香港 01 [直连]
   - 服务器: 香港-HK01
   - 协议: vless:443
   - 地址: 192.168.1.100
   - 端口: 443

2. 节点名称: 香港 01 [CDN]
   - 服务器: 香港-HK01
   - 协议: vmess:80
   - 地址: hk01.cdn.example.com
   - 端口: 443 (CDN端口)

3. 节点名称: 香港 01 [VIP]
   - 服务器: 香港-HK01
   - 协议: trojan:8443
   - 地址: 192.168.1.100
   - 端口: 8443
   - 标签: premium, vip
```

## 注意事项

1. **协议必须已启用**: 只能选择服务器上已启用的协议,未启用的协议不会出现在下拉列表中
2. **删除影响**: 删除节点会导致使用该节点的用户无法连接,请谨慎操作
3. **禁用vs删除**: 临时下线节点建议使用"禁用"而非删除,方便后续恢复
4. **标签规划**: 建议提前规划标签体系,便于后续套餐和节点的批量管理
5. **地址配置**: 使用 CDN 时,确保 CDN 已正确配置回源到服务器地址
6. **端口映射**: 如果入口端口与服务器监听端口不同(如使用端口转发),需确保网络层面已配置正确
