﻿========================================================
                ykxmz 使用条款与免责声明
========================================================

软件名称：ykxmz（远程管理工具）
版本：2.1.4
作者：小麦子
生效日期：2026 年 10 月 5 日

> **这份文件管的是「使用行为」，代码授权看仓库根目录的 `LICENSE`。**
>
> 根目录 `LICENSE` 是 GNU AGPL-3.0：你可以查看、修改、
> 再发布本软件的**代码**，衍生作品必须以同样协议开源。
>
> 这份文件说的是另一件事：**不管你从哪拿到它、改没改过，
> 都不许拿去做下面第三条那些事。**
>
> （早先这版文件写的是"软件许可协议"，里面有一条"不得修改"——
>   那和 AGPL 冲突，所以 2.1.4 起拆开了：代码授权归 LICENSE，
>   使用约束归这份文件。）


--------------------------------------------------------
第一条  条款的范围
--------------------------------------------------------

本条款是你（以下称"使用者"）与作者小麦子之间就 ykxmz 软件
（含被控端程序、中转服务器程序、手表端应用及相关文档，
以下统称"本软件"）达成的**使用约定**。

下载、安装、复制或以任何方式使用本软件，即表示你已阅读、
理解并同意本条款全部内容。如不同意，请不要安装或使用。


--------------------------------------------------------
第二条  你可以做的
--------------------------------------------------------

本软件**免费**使用，作者不收取任何费用。你可以：

  1. 在**你自己拥有或已获得明确授权**的设备上安装和使用本软件；
  2. 在教室、机房、家庭等场景中，用于管理**你负责管理**的设备；
  3. 复制并分发本软件 —— 分发时请保留作者署名，不要去掉版权声明；
  4. 查看、修改其**源代码**并再发布，具体条件见根目录 `LICENSE`
     （AGPL-3.0：衍生作品要同样开源，且不能拿去闭源商用）。


--------------------------------------------------------
第三条  【重要】使用红线
--------------------------------------------------------

本软件是一套远程控制工具，被控端可以被远程操作屏幕、文件、
音量、电源等。正因为能力较强，以下行为**严格禁止**：

  1. **禁止**在未经设备所有者或管理者明确同意的情况下，
     在他人的电脑、手机、平板上安装被控端；

  2. **禁止**用于偷窥、跟踪、监视他人（包括配偶、家人、
     同事、同学、下属）的隐私；

  3. **禁止**用于窃取账号密码、聊天记录、照片、文件等
     任何个人信息；

  4. **禁止**将本软件伪装成系统组件、隐藏其存在、
     故意使设备使用者无法发现或无法卸载；

  5. **禁止**用于任何违反所在地法律法规的活动。

**一句话：只能管你自己的设备，或者别人明确同意你管的设备。**

违反上述任何一条，本条款立即终止，且由此产生的全部法律
责任由使用者自行承担，与作者无关。


--------------------------------------------------------
第四条  使用者应尽的通知义务
--------------------------------------------------------

如果你在被控端所在的设备上使用本软件，你有义务确保：

  1. 该设备的使用者知道这台设备可以被远程管理；
  2. 该设备的使用者知道如何查看、关闭或卸载本软件；
  3. 被控端保持"连接时可见提示"功能开启（默认开启）。


--------------------------------------------------------
第五条  隐私说明
--------------------------------------------------------

本软件的设计原则是**数据不经过作者的服务器**：

  1. 被控端与手表/控制端之间的所有数据（画面、文件、剪贴板、
     语音等）通过你自己部署的中转服务器或局域网直连传输，
     作者**不会**收到、存储或分析任何内容；

  2. 中转服务器只转发加密连接中的字节流，不解析内容；
     它记录的信息仅限于：设备名称、配对码、在线状态、
     流量大小、连接时间——用于你在管理页上查看自己的设备；

  3. 中转服务器部署在**你自己的设备**上，数据存在你自己的
     硬盘里，作者无法访问；

  4. 本软件不包含任何统计上报、行为采集、广告推送代码。

关于本软件需要使用的权限（网络访问、屏幕读取、文件读写等），
详见《安装前必读》。


--------------------------------------------------------
第六条  无担保声明
--------------------------------------------------------

本软件按"现状"提供，作者不对以下事项作出任何明示或默示的
担保，包括但不限于：

  1. 软件无错误、不中断、能满足你的特定用途；
  2. 与你的操作系统、杀毒软件、网络环境完全兼容；
  3. 因网络运营商限制、Cloudflare 服务调整、系统更新等
     外部原因导致的服务不可用。

**使用本软件的风险由你自行承担。**


--------------------------------------------------------
第七条  责任限制
--------------------------------------------------------

在适用法律允许的最大范围内，作者不对因使用或无法使用本软件
而产生的任何直接、间接、偶然、特殊或后果性损失负责，包括
但不限于数据丢失、业务中断、设备损坏、利润损失。

若适用法律不允许完全排除责任，作者承担的责任总额不超过
你为获得本软件所支付的费用（本软件免费，故为零）。


--------------------------------------------------------
第八条  条款终止
--------------------------------------------------------

出现下列情形之一，本条款自动终止：

  1. 你违反本条款任何内容；
  2. 你将本软件用于第三条约定的禁止用途。

条款终止后，你应当立即停止使用并卸载本软件。第二条中关于
分发的许可同时失效（代码授权是否终止以根目录 `LICENSE` 为准）。


--------------------------------------------------------
第九条  其他
--------------------------------------------------------

  1. 本条款适用中华人民共和国法律；
  2. 因本条款产生的争议，双方应友好协商解决；协商不成的，
     提交作者所在地有管辖权的人民法院；
  3. 作者保留在后续版本中调整本条款的权利，调整后的条款
     随新版本一同发布；继续使用新版本即视为接受新条款；
  4. 本条款部分内容无效，不影响其余内容的效力。


--------------------------------------------------------
  作者：小麦子
  软件：ykxmz 2.1.4

  如果你不同意本条款的任何一条，请不要安装或使用本软件。
  代码授权条款见仓库根目录 LICENSE（GNU AGPL-3.0）。
--------------------------------------------------------

======================================================================

========================================================
              ykxmz 安装前必读（前信息文件）
========================================================

软件名称：ykxmz
版本：2.1.4
作者：小麦子

请你**在安装之前**花三分钟读完这一页。里面有几条很要紧的
提醒，尤其是第三节和第五节。


--------------------------------------------------------
一、这是什么
--------------------------------------------------------

ykxmz 是一套自己搭建的远程管理工具，由三部分组成：

  1-agent（被控端）  装在你**要管理**的电脑上（Windows）
  2-server（服务器端）装在一台能上外网的 Linux 小机器上
                      （随身 WiFi、树莓派、VPS 都行）
  3-watch（控制端）   装在你的安卓手表上

装好之后，你在手表上就能看到并操作那台电脑：屏幕、文件、
音量、电源、剪贴板……共两百多个功能。

**关键点：所有数据都走你自己搭的那台服务器，
作者碰不到你的任何内容。** 详见《许可协议》第五条。

**再强调一次：软件里不带任何中转地址，作者也不对外提供中转服务。**
只在同一个 WiFi 下用的话，压根不需要中转站，装完就能连；
要跨网络就必须自己部署一台（看下面第四节的第 1 步）。


--------------------------------------------------------
二、装机前对照检查
--------------------------------------------------------

请先确认：

  [ ] 这台电脑是**你自己的**，或者设备主人明确同意你远程管理
  [ ] 电脑是 Windows 10 / 11（64 位）
  [ ] 手表是安卓 7.0（API 24）或更高版本
  [ ] 服务器端那台机器是 Linux（Debian 12 实测通过），
      能上外网，内存 512MB 够用
  [ ] 你有一个 Cloudflare 账号和一个域名（跨网络才需要）

**不需要**装 Python、不需要 root、不需要 ADB。


--------------------------------------------------------
三、【重要】三条必须知道的事
--------------------------------------------------------

① 被控端默认是"静默"运行的

   装完之后**没有窗口、没有托盘图标、没有终端**，
   任务管理器里能看到一个叫 ykxmz.exe 的进程，
   开机自启项里也显示 ykxmz。

   这么做是为了不打扰用电脑的人，**不是**为了藏起来。
   如果你要在这台电脑上装给别人用，你有义务告诉对方：

       怎么查看（任务管理器 -> 详细信息 -> ykxmz.exe）
       怎么关闭（任务管理器 -> 结束任务）
       怎么卸载（ykxmz.exe --uninstall）

② 配对码是唯一的口令，请设一个别人猜不到的

   配对码是 6 位数字，**它就是你电脑的钥匙**。
   不要用 123456、000000、生日、手机号后六位这类。

   一个配对码同时只能绑定一台电脑。如果别人先用了你想要的码，
   后装的这台会被拒绝，并在屏幕上弹出提示：
       「该配对码已被使用，请换一个配对码」
   换个没人用的码就行。

③ 连接时屏幕上有提示

   只要手表或控制端连上来，被控端会在屏幕右下角弹一个提示。
   这是**故意保留**的功能，请不要关掉它——
   它保证了设备使用者知道"现在有人在看这台电脑"。


--------------------------------------------------------
四、安装顺序
--------------------------------------------------------

按这个顺序来，别跳：

  第 1 步  架服务器端（只做一次，**跨网络才需要**）
           如果只在同一个 WiFi 下用（手表和电脑连同一个路由器），
           这一步可以跳过。
           要跨网络的话，把 2-server 整个目录拷到那台 Linux 小机器上：
               bash deploy.sh
           它会把中转服务、网络调优、Cloudflare 隧道一次装好，
           最后打印一个**属于你自己的公网地址**。记住它。

  第 2 步  装被控端（每台要管理的电脑做一次）
           双击安装包 -> 输 6 位配对码 -> 勾上开机自启和
           放行防火墙 -> 确定。会弹一次管理员确认。

  第 3 步  装控制端
           把 3-watch 里的 APK 装到手表上。

  第 4 步  跨网络的话，把中转地址填上
           **注意：软件里没有内置任何中转地址。**
           同一个 WiFi 下用不用填；跨网络的话必须填你自己第 1 步
           装出来的那个地址：
               电脑：  ykxmz.exe --relay https://你的域名
               手表：  首页点「中转设置」，填同一个地址


--------------------------------------------------------
五、会改你系统的哪些东西
--------------------------------------------------------

安装和使用过程中，被控端会做这些改动，**请你知情**：

  1. 写一条开机自启项
     位置：HKEY_CURRENT_USER\...\CurrentVersion\Run
     名称：ykxmz
     内容："...\ykxmz.exe" --silent

  2. 添加 Windows 防火墙放行规则
     规则名：LAN Remote TCP / LAN Remote UDP / LAN Remote App TCP
     / LAN Remote App UDP
     作用：允许 8765（TCP）和 8766（UDP）端口通信

  3. 在程序目录下建一个 data 子目录
     里面存：配对码、已配对设备、设置
     卸载时会一并删除

  4. 说明：部分功能（关机、改注册表、隐藏任务栏等）
     需要管理员权限，会弹 UAC 确认，**不会**偷偷提权。

**以上全部可撤销**：卸载时自启项和防火墙规则会一起清掉。


--------------------------------------------------------
六、杀毒软件可能报警
--------------------------------------------------------

本软件没有购买代码签名证书（那是要花钱的），
加上它确实具备"远程控制 + 开机自启"这类能力，
所以**部分杀毒软件可能会报可疑**。

这是误报。你可以：
  1. 在杀毒软件里把 ykxmz 整个目录加入信任/排除项；
  2. 或者先看完《许可协议》，确认用途正当后再决定是否放行。

**作者不会、也没有办法让本软件绕过杀毒软件。**
如果你需要"绝对不被杀软发现"，那本软件不适合你。


--------------------------------------------------------
七、接下来看什么
--------------------------------------------------------

装完之后请看《安装后须知》（AFTER-INSTALL.txt），
里面有：怎么确认它在正常运行、怎么换配对码、
怎么彻底卸载、连不上怎么排查。


--------------------------------------------------------
  作者：小麦子
  软件：ykxmz 2.1.4
  继续安装，即表示你已阅读并同意《许可协议》。
--------------------------------------------------------

======================================================================

========================================================
              ykxmz 安装后须知（后信息文件）
========================================================

软件名称：ykxmz
版本：2.1.4
作者：小麦子

装好之后看这一页：怎么确认它在跑、怎么改设置、
怎么彻底卸载、出问题怎么查。


--------------------------------------------------------
一、确认它真的在运行
--------------------------------------------------------

被控端装好后**看不到任何窗口**，这是正常的。想确认它在跑：

  方法一（最直观）
      Ctrl+Shift+Esc 打开任务管理器
      -> "详细信息"标签 -> 找 ykxmz.exe
      有，就是在跑

  方法二（看端口）
      命令行执行：  netstat -ano | findstr 8765
      有 LISTENING，就是正常

  方法三（问程序自己）
      命令行执行：  ykxmz.exe --status
      会打印：配对码、端口、中转连接状态、已配对设备数

  方法四（从手表看）
      手表上点"自动连接"，能连上就说明在跑


--------------------------------------------------------
二、常用操作
--------------------------------------------------------

重新打开设置窗口
      ykxmz.exe --setup

换一个配对码
      在设置窗口里改，或者：
      ykxmz.exe --new-code          （随机生成一个）
      换完之后，手表那边要用新码重连

看看当前状态
      ykxmz.exe --status

临时允许新设备配对（默认关着）
      ykxmz.exe --add-device 10     （开放 10 分钟）
      过了时间自动关回去

关掉/打开开机自启
      ykxmz.exe --autostart off
      ykxmz.exe --autostart on

网络自检（连不上时先跑这个）
      双击 wlzj.bat
      或  ykxmz.exe --netcheck 90

修复防火墙（要管理员）
      右键 xffhq.bat -> 以管理员身份运行
      或  ykxmz.exe --fix-firewall


--------------------------------------------------------
三、彻底卸载
--------------------------------------------------------

一条命令清干净：

      ykxmz.exe --uninstall

它会依次：
  1. 停掉正在跑的进程
  2. 删掉开机自启项
  3. 删掉数据目录（配对码、已配对手表全没了）
  4. 安排删除程序目录本身（退出后几秒自动删）

**想保留数据**（比如以后还要用，只是换个位置装）：
      先手动把 data 目录复制出来，再卸载。

**手动卸载也可以**（如果程序已经删了）：
  1. 任务管理器结束 ykxmz.exe
  2. 删除注册表项
     HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run
     下的 ykxmz
  3. 删除整个程序目录
  4. （可选）删除防火墙规则：netsh advfirewall firewall
     delete rule name="LAN Remote TCP"


--------------------------------------------------------
四、连不上怎么查
--------------------------------------------------------

按顺序排查，绝大多数问题在前三步就解决了：

  第 1 步  被控端在跑吗？
           任务管理器里有没有 ykxmz.exe
           没有 -> ykxmz.exe --setup

  第 2 步  防火墙放行了吗？
           右键 xffhq.bat -> 以管理员身份运行

  第 3 步  网络通不通？
           双击 wlzj.bat 做自检
           它会生成一份《网络自检结果.txt》

  第 4 步  跨网络的话，中转通不通？
           浏览器打开  http://<随身WiFi的IP>:8080/url
           看它有没有返回公网地址

  第 5 步  手表上点"连不上？点这里诊断"

  常见现象对照：

    "连接失败，配对码错误"
        -> 手表上的码和电脑上的不一样，对一下

    "该配对码已被使用，请换一个配对码"
        -> 这个码被另一台电脑占了。换一个，
           或者去中转管理页把占用它的那台设备删掉

    "设备不在线"
        -> 电脑上的程序没跑，或者网络断了

    "连不上中转服务器"
        -> 随身 WiFi 那台机器上的中转没起来，
           或者隧道挂了。SSH 上去执行 lanremote-status 看看


--------------------------------------------------------
五、服务器端（随身 WiFi）日常维护
--------------------------------------------------------

  三个服务都是开机自启，正常情况下不用管：

      lanremote-relay           中转服务
      lanremote-tunnel          Cloudflare 隧道
      lanremote-watchdog.timer  每 30 秒检查一次隧道连接

  想一眼看清状态：
      lanremote-status

  常用命令：
      lanremote-url              打印当前公网地址
      lanremote-key              打印管理页钥匙
      systemctl restart lanremote-tunnel    手动换个地址
      journalctl -u lanremote-relay -f      看实时日志

  管理页：
      浏览器打开 <公网地址>，用管理密码登录（密码在你服务器上的 data/admin_password.txt 里，或你自己设的）
      能看：设备列表、在线状态、配对码、流量、会话数
      能做：删除设备（连配对码一起清）、踢会话、查看当前地址

  忘了公网地址？
      打开  http://<随身WiFi的IP>:8080/url  —— 直接返回当前地址，
      不用登录。


--------------------------------------------------------
六、已知限制
--------------------------------------------------------

  1. 一条隧道同时只服务一台手表
     新连上来的会顶掉旧的，旧的那台会提示"已被另一台手表接管"。

  2. 跨网络时的延迟
     经 Cloudflare 隧道走一圈，一来一回约 0.6 秒；
     局域网直连只有几十毫秒。**程序和手表会自动判断**：
     发现两边在同一个网络就切直连，断了自动切回中转。

  3. 网络环境的影响
     如果随身 WiFi 用的 4G 卡对 UDP 有限制，隧道可能偶尔抖。
     程序里有看门狗会自动重启隧道，通常 1 分钟内恢复。

  4. 杀毒软件误报
     见《安装前必读》第六节。作者不提供绕过杀软的功能。


--------------------------------------------------------
七、出问题时怎么反馈
--------------------------------------------------------

请带上这几样，作者才能定位：

  1. ykxmz.exe --status 的输出
  2. wlzj.bat 生成的《网络自检结果.txt》
  3. 手表上的诊断结果（手表首页"连不上？点这里诊断"）
  4. 问题什么时候开始的、之前做过什么


--------------------------------------------------------
八、版本记录
--------------------------------------------------------

  2.1.4
    * 下载改走 Cloudflare 边缘缓存 —— 安装包和 APK 快了几十倍
    * 跨网络更稳：隧道**两种协议同时跑**（QUIC + HTTP/2，
      合计 10 条连接），一种协议犯病另一种还在服务
    * 修网卡 MTU 和 QUIC 不匹配（QUIC 走 UDP，之前不受 MSS 钳制保护），
      隧道建连明显加快
    * 修偶发"已断开"误报：连续失败 3 次才判离线
    * **中转地址默认为空** —— 需要跨网络时自己填

  1.7.1
    * 跨网络支持：Cloudflare 具名隧道，固定域名
    * 中转服务器：单设备单配对码
    * 手表端：自动判断局域网/中转并无缝切换
    * 被控端：所有开关和画面功能支持回退/撤销
    * 配对码被占用时弹通知提示
    * 新增 --uninstall 一键卸载
    * 针对 512MB 内存的小机器做了优化


--------------------------------------------------------
  作者：小麦子
  软件：ykxmz 2.1.4
  许可条款见《许可协议》（LICENSE.txt）
--------------------------------------------------------
