微信 iLink 协议 · 开源

Zyn iLink ChatBox · WongMod

微信官方 iLink 协议 · 开源消息管理平台 · Rust 重构版

单二进制部署,内置 SQLite 零配置。多用户 Web 实时聊天、WebDAV 云存储、审计日志,经完整安全审计(0 高危)。

Apache-2.0
开源协议
0
已知高危漏洞
1
行命令安装
ZynSync 原作者头像
ZynSync
原作者
Mr.Wong 修改者头像
Mr.Wong
Rust 重构

两条链路,构成整个系统

iLink 协议连接微信,REST + WebSocket 连接前后端。无需额外中间件,全部在一个二进制里完成。

系统与微信通信

微信账号
扫码登录
ilink-wm1
iLink 协议
消息收发

通过微信 iLink 协议接管会话,扫码登录后即可实时收发文字、图片、视频与文件消息。

前端与后端通信

Web 聊天
REST API
Rust 后端
WebSocket
实时推送

浏览器通过 REST API 管理会话与配置,经 WebSocket 接收实时消息与状态变更,界面与后台始终同步。

一站式管理微信会话

从扫码连接到实时聊天,WongMod 提供完整的 Web 聊天界面、WebDAV 云存储、多会话管理和消息历史导出。

Web 实时聊天

浏览器直接收发消息,支持文字、图片、视频、文件

WebDAV 云存储

媒体文件存到 WebDAV,节省本机磁盘空间

多用户与多会话

三级角色账号体系,每人独立管理自己的微信会话

消息历史与导出

完整消息记录,支持导出聊天记录为 HTML

对比原版:一次认真的 Rust 重构

原版 Zyn iLink ChatBox(Python 单文件,最新 v3.2.4)是轻量的多账号客户端;WongMod 把它重构成了可部署的多用户平台。下面从「定位总览、继承强化、新增、移除、行为差异」五个维度完整对比——包括我们刻意没有移植的东西。

定位总览

维度原版 · Python v3.2.4WongMod · Rust v3.2.5
运行形态Python 3.7+,启动时自动 pip 安装依赖(qrcode / pycryptodomex,含国内镜像探测)单二进制 + web/ 目录,零运行时依赖
用户体系可选全局 Web 密码(单用户模式),或平级多账号(每账号一个微信 bot,无角色、无配额)owner / admin / user 三级角色、邀请码注册、配额与功能开关、每用户独立 bot
存储JSON 文件(config / messages / media_cache 散落目录)SQLite 分库(system.db + 每用户 user.db)、自动迁移、配额、LRU 媒体清理
密码与凭证PBKDF2 100k 迭代(账号模式)PBKDF2 600k 迭代 · AES-256-GCM 凭证加密 · Windows DPAPI 主密钥包装
消息能力文本/图片/视频/文件/语音(收)收发,轮询界面同等收发 + 语音发送 + SQLite 持久化 + 发送状态机 + HTML 导出
审计与合规全量管理操作审计日志(默认 90 天)· S10 破坏性命令二次确认
服务化运维手动运行 / 启动器热更新systemd / NSSM 服务 · iLinkWM 统一命令行 · 一键安装器(SHA-256 校验)
内网穿透Serveo SSH 隧道(serveo.net,管理端可开关)内置 Serveo 隧道(加固:断线重连、子域校验、二次确认)
安全审计静态全量审计:0 高危 / 11 中危(9 已修复、2 风险接受),漏洞披露见 SECURITY.md
开源协议Apache-2.0Apache-2.0(合规标注原仓库与原作者)

① 继承并强化 · 原版有,WongMod 有且更完善

维度原版 · Python v3.2.4WongMod · Rust v3.2.5
微信绑定扫码登录、添加联系人二维码(120 秒有效)扫码登录 + 会话过期检测与一键重新扫码(reauth)+ 一个账号可绑定多个微信 bot
消息类型文字 / 图片 / 视频 / 文件 / 语音(收)五种类型全部支持收发——语音发送在原版中函数未接线、界面无入口,WongMod 已完整接通
打字指示输入中状态(sendtyping)输入中状态 + 收消息自动回执去抖(25 秒)
媒体链路CDN 加密上传/下载、SILK/AMR→WAV 转码、缓存与预取同链路 + 客户端直传(预签名 URL)、MD5 去重、7 天 TTL、5GB LRU 清理
消息历史内存上限 500 条/用户、总计 2000 条SQLite 全量持久化、游标分页、按联系人清空/删除、HTML 导出
多微信账号单进程多账号(accounts 注册表),共享一套 Web 界面每 Web 用户独立 bot 实例互不干扰,可绑定多个微信账号
公告通知管理员公告以【系统公告】文本消息群发到联系人全局通知 + 分级广播(info / warn / error),WebSocket 推送并持久化
IP 封禁banned_ips.json 列表,请求级 403IP/CIDR 封禁(可带过期时间)、30 秒缓存、fail-closed
内网穿透Serveo SSH 隧道(serveo.net)同 Serveo,加固:指数退避自动重连、子域校验、公网来源自动加入放行名单
平台支持Windows / Linux / macOS / Termux(含国内 pip 镜像)同四平台 + 官方预编译包(Win x64 / Linux x64·arm64 / macOS arm64)

② 新增 · 原版没有,WongMod 新增

维度原版 · Python v3.2.4WongMod · Rust v3.2.5
多用户角色体系owner / admin / user 三级,邀请码注册(可过期)、禁用/启用、用户名保留名单、条款同意
配额与功能开关5 维配额(上传/下载/媒体存储/每日消息数/媒体数量)+ 3 项功能开关,逐用户配置
WebDAV 媒体外置媒体一键迁移到用户自有 WebDAV(省磁盘)、流量节省模式、迁移进度与 ETA
Webhook 出站扩展收消息实时转发到自定义地址(HMAC-SHA256 签名、SSRF 防护)——预留的 AI / 机器人扩展点
WebSocket 实时推送替代 500ms 轮询:消息、状态、发送回执、二维码状态全事件实时推送
发送可靠性发送状态机 + 5 次指数退避重试、重启后自动恢复未完成发送、失败手动补发
会话与设备管理登录防固定、改密/禁用即时全局吊销、remember-me 设备令牌列表与撤销
审计日志管理操作全量记录,默认保留 90 天
安全加固密码策略 + 弱密码黑名单、全端点限流、CSRF/Origin 校验、SSRF DNS 固定、安全响应头、公网绑定启动守卫、凭证加密落库
运维体系7 步初始化向导、CLI 管理全套、systemd / NSSM 服务、一键安装 + SHA-256 校验 + 版本固定、自更新

③ 移除 / 未移植 · 原版有,WongMod 刻意不提供

维度原版 · Python v3.2.4WongMod · Rust v3.2.5
AI 能力全家桶自动回复(gpt-3.5-turbo)、每用户提示词与媒体记忆、识图(gpt-4o)、生图(dall-e-3)、文件识别(PDF/DOCX/XLSX/PPTX)、定时主动消息、工具调用当前版本不内置 AI;计划以 Webhook + 外部机器人配置在后续版本提供(迁移前请确认功能覆盖)
邮箱验证与找回邮箱注册、绑定邮箱、验证码 + 邮件找回密码(仅适配 QQ 邮箱,直连 QQ MX)邮箱仅作联系方式字段;密码重置由管理员 CLI 完成
全局 Web 密码模式单密码保护整个 Web 界面(含 CAPTCHA 与找回流程)由账号体系取代;老库 web_password 自动迁移为 owner 账号
二维码门户独立端口(1146)分享密码,访客扫码加微信每个用户自行登录扫码绑定,不再需要公开门户
远程内容源(Gitee)拉取远程公告 Gg.txt、教程 jc.txt、版本提示 version.txt不拉取任何远程内容;公告由管理员本地发布,版本管理交给安装器
控制台直接收发REPL 可直接给联系人发消息、/switch 切换联系人控制台仅保留管理命令;消息收发全部收敛到 Web 界面
SESSION-REUSE 免密续期无密码自动续期会话移除,统一走会话 + 设备令牌(防会话固定)

④ 行为差异 · 同样的能力,实现方式不同

维度原版 · Python v3.2.4WongMod · Rust v3.2.5
推送通道500ms 轮询 + SSEWebSocket 全事件推送(含发送回执)
存储格式JSON 文件(无数据库)SQLite 分库;启动时自动迁移老库(wechat_bot.db → owner 用户)
密码哈希PBKDF2 100k 迭代PBKDF2 600k 迭代,登录时自动升级旧哈希
默认监听0.0.0.0:1145(端口占用自动递增)127.0.0.1:8888(公网绑定需显式配置并过安全守卫)
客户端 IP 可信度无条件信任 X-Forwarded-For(可伪造)仅信任 ILINK_TRUSTED_PROXIES 配置的代理
媒体上传base64 塞进 JSON(10MB 上限)multipart 直传(50MB)+ 魔数校验 MIME
免密登录浏览器 canvas 指纹设备令牌(remember-me,可单独撤销)
公告渠道【系统公告】微信文本群发给所有联系人Web 通知 + 广播(不打扰微信联系人)
更新方式启动器热更新iLinkWM update:固定版本 + SHA-256 校验 + 保留数据
管理形态控制台 3 个数字命令CLI admin 全套子命令 + Web 管理面板(破坏性命令二次身份确认)

原版参考文件保留在仓库 reference/Zyn-iLink-ChatBox-v3.2.4.py(Apache-2.0 合规对照)。更细的迁移与升级说明见仓库 README 与 CHANGELOG。

安全可靠

凭证加密

AES-256-GCM 落库,Windows 主密钥经 DPAPI 机器作用域包装

本地存储

所有数据保存在本地 SQLite,不上传任何第三方

多重防护

SSRF 校验、登录限流、指纹快速登录、审计日志、CLI 二次确认

一行命令,装好 iLinkWM

安装后使用 iLinkWM 命令:直接运行即启动程序;install-service 注册系统服务;update 自更新;uninstall 卸载。

Windows  PowerShell 一键安装
irm https://raw.githubusercontent.com/Wong0728/Zyn_iLink_ChatBox_WongMod/main/deploy/windows/install.ps1 | iex

正式版 v3.2.5:Release API 最多重试 3 次;固定版本 API 仍不可用时按资产名走备用直链,下载同名 SHA-256 后执行 --version 验证。无可用包时才回退源码编译。

Linux · macOS · Termux  一键安装
curl -fsSL https://raw.githubusercontent.com/Wong0728/Zyn_iLink_ChatBox_WongMod/main/deploy/linux/install.sh | bash

正式版 v3.2.5:用户态安装到 ~/.local/share/iLinkWM,命令入口 ~/.local/bin/iLinkWM;固定版本 API 失败时使用可预测 Release 直链并校验、运行验证。root 执行 install-service 可注册 systemd 系统服务。

Windows · Linux · macOS  最新版便携包 打开 Releases
Windows ZIP: ilink_wm_v3.2.5_win_x64.zip Windows x64: %LOCALAPPDATA%\iLinkWM-portable\v3.2.5 Linux/macOS: ~/opt/iLinkWM/v3.2.5 目录要求: ilink-wm1(.exe) 与 web/ 必须同级

同时下载同名 .zip.sha256 放在 Windows 的 Downloads 中;安装器只扫描符合 ilink_wm_v<版本>_win_x64.zip 的文件,多版本取最新,并用 GitHub 远端 sidecar 对照。哈希异常会 warning 并询问是否继续。

iLinkWM 常用命令
iLinkWM # 启动程序(首次进入初始化向导) iLinkWM install-service # 注册系统服务(Win: NSSM / Linux: systemd) iLinkWM update # 更新到当前正式版本(保留数据) iLinkWM uninstall [--keep-data] # 一条命令卸载(默认连数据一起删) iLinkWM admin ... # 管理子命令原样传给 ilink-wm1 ilink-wm1 --version # 二进制直通命令(同在 PATH)

安装后 ilink-wm1iLinkWM 一同进入 PATH;预编译包见 GitHub Releases(Windows x64 / Linux x64·arm64 / macOS arm64 + 源码包,附 SHA-256 校验)。

参考项目与致谢

WongMod 站在巨人的肩膀上。以下项目是本项目的参考来源:

zynsync/Zyn-iLink-ChatBox

原项目(Python):基于微信官方 iLink 接口的轻量客户端,本项目由其移植重构

openilink

开源 iLink 协议生态:协议文档与实现思路参考

把你的微信会话,放进自己的服务器

克隆仓库、阅读完整文档,或直接一行命令开始。

进入仓库 我的主页