mirror of
https://gitee.com/xmz7891/ykxmz.git
synced 2026-10-18 18:20:43 +00:00
被控端 - 修复 MTU 问题:夹 MSS + 路径 MTU 探测(公网可用率 48% -> 100%) - 复用 HTTP 连接(免掉每次新建 TLS 的 30% 握手失败) - 每分钟回头找局域网,自动切回快 400 倍的路径 - 画面心跳帧:静止时省流量,客户端仍知道流是活的 - 锁屏时给出可操作的提示 手表端 - 内置 GTS Root R4 / GlobalSign Root CA,修 SSLHandshakeException - 连接错误翻译成人话(证书/时间/解析/超时分别提示) - 经中转连上后用服务器报的地址刷新已配对记录 - 新增局域网连接页面、服务器延迟检测 服务器端 - 支持 chunked 请求体(修每 16 秒一次的连接错乱与大面积 502) - 网络调优脚本 net-tune.sh(开机自动应用) - 管理页:批量删除、网络体检、下载区 - 隧道改 HTTP/2 + 双连接 文档 - 许可协议 / 安装前必读 / 安装后须知(作者:小麦子)
119 lines
4.4 KiB
Python
119 lines
4.4 KiB
Python
# -*- coding: utf-8 -*-
|
|
"""更新交付说明(先看这个.txt / 使用说明.txt)为新的单窗口流程。"""
|
|
from __future__ import annotations
|
|
|
|
import re
|
|
import sys
|
|
from pathlib import Path
|
|
|
|
PKG = Path(r"C:\Users\shu\Desktop\deepseekagent\LanRemote\_build\package.py")
|
|
|
|
NEW_QUICKSTART = '''QUICKSTART = f"""========================================================
|
|
局域网遥控 · 被控端(Windows) 版本 {VERSION}
|
|
========================================================
|
|
|
|
【装完之后怎么用】
|
|
|
|
1) 双击 LanRemote-Agent.exe
|
|
|
|
2) 弹出一个小窗口,让你输入 6 位数字(配对码)
|
|
自己定一个记得住的,比如 789113
|
|
下面有两个勾:
|
|
[x] 设置开机自启(开机后自动在后台运行)
|
|
[x] 顺便放行防火墙(需要管理员确认一次)
|
|
|
|
3) 点「确定,开始使用」
|
|
→ 会弹一次 Windows 的管理员确认(UAC),点「是」
|
|
→ 黑色终端窗口一闪,它在一键修复防火墙
|
|
→ 窗口全部消失,程序转入后台静默运行
|
|
|
|
4) 手表上打开 App → 点「自动搜索电脑」→ 点搜到的电脑 → 输入你设的 6 位数字
|
|
|
|
5) 以后开机就直接在后台跑,屏幕上什么都没有;
|
|
手表打开 App 会自动连上,数字都不用再输。
|
|
|
|
|
|
【这就是全部的界面】
|
|
|
|
整个程序只有一个窗口 —— 就是上面第 2 步那个,
|
|
而且只在**第一次**运行时出现一次。
|
|
|
|
想改配对码:命令行运行 LanRemote-Agent.exe --setup
|
|
|
|
|
|
【连不上?】
|
|
|
|
1) 确认被控端在跑
|
|
任务管理器里能看到 LanRemote-Agent.exe / pythonw.exe
|
|
没有的话运行:LanRemote-Agent.exe --setup 重新设一次
|
|
|
|
2) 放行防火墙(就是第 3 步那个黑窗口做的事)
|
|
没成功的话,右键「一键修复防火墙.bat」→ 以管理员身份运行
|
|
|
|
3) 还不行 → 运行「网络自检.bat」
|
|
跑起来之后在手表上点「测一下」
|
|
电脑上出现「收到 TCP 连接」 -> 网络是通的,问题在本机
|
|
一直没出现 -> 包没到电脑,多半是路由器开了「AP 隔离」
|
|
|
|
4) 手表上:主界面 ->「设备诊断」
|
|
真实跑一次自动发现和 TCP 连通测试,结果自动复制到剪贴板
|
|
|
|
|
|
【命令行参数】(一般用不到)
|
|
|
|
LanRemote-Agent.exe --setup 重新打开设置窗口
|
|
LanRemote-Agent.exe --silent 直接静默运行
|
|
LanRemote-Agent.exe --add-device 10 静默运行 + 开放 10 分钟配对
|
|
LanRemote-Agent.exe --autostart on|off 开关开机自启
|
|
LanRemote-Agent.exe --status 看当前状态
|
|
LanRemote-Agent.exe --port 9000 换端口
|
|
LanRemote-Agent.exe --new-code 换一个随机配对码
|
|
LanRemote-Agent.exe --reset-devices 清空已配对设备
|
|
|
|
|
|
【关于安全】
|
|
|
|
配对码是你自己设的,只存在这台电脑的 data\\\\settings.json 里,
|
|
不会出现在任何分发的文件里。
|
|
|
|
配错 10 次会锁 5 分钟,防止被人慢慢试。
|
|
|
|
屏幕共享时右下角会出现一条红色小提示 ——
|
|
这是故意的:有人在看你的屏幕时,屏幕前面的人应该知道。
|
|
"""'''
|
|
|
|
|
|
def main() -> int:
|
|
text = PKG.read_text(encoding="utf-8")
|
|
# 行定位:从 QUICKSTART 那一行到下一个独占一行的 三引号
|
|
lines = text.splitlines(keepends=True)
|
|
start = None
|
|
end = None
|
|
for i, line in enumerate(lines):
|
|
if start is None and line.startswith("QUICKSTART"):
|
|
start = i
|
|
continue
|
|
if start is not None and line.rstrip() == chr(34) * 3:
|
|
end = i
|
|
break
|
|
if start is None or end is None:
|
|
print(f" [失败] 没找到 QUICKSTART 区间 (start={start}, end={end})")
|
|
return 1
|
|
old_len = sum(len(l) for l in lines[start:end + 1])
|
|
text = "".join(lines[:start]) + NEW_QUICKSTART + chr(10) + "".join(lines[end + 1:])
|
|
PKG.write_text(text, encoding="utf-8")
|
|
print(f" package.py: QUICKSTART 已更新({old_len} -> {len(NEW_QUICKSTART)} 字符)")
|
|
|
|
import ast
|
|
try:
|
|
ast.parse(PKG.read_text(encoding="utf-8"))
|
|
print(" package.py: 语法 OK")
|
|
except SyntaxError as exc:
|
|
print(f" package.py: 语法错误 {exc}")
|
|
return 1
|
|
return 0
|
|
|
|
|
|
if __name__ == "__main__":
|
|
sys.exit(main())
|