jack 10 mesi fa
parent
commit
9a4bcd074f

+ 4 - 1
.gitignore

@@ -61,4 +61,7 @@ docs/_build/
 target/
 
 other/split_clash_config/split_config
-ai_news/save_data
+ai_news/save_data
+
+manual/clash/clash_each_node
+manual/singbox/singbox_each_node

+ 58 - 0
manual/clash/clash_each_node.py

@@ -0,0 +1,58 @@
+# -*- coding: utf-8 -*-
+import os
+import yaml
+
+# 读取当前路径
+current_path = os.getcwd()
+
+# 新文件夹名称
+new_folder_name = "clash_each_node"
+
+# 新文件夹的完整路径
+new_folder_path = os.path.join(current_path, new_folder_name)
+
+# 检查文件夹是否存在,如果不存在则创建
+if not os.path.exists(new_folder_path):
+    os.makedirs(new_folder_path)
+
+config_path = os.path.join(current_path, "merge.yaml")
+
+with open(config_path, 'r', encoding='utf-8') as file:
+    data = yaml.safe_load(file)
+    if not data:
+        print(f"Error reading {config_path}")
+        exit(1)
+config_name_serial_start = 1
+port_start = 7890
+for proxy in data['proxies']:
+    if '剩余流量' in proxy['name']:
+        continue
+    if '套餐到期' in proxy['name']:
+        continue
+    config_template = {
+        "mixed-port": port_start,
+        "allow-lan": True,
+        "bind-address": "*",
+        "mode": "rule",
+        "log-level": "info",
+        "external-controller": "0.0.0.0:9090",
+        "secret": "",
+        "dns": {
+            "enable": False,
+            "ipv6": False,
+            "nameserver": [],
+            "fallback": []
+        },
+        "proxies": [proxy],
+        "proxy-groups": [{'name': 'single node', 'type': 'select', 'proxies': [proxy['name']]}],
+    }
+
+    config_name = f"config{str(config_name_serial_start)}.yaml"
+
+    save_path = os.path.join(new_folder_path, config_name)
+
+    with open(save_path, 'w', encoding='utf-8') as file:
+        yaml.dump(config_template, file, allow_unicode=True, default_flow_style=False)
+
+    config_name_serial_start += 1
+    # port_start += 1

+ 6 - 2
manual/clash/switch_proxy.py

@@ -12,6 +12,7 @@ logging.basicConfig(level=logging.INFO)
 
 class ClashProxyManager:
     def __init__(self):
+        self.key_group = 0
         self.clash_api_base_url = [
             "http://192.168.31.201:58001/api",
             "http://192.168.31.201:58002/api",
@@ -24,7 +25,10 @@ class ClashProxyManager:
             "http://192.168.31.201:58009/api",
             "http://192.168.31.201:58010/api",
         ]
-        self.proxy_keyword = ['sg', 'SG', '新加坡', '马来西亚']
+        self.proxy_keyword = [
+            ['sg', 'SG', '新加坡', '马来西亚'],
+            ['jp', '日本'],
+        ]
         self.all_proxies = []
         self.selected_proxies = []
 
@@ -44,7 +48,7 @@ class ClashProxyManager:
             return []
 
     def filter_proxy(self):
-        for keyword in self.proxy_keyword:
+        for keyword in self.proxy_keyword[self.key_group]:
             for item in self.all_proxies:
                 if keyword.lower() in item.lower():
                     self.selected_proxies.append(item)

+ 17 - 0
manual/singbox-multi/Dockerfile

@@ -0,0 +1,17 @@
+FROM debian:bookworm-slim
+
+RUN apt-get update && apt-get install -y curl dpkg
+
+RUN curl -fsSL https://sing-box.app/gpg.key -o /etc/apt/keyrings/sagernet.asc
+RUN chmod a+r /etc/apt/keyrings/sagernet.asc
+
+RUN echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/sagernet.asc] https://deb.sagernet.org/ * *" | tee /etc/apt/sources.list.d/sagernet.list > /dev/null
+
+RUN apt-get update && apt-get install -y sing-box
+
+RUN mkdir -p /app/config
+
+WORKDIR /app
+
+COPY start.sh /app/start.sh
+RUN chmod +x /app/start.sh

+ 32 - 0
manual/singbox-multi/config/config1.json

@@ -0,0 +1,32 @@
+{
+    "log": {
+        "level": "info"
+    },
+    "inbounds": [
+        {
+            "type": "mixed",
+            "listen": "::",
+            "listen_port": 56000
+        }
+    ],
+    "outbounds": [
+        {
+            "type": "trojan",
+            "tag": "proxy_1",
+            "server": "cn1.cdn.xfltd-cdn.top",
+            "server_port": 12001,
+            "password": "d058a1cb-5dbd-4664-9d8b-ae26bc699ed4",
+            "tls": {
+                "enabled": false
+            }
+        }
+    ],
+    "route": {
+        "rules": [
+            {
+                "type": "default",
+                "outbound": "proxy_1"
+            }
+        ]
+    }
+}

+ 32 - 0
manual/singbox-multi/config/config2.json

@@ -0,0 +1,32 @@
+{
+    "log": {
+        "level": "info"
+    },
+    "inbounds": [
+        {
+            "type": "mixed",
+            "listen": "::",
+            "listen_port": 56001
+        }
+    ],
+    "outbounds": [
+        {
+            "type": "trojan",
+            "tag": "proxy_2",
+            "server": "cn1.cdn.xfltd-cdn.top",
+            "server_port": 12002,
+            "password": "d058a1cb-5dbd-4664-9d8b-ae26bc699ed4",
+            "tls": {
+                "enabled": false
+            }
+        }
+    ],
+    "route": {
+        "rules": [
+            {
+                "type": "default",
+                "outbound": "proxy_2"
+            }
+        ]
+    }
+}

+ 32 - 0
manual/singbox-multi/config/config3.json

@@ -0,0 +1,32 @@
+{
+    "log": {
+        "level": "info"
+    },
+    "inbounds": [
+        {
+            "type": "mixed",
+            "listen": "::",
+            "listen_port": 56002
+        }
+    ],
+    "outbounds": [
+        {
+            "type": "trojan",
+            "tag": "proxy_3",
+            "server": "cn1.cdn.xfltd-cdn.top",
+            "server_port": 12003,
+            "password": "d058a1cb-5dbd-4664-9d8b-ae26bc699ed4",
+            "tls": {
+                "enabled": false
+            }
+        }
+    ],
+    "route": {
+        "rules": [
+            {
+                "type": "default",
+                "outbound": "proxy_3"
+            }
+        ]
+    }
+}

+ 12 - 0
manual/singbox-multi/docker-compose.yaml

@@ -0,0 +1,12 @@
+version: '3.8'
+services:
+  singbox:
+    container_name: singbox
+    build: .
+    image: my-singbox-image:latest
+    volumes:
+      - ./config:/app/config
+    ports:
+      - "56000-56002:56000-56002"
+    restart: always
+    command: ["./start.sh"]

+ 143 - 0
manual/singbox-multi/merge.yaml

@@ -0,0 +1,143 @@
+proxies:
+  - {"name":"剩余流量:89.96 GB","type":"trojan","server":"cn1.cdn.xfltd-cdn.top","port":12001,"password":"d058a1cb-5dbd-4664-9d8b-ae26bc699ed4","udp":true,"sni":"cdn.alibaba.com","skip-cert-verify":true}
+  - {"name":"套餐到期:长期有效","type":"trojan","server":"cn1.cdn.xfltd-cdn.top","port":12001,"password":"d058a1cb-5dbd-4664-9d8b-ae26bc699ed4","udp":true,"sni":"cdn.alibaba.com","skip-cert-verify":true}
+  - {"name":"🇭🇰 香港 01","type":"trojan","server":"cn1.cdn.xfltd-cdn.top","port":12001,"password":"d058a1cb-5dbd-4664-9d8b-ae26bc699ed4","udp":true,"sni":"cdn.alibaba.com","skip-cert-verify":true}
+  - {"name":"🇭🇰 香港 02","type":"trojan","server":"cn1.cdn.xfltd-cdn.top","port":12002,"password":"d058a1cb-5dbd-4664-9d8b-ae26bc699ed4","udp":true,"sni":"cdn.alibaba.com","skip-cert-verify":true}
+  - {"name":"🇭🇰 香港 03","type":"trojan","server":"cn1.cdn.xfltd-cdn.top","port":12003,"password":"d058a1cb-5dbd-4664-9d8b-ae26bc699ed4","udp":true,"sni":"cdn.alibaba.com","skip-cert-verify":true}
+  - {"name":"🇭🇰 香港 04","type":"trojan","server":"cn1.cdn.xfltd-cdn.top","port":12004,"password":"d058a1cb-5dbd-4664-9d8b-ae26bc699ed4","udp":true,"sni":"cdn.alibaba.com","skip-cert-verify":true}
+  - {"name":"🇭🇰 香港 05","type":"trojan","server":"cn1.cdn.xfltd-cdn.top","port":12005,"password":"d058a1cb-5dbd-4664-9d8b-ae26bc699ed4","udp":true,"sni":"cdn.alibaba.com","skip-cert-verify":true}
+  - {"name":"🇭🇰 香港 06","type":"trojan","server":"cn1.cdn.xfltd-cdn.top","port":12006,"password":"d058a1cb-5dbd-4664-9d8b-ae26bc699ed4","udp":true,"sni":"cdn.alibaba.com","skip-cert-verify":true}
+  - {"name":"🇲🇴 澳门 01","type":"trojan","server":"cn1.cdn.xfltd-cdn.top","port":12007,"password":"d058a1cb-5dbd-4664-9d8b-ae26bc699ed4","udp":true,"sni":"cdn.alibaba.com","skip-cert-verify":true}
+  - {"name":"🇨🇳 台湾 01","type":"trojan","server":"cn1.cdn.xfltd-cdn.top","port":12011,"password":"d058a1cb-5dbd-4664-9d8b-ae26bc699ed4","udp":true,"sni":"cdn.alibaba.com","skip-cert-verify":true}
+  - {"name":"🇨🇳 台湾 02","type":"trojan","server":"cn1.cdn.xfltd-cdn.top","port":12012,"password":"d058a1cb-5dbd-4664-9d8b-ae26bc699ed4","udp":true,"sni":"cdn.alibaba.com","skip-cert-verify":true}
+  - {"name":"🇸🇬 新加坡 01","type":"trojan","server":"cn2.cdn.xfltd-cdn.top","port":12021,"password":"d058a1cb-5dbd-4664-9d8b-ae26bc699ed4","udp":true,"sni":"cdn.alibaba.com","skip-cert-verify":true}
+  - {"name":"🇸🇬 新加坡 02","type":"trojan","server":"cn2.cdn.xfltd-cdn.top","port":12022,"password":"d058a1cb-5dbd-4664-9d8b-ae26bc699ed4","udp":true,"sni":"cdn.alibaba.com","skip-cert-verify":true}
+  - {"name":"🇸🇬 新加坡 03","type":"trojan","server":"cn2.cdn.xfltd-cdn.top","port":12023,"password":"d058a1cb-5dbd-4664-9d8b-ae26bc699ed4","udp":true,"sni":"cdn.alibaba.com","skip-cert-verify":true}
+  - {"name":"🇸🇬 新加坡 04","type":"trojan","server":"cn2.cdn.xfltd-cdn.top","port":12024,"password":"d058a1cb-5dbd-4664-9d8b-ae26bc699ed4","udp":true,"sni":"cdn.alibaba.com","skip-cert-verify":true}
+  - {"name":"🇸🇬 新加坡 05","type":"trojan","server":"cn2.cdn.xfltd-cdn.top","port":12025,"password":"d058a1cb-5dbd-4664-9d8b-ae26bc699ed4","udp":true,"sni":"cdn.alibaba.com","skip-cert-verify":true}
+  - {"name":"🇯🇵 日本 01","type":"trojan","server":"cn2.cdn.xfltd-cdn.top","port":12031,"password":"d058a1cb-5dbd-4664-9d8b-ae26bc699ed4","udp":true,"sni":"cdn.alibaba.com","skip-cert-verify":true}
+  - {"name":"🇯🇵 日本 02","type":"trojan","server":"cn2.cdn.xfltd-cdn.top","port":12032,"password":"d058a1cb-5dbd-4664-9d8b-ae26bc699ed4","udp":true,"sni":"cdn.alibaba.com","skip-cert-verify":true}
+  - {"name":"🇯🇵 日本 03","type":"trojan","server":"cn2.cdn.xfltd-cdn.top","port":12033,"password":"d058a1cb-5dbd-4664-9d8b-ae26bc699ed4","udp":true,"sni":"cdn.alibaba.com","skip-cert-verify":true}
+  - {"name":"🇯🇵 日本 04","type":"trojan","server":"cn2.cdn.xfltd-cdn.top","port":12034,"password":"d058a1cb-5dbd-4664-9d8b-ae26bc699ed4","udp":true,"sni":"cdn.alibaba.com","skip-cert-verify":true}
+  - {"name":"🇯🇵 日本 05","type":"trojan","server":"cn2.cdn.xfltd-cdn.top","port":12035,"password":"d058a1cb-5dbd-4664-9d8b-ae26bc699ed4","udp":true,"sni":"cdn.alibaba.com","skip-cert-verify":true}
+  - {"name":"🇺🇸 美国 01","type":"trojan","server":"cn2.cdn.xfltd-cdn.top","port":12051,"password":"d058a1cb-5dbd-4664-9d8b-ae26bc699ed4","udp":true,"sni":"cdn.alibaba.com","skip-cert-verify":true}
+  - {"name":"🇺🇸 美国 02","type":"trojan","server":"cn2.cdn.xfltd-cdn.top","port":12052,"password":"d058a1cb-5dbd-4664-9d8b-ae26bc699ed4","udp":true,"sni":"cdn.alibaba.com","skip-cert-verify":true}
+  - {"name":"🇺🇸 美国 03","type":"trojan","server":"cn2.cdn.xfltd-cdn.top","port":12053,"password":"d058a1cb-5dbd-4664-9d8b-ae26bc699ed4","udp":true,"sni":"cdn.alibaba.com","skip-cert-verify":true}
+  - {"name":"🇺🇸 美国 04","type":"trojan","server":"cn2.cdn.xfltd-cdn.top","port":12054,"password":"d058a1cb-5dbd-4664-9d8b-ae26bc699ed4","udp":true,"sni":"cdn.alibaba.com","skip-cert-verify":true}
+  - {"name":"🇵🇰 巴基斯坦 01","type":"trojan","server":"cn2.cdn.xfltd-cdn.top","port":12077,"password":"d058a1cb-5dbd-4664-9d8b-ae26bc699ed4","udp":true,"sni":"cdn.alibaba.com","skip-cert-verify":true}
+  - {"name":"🇰🇷 韩国 01","type":"trojan","server":"cn2.cdn.xfltd-cdn.top","port":12041,"password":"d058a1cb-5dbd-4664-9d8b-ae26bc699ed4","udp":true,"sni":"cdn.alibaba.com","skip-cert-verify":true}
+  - {"name":"🇮🇩 印尼 01","type":"trojan","server":"cn2.cdn.xfltd-cdn.top","port":12061,"password":"d058a1cb-5dbd-4664-9d8b-ae26bc699ed4","udp":true,"sni":"cdn.alibaba.com","skip-cert-verify":true}
+  - {"name":"🇮🇹 意大利 01","type":"trojan","server":"cn2.cdn.xfltd-cdn.top","port":12062,"password":"d058a1cb-5dbd-4664-9d8b-ae26bc699ed4","udp":true,"sni":"cdn.alibaba.com","skip-cert-verify":true}
+  - {"name":"🇹🇷 土耳其 01","type":"trojan","server":"cn2.cdn.xfltd-cdn.top","port":12064,"password":"d058a1cb-5dbd-4664-9d8b-ae26bc699ed4","udp":true,"sni":"cdn.alibaba.com","skip-cert-verify":true}
+  - {"name":"🇫🇷 法国 01","type":"trojan","server":"cn2.cdn.xfltd-cdn.top","port":12065,"password":"d058a1cb-5dbd-4664-9d8b-ae26bc699ed4","udp":true,"sni":"cdn.alibaba.com","skip-cert-verify":true}
+  - {"name":"🇦🇷 阿根廷 01","type":"trojan","server":"cn2.cdn.xfltd-cdn.top","port":12066,"password":"d058a1cb-5dbd-4664-9d8b-ae26bc699ed4","udp":true,"sni":"cdn.alibaba.com","skip-cert-verify":true}
+  - {"name":"🇲🇾 马来西亚 01","type":"trojan","server":"cn2.cdn.xfltd-cdn.top","port":12067,"password":"d058a1cb-5dbd-4664-9d8b-ae26bc699ed4","udp":true,"sni":"cdn.alibaba.com","skip-cert-verify":true}
+  - {"name":"🇦🇺 澳大利亚 01","type":"trojan","server":"cn2.cdn.xfltd-cdn.top","port":12068,"password":"d058a1cb-5dbd-4664-9d8b-ae26bc699ed4","udp":true,"sni":"cdn.alibaba.com","skip-cert-verify":true}
+  - {"name":"🇬🇧 英国 01","type":"trojan","server":"cn2.cdn.xfltd-cdn.top","port":12069,"password":"d058a1cb-5dbd-4664-9d8b-ae26bc699ed4","udp":true,"sni":"cdn.alibaba.com","skip-cert-verify":true}
+  - {"name":"🇩🇪 德国 01","type":"trojan","server":"cn2.cdn.xfltd-cdn.top","port":12070,"password":"d058a1cb-5dbd-4664-9d8b-ae26bc699ed4","udp":true,"sni":"cdn.alibaba.com","skip-cert-verify":true}
+  - {"name":"🇸🇪 瑞典 01","type":"trojan","server":"cn2.cdn.xfltd-cdn.top","port":12071,"password":"d058a1cb-5dbd-4664-9d8b-ae26bc699ed4","udp":true,"sni":"cdn.alibaba.com","skip-cert-verify":true}
+  - {"name":"🇮🇳 印度 01","type":"trojan","server":"cn2.cdn.xfltd-cdn.top","port":12072,"password":"d058a1cb-5dbd-4664-9d8b-ae26bc699ed4","udp":true,"sni":"cdn.alibaba.com","skip-cert-verify":true}
+  - {"name":"🇳🇬 尼日利亚 01","type":"trojan","server":"cn2.cdn.xfltd-cdn.top","port":12073,"password":"d058a1cb-5dbd-4664-9d8b-ae26bc699ed4","udp":true,"sni":"cdn.alibaba.com","skip-cert-verify":true}
+  - {"name":"🇳🇱 荷兰 01","type":"trojan","server":"cn2.cdn.xfltd-cdn.top","port":12074,"password":"d058a1cb-5dbd-4664-9d8b-ae26bc699ed4","udp":true,"sni":"cdn.alibaba.com","skip-cert-verify":true}
+  - {"name":"🇷🇺 俄罗斯 01","type":"trojan","server":"cn2.cdn.xfltd-cdn.top","port":12075,"password":"d058a1cb-5dbd-4664-9d8b-ae26bc699ed4","udp":true,"sni":"cdn.alibaba.com","skip-cert-verify":true}
+  - {"name":"🇹🇭 泰国 01","type":"trojan","server":"cn2.cdn.xfltd-cdn.top","port":12076,"password":"d058a1cb-5dbd-4664-9d8b-ae26bc699ed4","udp":true,"sni":"cdn.alibaba.com","skip-cert-verify":true}
+  - {"name":"DE-Detour 01 AEAD","type":"vmess","server":"de-detour-01.grabgo.pro","port":15801,"uuid":"22a14509-a8ab-46cb-bb26-d47d4d18e1d6","alterId":0,"cipher":"auto","ws-path":"/"}
+  - {"name":"DE-Detour 02 AEAD","type":"vmess","server":"de-detour-02.grabgo.pro","port":15802,"uuid":"22a14509-a8ab-46cb-bb26-d47d4d18e1d6","alterId":0,"cipher":"auto","ws-path":"/"}
+  - {"name":"DE-Detour-03 AEAD","type":"vmess","server":"de-detour-03.grabgo.pro","port":15803,"uuid":"22a14509-a8ab-46cb-bb26-d47d4d18e1d6","alterId":0,"cipher":"auto","ws-path":"/"}
+  - {"name":"HKT-Detour 01 AEAD","type":"vmess","server":"hkt-detour-01.grabgo.pro","port":15101,"uuid":"22a14509-a8ab-46cb-bb26-d47d4d18e1d6","alterId":0,"cipher":"auto","ws-path":"/"}
+  - {"name":"HKT-Detour 02 AEAD","type":"vmess","server":"hkt-detour-02.grabgo.pro","port":15102,"uuid":"22a14509-a8ab-46cb-bb26-d47d4d18e1d6","alterId":0,"cipher":"auto","ws-path":"/"}
+  - {"name":"HKT-Detour 05 AEAD","type":"vmess","server":"hkt-detour-05.grabgo.pro","port":15105,"uuid":"22a14509-a8ab-46cb-bb26-d47d4d18e1d6","alterId":0,"cipher":"auto","ws-path":"/"}
+  - {"name":"HKT-Detour 06 AEAD","type":"vmess","server":"hkt-detour-06.grabgo.pro","port":15106,"uuid":"22a14509-a8ab-46cb-bb26-d47d4d18e1d6","alterId":0,"cipher":"auto","ws-path":"/"}
+  - {"name":"HKT-Detour 09 AEAD","type":"vmess","server":"hkt-detour-09.grabgo.pro","port":15109,"uuid":"22a14509-a8ab-46cb-bb26-d47d4d18e1d6","alterId":0,"cipher":"auto","ws-path":"/"}
+  - {"name":"HKT-Detour 10 AEAD","type":"vmess","server":"hkt-detour-10.grabgo.pro","port":15110,"uuid":"22a14509-a8ab-46cb-bb26-d47d4d18e1d6","alterId":0,"cipher":"auto","ws-path":"/"}
+  - {"name":"HKT-Detour 11 AEAD","type":"vmess","server":"hkt-detour-11.grabgo.pro","port":15111,"uuid":"22a14509-a8ab-46cb-bb26-d47d4d18e1d6","alterId":0,"cipher":"auto","ws-path":"/"}
+  - {"name":"HKT-Detour 12 AEAD","type":"vmess","server":"hkt-detour-12.grabgo.pro","port":15112,"uuid":"22a14509-a8ab-46cb-bb26-d47d4d18e1d6","alterId":0,"cipher":"auto","ws-path":"/"}
+  - {"name":"HKT-Detour 13 AEAD","type":"vmess","server":"hkt-detour-13.grabgo.pro","port":15113,"uuid":"22a14509-a8ab-46cb-bb26-d47d4d18e1d6","alterId":0,"cipher":"auto","ws-path":"/"}
+  - {"name":"HKT-Detour 14 AEAD","type":"vmess","server":"hkt-detour-14.grabgo.pro","port":15114,"uuid":"22a14509-a8ab-46cb-bb26-d47d4d18e1d6","alterId":0,"cipher":"auto","ws-path":"/"}
+  - {"name":"HKT-Detour 17 AEAD","type":"vmess","server":"hkt-detour-17.grabgo.pro","port":15117,"uuid":"22a14509-a8ab-46cb-bb26-d47d4d18e1d6","alterId":0,"cipher":"auto","ws-path":"/"}
+  - {"name":"HKT-Detour 18 AEAD","type":"vmess","server":"hkt-detour-18.grabgo.pro","port":15118,"uuid":"22a14509-a8ab-46cb-bb26-d47d4d18e1d6","alterId":0,"cipher":"auto","ws-path":"/"}
+  - {"name":"HKT-Detour 19 AEAD","type":"vmess","server":"hkt-detour-19.grabgo.pro","port":15119,"uuid":"22a14509-a8ab-46cb-bb26-d47d4d18e1d6","alterId":0,"cipher":"auto","ws-path":"/"}
+  - {"name":"HKT-Detour 20 AEAD","type":"vmess","server":"hkt-detour-20.grabgo.pro","port":15120,"uuid":"22a14509-a8ab-46cb-bb26-d47d4d18e1d6","alterId":0,"cipher":"auto","ws-path":"/"}
+  - {"name":"HKT-Detour 21 AEAD","type":"vmess","server":"hkt-detour-21.grabgo.pro","port":15131,"uuid":"22a14509-a8ab-46cb-bb26-d47d4d18e1d6","alterId":0,"cipher":"auto","ws-path":"/"}
+  - {"name":"HKT-Detour 23 AEAD","type":"vmess","server":"hkt-detour-23.grabgo.pro","port":15133,"uuid":"22a14509-a8ab-46cb-bb26-d47d4d18e1d6","alterId":0,"cipher":"auto","ws-path":"/"}
+  - {"name":"JP-Detour 01 AEAD","type":"vmess","server":"jp-01.grabgo.pro","port":15601,"uuid":"22a14509-a8ab-46cb-bb26-d47d4d18e1d6","alterId":0,"cipher":"auto","ws-path":"/"}
+  - {"name":"JP-Detour 02 AEAD","type":"vmess","server":"jp-02.grabgo.pro","port":15602,"uuid":"22a14509-a8ab-46cb-bb26-d47d4d18e1d6","alterId":0,"cipher":"auto","ws-path":"/"}
+  - {"name":"JP-Detour 03 AEAD","type":"vmess","server":"jp-03.grabgo.pro","port":15603,"uuid":"22a14509-a8ab-46cb-bb26-d47d4d18e1d6","alterId":0,"cipher":"auto","ws-path":"/"}
+  - {"name":"JP-Detour 04 AEAD","type":"vmess","server":"jp-04.grabgo.pro","port":15604,"uuid":"22a14509-a8ab-46cb-bb26-d47d4d18e1d6","alterId":0,"cipher":"auto","ws-path":"/"}
+  - {"name":"JP-Detour 05 AEAD","type":"vmess","server":"jp-05.grabgo.pro","port":15605,"uuid":"22a14509-a8ab-46cb-bb26-d47d4d18e1d6","alterId":0,"cipher":"auto","ws-path":"/"}
+  - {"name":"JP-Detour 06 AEAD","type":"vmess","server":"jp-06.grabgo.pro","port":15606,"uuid":"22a14509-a8ab-46cb-bb26-d47d4d18e1d6","alterId":0,"cipher":"auto","ws-path":"/"}
+  - {"name":"LA-Detour 02 AEAD","type":"vmess","server":"la-detour-02.grabgo.pro","port":15502,"uuid":"22a14509-a8ab-46cb-bb26-d47d4d18e1d6","alterId":0,"cipher":"auto","ws-path":"/"}
+  - {"name":"LA-Detour 03 AEAD","type":"vmess","server":"la-detour-03.grabgo.pro","port":15503,"uuid":"22a14509-a8ab-46cb-bb26-d47d4d18e1d6","alterId":0,"cipher":"auto","ws-path":"/"}
+  - {"name":"LA-Detour 05 AEAD","type":"vmess","server":"la-detour-05.grabgo.pro","port":15505,"uuid":"22a14509-a8ab-46cb-bb26-d47d4d18e1d6","alterId":0,"cipher":"auto","ws-path":"/"}
+  - {"name":"LA-Detour 07 AEAD","type":"vmess","server":"la-detour-07.grabgo.pro","port":15507,"uuid":"22a14509-a8ab-46cb-bb26-d47d4d18e1d6","alterId":0,"cipher":"auto","ws-path":"/"}
+  - {"name":"LA-Detour 09 AEAD","type":"vmess","server":"la-detour-09.grabgo.pro","port":15509,"uuid":"22a14509-a8ab-46cb-bb26-d47d4d18e1d6","alterId":0,"cipher":"auto","ws-path":"/"}
+  - {"name":"LA-Detour 10 AEAD","type":"vmess","server":"la-detour-10.grabgo.pro","port":15510,"uuid":"22a14509-a8ab-46cb-bb26-d47d4d18e1d6","alterId":0,"cipher":"auto","ws-path":"/"}
+  - {"name":"Oz-Detour 01 AEAD","type":"vmess","server":"oz-detour-01.grabgo.pro","port":15811,"uuid":"22a14509-a8ab-46cb-bb26-d47d4d18e1d6","alterId":0,"cipher":"auto","ws-path":"/"}
+  - {"name":"Oz-Detour 02 AEAD","type":"vmess","server":"oz-detour-02.grabgo.pro","port":15812,"uuid":"22a14509-a8ab-46cb-bb26-d47d4d18e1d6","alterId":0,"cipher":"auto","ws-path":"/"}
+  - {"name":"SG-Detour 01 AEAD","type":"vmess","server":"sg-detour-01.grabgo.pro","port":15301,"uuid":"22a14509-a8ab-46cb-bb26-d47d4d18e1d6","alterId":0,"cipher":"auto","ws-path":"/"}
+  - {"name":"SG-Detour 02 AEAD","type":"vmess","server":"sg-detour-02.grabgo.pro","port":15302,"uuid":"22a14509-a8ab-46cb-bb26-d47d4d18e1d6","alterId":0,"cipher":"auto","ws-path":"/"}
+  - {"name":"SG-Detour 03 AEAD","type":"vmess","server":"sg-detour-03.grabgo.pro","port":15303,"uuid":"22a14509-a8ab-46cb-bb26-d47d4d18e1d6","alterId":0,"cipher":"auto","ws-path":"/"}
+  - {"name":"TW-Detour 01 AEAD","type":"vmess","server":"tw-detour-01.grabgo.pro","port":15201,"uuid":"22a14509-a8ab-46cb-bb26-d47d4d18e1d6","alterId":0,"cipher":"auto","ws-path":"/"}
+  - {"name":"TW-Detour 02 AEAD","type":"vmess","server":"tw-detour-02.grabgo.pro","port":15202,"uuid":"22a14509-a8ab-46cb-bb26-d47d4d18e1d6","alterId":0,"cipher":"auto","ws-path":"/"}
+  - {"name":"TW-Detour 03 AEAD","type":"vmess","server":"tw-detour-03.grabgo.pro","port":15203,"uuid":"22a14509-a8ab-46cb-bb26-d47d4d18e1d6","alterId":0,"cipher":"auto","ws-path":"/"}
+  - {"name":"TW-Detour 05 AEAD","type":"vmess","server":"tw-detour-05.grabgo.pro","port":15205,"uuid":"22a14509-a8ab-46cb-bb26-d47d4d18e1d6","alterId":0,"cipher":"auto","ws-path":"/"}
+  - {"name":"TW-Detour 06 AEAD","type":"vmess","server":"tw-detour-06.grabgo.pro","port":15206,"uuid":"22a14509-a8ab-46cb-bb26-d47d4d18e1d6","alterId":0,"cipher":"auto","ws-path":"/"}
+  - {"name":"TW-Detour 08 AEAD","type":"vmess","server":"tw-detour-08.grabgo.pro","port":15208,"uuid":"22a14509-a8ab-46cb-bb26-d47d4d18e1d6","alterId":0,"cipher":"auto","ws-path":"/"}
+  - {"name":"TW-Detour 09 AEAD","type":"vmess","server":"tw-detour-09.grabgo.pro","port":15209,"uuid":"22a14509-a8ab-46cb-bb26-d47d4d18e1d6","alterId":0,"cipher":"auto","ws-path":"/"}
+  - {"name":"TW-Detour 10 AEAD","type":"vmess","server":"tw-detour-10.grabgo.pro","port":15210,"uuid":"22a14509-a8ab-46cb-bb26-d47d4d18e1d6","alterId":0,"cipher":"auto","ws-path":"/"}
+  - {"name":"TW-Detour 12 AEAD","type":"vmess","server":"tw-detour-12.grabgo.pro","port":15212,"uuid":"22a14509-a8ab-46cb-bb26-d47d4d18e1d6","alterId":0,"cipher":"auto","ws-path":"/"}
+  - {"name":"TW-Detour 13 AEAD","type":"vmess","server":"tw-detour-13.grabgo.pro","port":15213,"uuid":"22a14509-a8ab-46cb-bb26-d47d4d18e1d6","alterId":0,"cipher":"auto","ws-path":"/"}
+  - {"name":"TW-Detour 15 AEAD","type":"vmess","server":"tw-detour-15.grabgo.pro","port":15215,"uuid":"22a14509-a8ab-46cb-bb26-d47d4d18e1d6","alterId":0,"cipher":"auto","ws-path":"/"}
+  - {"name":"TW-Detour 16 AEAD","type":"vmess","server":"tw-detour-16.grabgo.pro","port":15216,"uuid":"22a14509-a8ab-46cb-bb26-d47d4d18e1d6","alterId":0,"cipher":"auto","ws-path":"/"}
+  - {"name":"TW-Detour 18 AEAD","type":"vmess","server":"tw-detour-18.grabgo.pro","port":15218,"uuid":"22a14509-a8ab-46cb-bb26-d47d4d18e1d6","alterId":0,"cipher":"auto","ws-path":"/"}
+  - {"name":"TW-Detour 19 AEAD","type":"vmess","server":"tw-detour-19.grabgo.pro","port":15219,"uuid":"22a14509-a8ab-46cb-bb26-d47d4d18e1d6","alterId":0,"cipher":"auto","ws-path":"/"}
+  - {"name":"TW-Detour 20 AEAD","type":"vmess","server":"tw-detour-20.grabgo.pro","port":15220,"uuid":"22a14509-a8ab-46cb-bb26-d47d4d18e1d6","alterId":0,"cipher":"auto","ws-path":"/"}
+  - {"name":"TW-Detour 22 AEAD","type":"vmess","server":"tw-detour-22.grabgo.pro","port":15222,"uuid":"22a14509-a8ab-46cb-bb26-d47d4d18e1d6","alterId":0,"cipher":"auto","ws-path":"/"}
+  - {"name":"TW-Detour 23 AEAD","type":"vmess","server":"tw-detour-23.grabgo.pro","port":15223,"uuid":"22a14509-a8ab-46cb-bb26-d47d4d18e1d6","alterId":0,"cipher":"auto","ws-path":"/"}
+  - {"name":"UK Detour-01 AEAD","type":"vmess","server":"uk-detour-01.grabgo.pro","port":15711,"uuid":"22a14509-a8ab-46cb-bb26-d47d4d18e1d6","alterId":0,"cipher":"auto","ws-path":"/"}
+  - {"name":"UK Detour-02 AEAD","type":"vmess","server":"uk-detour-02.grabgo.pro","port":15712,"uuid":"22a14509-a8ab-46cb-bb26-d47d4d18e1d6","alterId":0,"cipher":"auto","ws-path":"/"}
+  - {"name":"UK Detour-03 AEAD","type":"vmess","server":"uk-detour-03.grabgo.pro","port":15713,"uuid":"22a14509-a8ab-46cb-bb26-d47d4d18e1d6","alterId":0,"cipher":"auto","ws-path":"/"}
+  - {"name":"UK Detour-04 AEAD","type":"vmess","server":"uk-detour-04.grabgo.pro","port":15714,"uuid":"22a14509-a8ab-46cb-bb26-d47d4d18e1d6","alterId":0,"cipher":"auto","ws-path":"/"}
+  - {"name":"UK Detour-05 AEAD","type":"vmess","server":"uk-detour-05.grabgo.pro","port":15715,"uuid":"22a14509-a8ab-46cb-bb26-d47d4d18e1d6","alterId":0,"cipher":"auto","ws-path":"/"}
+  - {"name":"UK Detour-06 AEAD","type":"vmess","server":"uk-detour-06.grabgo.pro","port":15716,"uuid":"22a14509-a8ab-46cb-bb26-d47d4d18e1d6","alterId":0,"cipher":"auto","ws-path":"/"}
+  - {"name":"🇭🇰 香港-广东专线 BGP 1","password":"f2e8e50c-ffb8-48a1-a460-2e72dfaf7845","port":32443,"server":"lbso.bnnodeservice.com","sni":"cert.bitbyte.one","type":"trojan","udp":true}
+  - {"name":"🇭🇰 香港-广东专线 BGP 2","password":"f2e8e50c-ffb8-48a1-a460-2e72dfaf7845","port":32445,"server":"lbso.bnnodeservice.com","sni":"cert.bitbyte.one","type":"trojan","udp":true}
+  - {"name":"🇭🇰 香港-广东专线 Akari","password":"f2e8e50c-ffb8-48a1-a460-2e72dfaf7845","port":32037,"server":"lbso.bnnodeservice.com","sni":"cert.bitbyte.one","type":"trojan","udp":true}
+  - {"name":"🇭🇰 香港-广东专线 NeaRoute","password":"f2e8e50c-ffb8-48a1-a460-2e72dfaf7845","port":32029,"server":"lbso.bnnodeservice.com","sni":"cert.bitbyte.one","type":"trojan","udp":true}
+  - {"name":"🇭🇰 香港-广东专线 HKBN","password":"f2e8e50c-ffb8-48a1-a460-2e72dfaf7845","port":32000,"server":"lbso.bnnodeservice.com","sni":"cert.bitbyte.one","type":"trojan","udp":true}
+  - {"name":"🇭🇰 香港-广东专线 HGC","password":"f2e8e50c-ffb8-48a1-a460-2e72dfaf7845","port":32042,"server":"lbso.bnnodeservice.com","sni":"cert.bitbyte.one","type":"trojan","udp":true}
+  - {"name":"🇭🇰 香港-广东专线 HKT","password":"f2e8e50c-ffb8-48a1-a460-2e72dfaf7845","port":32033,"server":"lbso.bnnodeservice.com","sni":"cert.bitbyte.one","type":"trojan","udp":true}
+  - {"name":"🇭🇰 香港-广东专线 GCore","password":"f2e8e50c-ffb8-48a1-a460-2e72dfaf7845","port":32027,"server":"lbso.bnnodeservice.com","sni":"cert.bitbyte.one","type":"trojan","udp":true}
+  - {"name":"🇺🇸 美国-广东专线 BGP 1","password":"f2e8e50c-ffb8-48a1-a460-2e72dfaf7845","port":32001,"server":"lbso.bnnodeservice.com","sni":"cert.bitbyte.one","type":"trojan","udp":true}
+  - {"name":"🇺🇸 美国-广东专线 BGP 2","password":"f2e8e50c-ffb8-48a1-a460-2e72dfaf7845","port":32028,"server":"lbso.bnnodeservice.com","sni":"cert.bitbyte.one","type":"trojan","udp":true}
+  - {"name":"🇺🇸 美国-广东专线 DAOport","password":"f2e8e50c-ffb8-48a1-a460-2e72dfaf7845","port":32031,"server":"lbso.bnnodeservice.com","sni":"cert.bitbyte.one","type":"trojan","udp":true}
+  - {"name":"🇺🇸 美国-广东专线 GCore","password":"f2e8e50c-ffb8-48a1-a460-2e72dfaf7845","port":32021,"server":"lbso.bnnodeservice.com","sni":"cert.bitbyte.one","type":"trojan","udp":true}
+  - {"name":"🇹🇼 台湾-广东专线 NeaRoute","password":"f2e8e50c-ffb8-48a1-a460-2e72dfaf7845","port":32003,"server":"lbso.bnnodeservice.com","sni":"cert.bitbyte.one","type":"trojan","udp":true}
+  - {"name":"🇹🇼 台湾-广东专线 STUIX","password":"f2e8e50c-ffb8-48a1-a460-2e72dfaf7845","port":32040,"server":"lbso.bnnodeservice.com","sni":"cert.bitbyte.one","type":"trojan","udp":true}
+  - {"name":"🇯🇵 日本-广东专线 BGP","password":"f2e8e50c-ffb8-48a1-a460-2e72dfaf7845","port":32004,"server":"lbso.bnnodeservice.com","sni":"cert.bitbyte.one","type":"trojan","udp":true}
+  - {"name":"🇯🇵 日本-广东专线 Akari","password":"f2e8e50c-ffb8-48a1-a460-2e72dfaf7845","port":32036,"server":"lbso.bnnodeservice.com","sni":"cert.bitbyte.one","type":"trojan","udp":true}
+  - {"name":"🇯🇵 日本-广东专线 GCore","password":"f2e8e50c-ffb8-48a1-a460-2e72dfaf7845","port":32022,"server":"lbso.bnnodeservice.com","sni":"cert.bitbyte.one","type":"trojan","udp":true}
+  - {"name":"🇰🇷 韩国-广东专线 VUKR","password":"f2e8e50c-ffb8-48a1-a460-2e72dfaf7845","port":32005,"server":"lbso.bnnodeservice.com","sni":"cert.bitbyte.one","type":"trojan","udp":true}
+  - {"name":"🇸🇬 新加坡-广东专线 BGP","password":"f2e8e50c-ffb8-48a1-a460-2e72dfaf7845","port":32007,"server":"lbso.bnnodeservice.com","sni":"cert.bitbyte.one","type":"trojan","udp":true}
+  - {"name":"🇷🇺 俄罗斯-广东专线 PQ","password":"f2e8e50c-ffb8-48a1-a460-2e72dfaf7845","port":32008,"server":"lbso.bnnodeservice.com","sni":"cert.bitbyte.one","type":"trojan","udp":true}
+  - {"name":"🇫🇷 法国-广东专线 BGP","password":"f2e8e50c-ffb8-48a1-a460-2e72dfaf7845","port":32009,"server":"lbso.bnnodeservice.com","sni":"cert.bitbyte.one","type":"trojan","udp":true}
+  - {"name":"🇬🇧 英国-广东专线 BGP","password":"f2e8e50c-ffb8-48a1-a460-2e72dfaf7845","port":32010,"server":"lbso.bnnodeservice.com","sni":"cert.bitbyte.one","type":"trojan","udp":true}
+  - {"name":"🇨🇦 加拿大-广东专线 BGP","password":"f2e8e50c-ffb8-48a1-a460-2e72dfaf7845","port":32039,"server":"lbso.bnnodeservice.com","sni":"cert.bitbyte.one","type":"trojan","udp":true}
+  - {"name":"🇩🇪 德国-广东专线 BGP","password":"f2e8e50c-ffb8-48a1-a460-2e72dfaf7845","port":32011,"server":"lbso.bnnodeservice.com","sni":"cert.bitbyte.one","type":"trojan","udp":true}
+  - {"name":"🇦🇺 澳大利亚-广东专线 VUAU","password":"f2e8e50c-ffb8-48a1-a460-2e72dfaf7845","port":32012,"server":"lbso.bnnodeservice.com","sni":"cert.bitbyte.one","type":"trojan","udp":true}
+  - {"name":"🇦🇺 澳大利亚-广东专线 GCore","password":"f2e8e50c-ffb8-48a1-a460-2e72dfaf7845","port":32023,"server":"lbso.bnnodeservice.com","sni":"cert.bitbyte.one","type":"trojan","udp":true}
+  - {"name":"🇲🇾 马来西亚-广东专线 Shin","password":"f2e8e50c-ffb8-48a1-a460-2e72dfaf7845","port":32038,"server":"lbso.bnnodeservice.com","sni":"cert.bitbyte.one","type":"trojan","udp":true}
+  - {"name":"🇵🇭 菲律宾-广东专线 Zenlayer","password":"f2e8e50c-ffb8-48a1-a460-2e72dfaf7845","port":32013,"server":"lbso.bnnodeservice.com","sni":"cert.bitbyte.one","type":"trojan","udp":true}
+  - {"name":"🇵🇭 菲律宾-广东专线 Comfac","password":"f2e8e50c-ffb8-48a1-a460-2e72dfaf7845","port":32030,"server":"lbso.bnnodeservice.com","sni":"cert.bitbyte.one","type":"trojan","udp":true}
+  - {"name":"🇹🇭 泰国-广东专线 Bangmod","password":"f2e8e50c-ffb8-48a1-a460-2e72dfaf7845","port":32043,"server":"lbso.bnnodeservice.com","sni":"cert.bitbyte.one","type":"trojan","udp":true}
+  - {"name":"🇹🇷 土耳其-广东专线 Kapteyan","password":"f2e8e50c-ffb8-48a1-a460-2e72dfaf7845","port":32014,"server":"lbso.bnnodeservice.com","sni":"cert.bitbyte.one","type":"trojan","udp":true}
+  - {"name":"🇹🇷 土耳其-广东专线 GCore","password":"f2e8e50c-ffb8-48a1-a460-2e72dfaf7845","port":32026,"server":"lbso.bnnodeservice.com","sni":"cert.bitbyte.one","type":"trojan","udp":true}
+  - {"name":"🇦🇷 阿根廷-广东专线 DonWeb","password":"f2e8e50c-ffb8-48a1-a460-2e72dfaf7845","port":32015,"server":"lbso.bnnodeservice.com","sni":"cert.bitbyte.one","type":"trojan","udp":true}
+  - {"name":"🇳🇬 尼日利亚-广东专线 Melbicom","password":"f2e8e50c-ffb8-48a1-a460-2e72dfaf7845","port":32034,"server":"lbso.bnnodeservice.com","sni":"cert.bitbyte.one","type":"trojan","udp":true}
+  - {"name":"🇺🇦 乌克兰-广东专线 Vik","password":"f2e8e50c-ffb8-48a1-a460-2e72dfaf7845","port":32019,"server":"lbso.bnnodeservice.com","sni":"cert.bitbyte.one","type":"trojan","udp":true}
+  - {"name":"🇧🇷 巴西-广东专线 GCore 1","password":"f2e8e50c-ffb8-48a1-a460-2e72dfaf7845","port":32016,"server":"lbso.bnnodeservice.com","sni":"cert.bitbyte.one","type":"trojan","udp":true}
+  - {"name":"🇧🇷 巴西-广东专线 GCore 2","password":"f2e8e50c-ffb8-48a1-a460-2e72dfaf7845","port":32025,"server":"lbso.bnnodeservice.com","sni":"cert.bitbyte.one","type":"trojan","udp":true}
+  - {"name":"🇮🇳 印度-广东专线 DOIN","password":"f2e8e50c-ffb8-48a1-a460-2e72dfaf7845","port":32017,"server":"lbso.bnnodeservice.com","sni":"cert.bitbyte.one","type":"trojan","udp":true}
+  - {"name":"🇮🇳 印度-广东专线 GCore","password":"f2e8e50c-ffb8-48a1-a460-2e72dfaf7845","port":32024,"server":"lbso.bnnodeservice.com","sni":"cert.bitbyte.one","type":"trojan","udp":true}
+  - {"name":"🇸🇦 沙特-广东专线 STC","password":"f2e8e50c-ffb8-48a1-a460-2e72dfaf7845","port":32035,"server":"lbso.bnnodeservice.com","sni":"cert.bitbyte.one","type":"trojan","udp":true}
+  - {"name":"🇦🇶 南极-广东专线 WARP","password":"f2e8e50c-ffb8-48a1-a460-2e72dfaf7845","port":32041,"server":"lbso.bnnodeservice.com","sni":"cert.bitbyte.one","type":"trojan","udp":true}

+ 86 - 0
manual/singbox-multi/singbox_each_node.py

@@ -0,0 +1,86 @@
+# -*- coding: utf-8 -*-
+import os
+import json
+import shutil
+import yaml  # 保留导入 yaml 模块
+
+# 新文件夹名称
+new_folder_name = "config"
+
+downloads_path = os.path.join(os.path.expanduser('~'), 'Downloads')
+
+# 新文件夹的完整路径
+new_folder_path = os.path.join(downloads_path, new_folder_name)
+
+# 如果文件夹存在,删除整个文件夹
+if os.path.exists(new_folder_path):
+    shutil.rmtree(new_folder_path)
+
+# 创建新的文件夹
+os.makedirs(new_folder_path)
+
+config_path = os.path.join(os.getcwd(), "merge.yaml")
+
+with open(config_path, 'r', encoding='utf-8') as file:
+    data = yaml.safe_load(file)  # 使用 yaml 模块加载 YAML 文件
+    if not data:
+        print(f"Error reading {config_path}")
+        exit(1)
+
+config_name_serial_start = 1
+port_start = 56000
+
+for proxy in data['proxies']:
+    if '剩余流量' in proxy['name']:
+        continue
+    if '套餐到期' in proxy['name']:
+        continue
+
+    password = 'password'
+    if proxy['type'] == 'vmess':
+        password = 'uuid'
+    # 构建 SingBox 配置模板
+    config_template = {
+        "log": {
+            "level": "info"
+        },
+        "inbounds": [
+            {
+                "type": "mixed",
+                "listen": "::",
+                "listen_port": port_start
+            }
+        ],
+        "outbounds": [
+            {
+                "type": proxy['type'],
+                "tag": f'proxy_{config_name_serial_start}',
+                "server": proxy['server'],
+                "server_port": proxy['port'],
+                f'{password}': proxy.setdefault('uuid', proxy.setdefault('password', '')),
+                "tls": {
+                    "enabled": False
+                }
+            }
+        ],
+        "route": {
+            "rules": [
+                {
+                    "type": "default",
+                    "outbound": f'proxy_{config_name_serial_start}'
+                }
+            ]
+        }
+    }
+
+    config_name = f"config{str(config_name_serial_start)}.json"
+
+    save_path = os.path.join(new_folder_path, config_name)
+
+    with open(save_path, 'w', encoding='utf-8') as file:
+        json.dump(config_template, file, ensure_ascii=False, indent=4)
+
+    config_name_serial_start += 1
+    port_start += 1
+
+print("OK")

+ 12 - 0
manual/singbox-multi/start.sh

@@ -0,0 +1,12 @@
+#!/bin/bash
+cd /app/config
+
+configs=$(ls config*.json)
+
+for config in $configs; do
+  port=$(grep -oP '"port":\s*\K\d+' "$config")
+
+  sing-box run -c "$config" &
+done
+
+wait