init: init proj
This commit is contained in:
135
docs/ADDING-REGIONS.md
Normal file
135
docs/ADDING-REGIONS.md
Normal file
@@ -0,0 +1,135 @@
|
||||
# 新增地区与新增站点
|
||||
|
||||
当舰队里加入新地区(香港、日本、韩国、台湾、英国……)的节点时,按本文操作。
|
||||
|
||||
> 背景:策略组的地区筛选靠**节点名称正则**,不靠节点的 `region` 字段。所以节点命名是一切的前提。
|
||||
|
||||
## 当前状态(2026-08-24)
|
||||
|
||||
只有美国与新加坡两个地区的节点,因此策略组里只有 `🇺🇸 United States` 与 `🇸🇬 Singapore` 两个地区组。
|
||||
香港、日本、台湾、英国、韩国的地区组**已删除**——留着会是空组,在客户端里显示为无可用节点。
|
||||
兜底的 `🌍 Other` 组也已删除:所有节点都能被现有两个地区组收纳,它恒为空。
|
||||
|
||||
## 一、给新节点命名(决定它能被哪个组收纳)
|
||||
|
||||
命名格式:`<国旗> <国家码> · <站点码> · <协议> · <出口>`
|
||||
|
||||
```
|
||||
🇭🇰 HK · VMess · 直连
|
||||
🇯🇵 JP · Trojan · WARP
|
||||
🇺🇸 US · LA · VMess · 直连 ← 同国多站点时插入站点码
|
||||
```
|
||||
|
||||
- **国家码必须出现在名字里**(HK/JP/US/SG…),地区组的正则靠它匹配
|
||||
- 出口词(`直连` / `WARP`)必须保留:客户端里没有出口标签,用户只能靠名字区分同协议的两条线路。界面上显示时会自动隐去,不必担心重复
|
||||
- 站点码(LA/RN/AWS)用于节点页的分段归类,来自节点的 `region` 字段
|
||||
|
||||
节点的 `region` 字段填站点码(`SG`、`LA`、`RN`、`HK`…),它决定节点页里归到哪一段。
|
||||
|
||||
## 二、让站点标题显示国旗
|
||||
|
||||
`web/src/components/stations.ts` 的 `STATION_LABELS` 加一行:
|
||||
|
||||
```ts
|
||||
const STATION_LABELS: Record<string, string> = {
|
||||
SG: '🇸🇬 SG AWS',
|
||||
LA: '🇺🇸 US LA',
|
||||
RN: '🇺🇸 US RN',
|
||||
HK: '🇭🇰 HK 香港站点名', // ← 新增
|
||||
};
|
||||
```
|
||||
|
||||
未配置的站点码会原样显示,不影响功能。
|
||||
|
||||
## 三、新建地区策略组
|
||||
|
||||
在「策略组」页点「添加策略组」,按下表填写:
|
||||
|
||||
| 字段 | 值 |
|
||||
|---|---|
|
||||
| 名称 | `🇭🇰 Hong Kong`(emoji 前缀 + 英文原名) |
|
||||
| 类型 | `url-test` |
|
||||
| 成员 | 留空 |
|
||||
| 收纳全部节点 | **开启** |
|
||||
| 名称筛选正则 | 见下方对照表 |
|
||||
| 测速 URL | `http://cp.cloudflare.com/generate_204` |
|
||||
| 间隔 | `300` |
|
||||
| 容差 | `50` |
|
||||
|
||||
「收纳全部节点」+「筛选正则」的组合会生成 `include-all-proxies=true, policy-regex-filter=…`(Surge)、`include-all-proxies: true, filter: …`(Clash)、`use=true, policy-regex-filter=…`(ShadowRocket),三端都是**动态筛选**——之后再加同地区节点会自动进组,不用改配置。
|
||||
|
||||
各地区的正则(取自原模板,可直接复制):
|
||||
|
||||
```
|
||||
香港 港|🇭🇰|香港|HK|Hong
|
||||
日本 日|🇯🇵|日本|JP|Japan
|
||||
台湾 台|🇹🇼|台湾|TW|Tai
|
||||
韩国 韩|韩国|Korea|KR|🇰🇷
|
||||
英国 🇬🇧|英国|英|英格兰|UK|United Kingdom
|
||||
新加坡 坡|🇸🇬|新加坡|狮城|SG|Singapore
|
||||
美国 美|🇺🇸|美国|US|States|American
|
||||
```
|
||||
|
||||
## 四、兜底组 `🌍 Other`(当前不存在)
|
||||
|
||||
原模板有一个 `🌍 Other` 组,用否定前瞻正则收纳「不属于任何已建地区组」的节点。**当前已删除**,因为现有节点都能被美/新两个组收纳,它恒为空。
|
||||
|
||||
只有当你加入的节点**不属于任何已建地区组**(比如加了德国节点但没建德国组)时,才需要重建它:
|
||||
|
||||
| 字段 | 值 |
|
||||
|---|---|
|
||||
| 名称 | `🌍 Other` |
|
||||
| 类型 | `url-test`,收纳全部节点开启 |
|
||||
| 筛选正则 | 见下(把所有**已建**地区组的关键字排除掉) |
|
||||
|
||||
```
|
||||
^((?!港|🇭🇰|香港|HK|Hong|日|🇯🇵|日本|JP|Japan|坡|🇸🇬|新加坡|狮城|SG|Singapore|美|🇺🇸|美国|US|States|American|Remain|Expired|官网|如需|套餐|去除|剩余|距离|Reset|重置|流量).)+$
|
||||
```
|
||||
|
||||
**如果重建了 Other,每次新增地区组都必须往这个否定前瞻里追加对应关键字**,否则新地区节点会同时出现在自己的组和 Other 里。
|
||||
|
||||
## 五、把新地区加进服务组的可选项
|
||||
|
||||
新建地区组后,它不会自动出现在服务组的成员里。按需编辑这些组,把新地区加进成员列表:
|
||||
|
||||
| 组 | 当前成员 | 建议 |
|
||||
|---|---|---|
|
||||
| `⚡️ Automatic` | SG、US | 加入所有地区组 |
|
||||
| `🚀 Proxy` | Automatic、SG、US | 加入所有地区组 |
|
||||
| `🎬 Streaming` | SG、US | 加入解锁能力强的地区(HK/TW/JP) |
|
||||
| `🤖 AI` | Automatic、US、SG | 加入 JP、US 等 AI 服务可用地区 |
|
||||
| `🌐 Global Services` | Automatic、US、SG | 同 AI |
|
||||
| `🍎 Apple` | Mainland、US | 按需加入 HK |
|
||||
|
||||
成员的顺序就是客户端里的排列顺序,**第一个成员是该组的默认选中项**。
|
||||
|
||||
## 六、地区流媒体解锁规则(可选)
|
||||
|
||||
模板原有 `stream_hk`、`stream_jp`、`stream_tw`、`stream_kr`、`stream_eu` 等按地区解锁的规则集。删除地区组时,这些规则被改指向了 `🎬 Streaming`。
|
||||
|
||||
如果新建了对应地区组,可以在「规则」页把这些规则的策略改回该地区组,解锁效果更精准:
|
||||
|
||||
| 规则集 | 建议策略 |
|
||||
|---|---|
|
||||
| `stream_hk`(non_ip + ip 两条) | `🇭🇰 Hong Kong` |
|
||||
| `stream_jp`(两条) | `🇯🇵 Japan` |
|
||||
| `stream_tw`、`stream_kr`、`stream_eu` | 对应地区组 |
|
||||
|
||||
## 七、验证
|
||||
|
||||
1. 「策略组」页:新地区组的**命中**一栏应列出该地区的所有节点
|
||||
2. 「节点」页:新站点应有独立分段,标题显示国旗
|
||||
3. 命令行校验 Clash 产物:
|
||||
```bash
|
||||
curl -s "http://<host>/sub/<token>/clash" > /tmp/c.yaml && mihomo -t -f /tmp/c.yaml
|
||||
```
|
||||
4. 若重建过 `🌍 Other`,确认它的命中里**不再包含**新地区节点
|
||||
|
||||
## 删除某个地区(反向操作)
|
||||
|
||||
1. 把指向该组的规则改指向别的组(否则规则会被自动跳过——IR 层有悬空引用防护,但那是兜底不是意图)
|
||||
2. 从其他组的成员里摘掉它
|
||||
3. 删除该组
|
||||
4. Other 的排除列表可以保留该地区关键字(留着无害,将来重建时省事)
|
||||
|
||||
> 上述 1–3 步如果漏做,生成器不会产出无效配置(悬空引用会被自动跳过、FINAL 会降级为 DIRECT),但分流意图会悄悄改变,所以要显式处理。
|
||||
Reference in New Issue
Block a user