# -*- coding: utf-8 -*- """把「多中转地址」写进被控端说明。 用户的实际场景:电脑和随身 WiFi 往往在同一个局域网。 那就没必要绕隧道 —— 直连局域网中转快得多、地址还不会变。 """ from __future__ import annotations import sys from pathlib import Path PKG = Path(r"C:\Users\shu\Desktop\deepseekagent\LanRemote\_build" r"\package_remote.py") OLD = '''【跨网络:告诉它中转地址】 这一版支持不在同一网络也能控制,但需要先架好服务器端。 在命令行里执行一次: LanRemote-Agent.exe --relay https://relay.你的域名 它会当场测一遍能不能连上,连得上就记住了。 看看当前状态: LanRemote-Agent.exe --relay-status 关掉中转(只走局域网): LanRemote-Agent.exe --relay ""''' NEW = '''【跨网络:告诉它中转地址】 支持**多个地址**,用分号隔开,按顺序尝试,第一个通的就用它。 推荐这样配(局域网优先,断了自动切隧道): LanRemote-Agent.exe --relay "192.168.2.156:8080;relay.xxmxxs.top" 为什么局域网优先? * 快:局域网几十毫秒,绕隧道要 600 毫秒左右 * 稳:不依赖隧道,隧道抽风也不影响 * 地址永远不变:不用管隧道地址变来变去 只走隧道也行: LanRemote-Agent.exe --relay https://relay.xxmxxs.top 地址**不用写 http:// 或 https://**,程序会自己判断: 192.168.x.x / 10.x.x.x / *.local -> 按 http 连(局域网是明文) 域名 -> 按 https 连 看看当前状态(会显示用了哪个地址、有几个候选): LanRemote-Agent.exe --relay-status 关掉中转(只走局域网直连): LanRemote-Agent.exe --relay ""''' DOC_OLD = '''【忘了中转地址?】 如果随身 WiFi 在你身边(同一个网络),浏览器打开: http://<随身WiFi的IP>:8080/url 它会告诉你当前的公网地址。''' DOC_NEW = '''【忘了中转地址?】 如果随身 WiFi 在你身边(同一个网络),浏览器打开: http://<随身WiFi的IP>:8080/url 它会告诉你当前的公网地址(纯文本,不用登录)。 小技巧:把局域网地址也填进 --relay,电脑在家里就走局域网, 完全不用管隧道地址变没变: LanRemote-Agent.exe --relay "192.168.2.156:8080;relay.xxmxxs.top"''' def main() -> int: text = PKG.read_text(encoding="utf-8") ok = True for old, new, tag in ((OLD, NEW, "跨网络一节"), (DOC_OLD, DOC_NEW, "忘了地址一节")): if old in text: text = text.replace(old, new, 1) print(f" {tag}: 已更新") else: print(f" [跳过] {tag} —— 锚点没找到") ok = False PKG.write_text(text, encoding="utf-8", newline="\n") import ast try: ast.parse(text) print(" 语法 OK") except SyntaxError as exc: print(f" 语法错误: {exc}") ok = False return 0 if ok else 1 if __name__ == "__main__": sys.exit(main())