Skip to content

Repository files navigation

📬 read-receipt-tracker

轻量级消息已读追踪服务

像素埋点 · 管理后台 · 多端部署 · 可选 IP 定位


Build Status Downloads Stars Forks Python C++ Docker License


📦 立即下载   ·   📖 查看文档   ·   💖 爱发电赞助


📋 目录


📖 简介

一个极简的 消息已读回执追踪服务:注册消息后得到一个 URL,将该 URL 作为 1×1 透明像素嵌入消息,对方打开时自动记录已读。提供 Web 管理面板查看统计和每条消息的读取详情。

🎯 适用场景

  • 为微信模块 WeKit / WuYu / WAuxiliary / HChat 提供已读回执后端
  • 邮件营销已读率分析
  • 消息回执追踪
  • 网页埋点统计

✨ 核心特性

🔌 一行注册 👁 透明无感 📊 管理后台
POST /register 传入消息内容,返回追踪链接 1×1 透明 GIF,用户完全感知不到 Web 界面查看统计、消息列表、搜索、导出 CSV
🌍 IP 定位 ⚡ 请求限流 🔐 API 认证
自动获取读取者国家/省份/城市/运营商 IP 级频率限制,防止滥用 管理接口支持 API Key 保护
🔒 智能去重 📦 双语言后端 🐳 多端部署
同一消息 + 同一 IP 只计一次已读 Python (Flask) + C++ (原生 HTTP) Docker / Linux / Termux / Java 插件

🚀 快速开始

方式一:WeKit 修改版 APK(最简单,推荐)

  1. 下载 最新版 WeKit 修改版 APK(standard / legacy 两种入口)
  2. 在 LSPosed 中启用模块并作用于微信
  3. 重启微信,在 WeKit 设置中启用已读追踪
  4. 发送消息时自动生成追踪链接

📌 本仓库提供的是 WeKit 修改版,基于上游最新 dev 分支,已修复「已读追踪注册失败」和「Java 插件混淆规则」问题,开箱即用。

方式二:Java 插件版

  1. 下载 Java 服务端插件 + 客户端插件
  2. 在微信模块中加载服务端插件,启动隧道获取公网地址
  3. 加载客户端插件,配置服务器地址
  4. 发送 #消息内容 即可追踪已读

方式三:自建服务器

git clone https://github.com/gaigebeckmanChristinaJames/read-receipt-tracker.git
cd read-receipt-tracker
pip install flask
python run.py

访问 http://localhost:5000 打开管理面板。


📦 下载

🔄 CI 自动构建:每次推送主分支即发布最新版本

产物 说明 下载
📱 WeKit APK 微信 Xposed 模块(已修复 DEX 缓存更新问题,内置已读追踪) 下载
📱 已读服务器 APP 独立 Android 应用,无需 Root/Xposed,内置服务器+隧道 下载
🖥️ Java 服务端插件 内置 HTTP + cloudflared 隧道 + Web 控制台 下载
🔌 Java 客户端插件 #消息 发送追踪,/已读 查询人数 下载

📱 客户端方案

🟢 WeKit 无服务器版(修改版 APK,推荐)

📖 点击展开详情

基于 WeKit 的微信 Xposed 模块,已修复 DEX 缓存更新问题,内置已读追踪服务端,无需额外部署服务器,开箱即用。

📦 下载 WeKit 修改版 APK

项目 说明
上游仓库 https://github.com/Ujhhgtg/WeKit
特点 模块内直接启用已读追踪,消息注册、已读统计、访客信息一体化
环境要求 Android 9.0+ / Root + LSPosed(或 Zygisk)/ 微信 8.0.65 - 8.0.76
源码 wekit-module/

🔵 WeKit 有服务器版(原版)

📖 点击展开详情

使用原版 WeKit,配合本项目提供的自建服务器使用。适合已有服务器或想在 Termux/Java 插件中运行服务端的用户。

  • 特点:原版 WeKit 不变,服务端独立部署,可选择 Linux / Windows / Termux / Java 插件等多种方式
  • 下载WeKit 原版 Release

🟣 Java 插件版(支持 WeKit / WAuxiliary / WuYu / HChat)

📖 点击展开详情

轻量级 Java 插件,无需编译 APK,在支持 Java 脚本的微信模块中加载即可使用。包含服务端客户端两个配套插件:

插件 作用 下载
已读服务器(服务端) 内置 HTTP 服务 + cloudflared 公网隧道 + Web 控制台 read-tracker-java-server.zip
已读追踪(客户端) #消息 发送追踪卡片,/已读 查询人数,已读统计在浏览器控制台查看 read-tracker-java-client.zip

📦 下载 Java 插件包

💡 兼容模块:WeKit、WAuxiliary (WA)、WuYu、HChat 等

📝 使用流程:先装服务端并启动隧道 → 再装客户端并配置服务器地址

源码plugins/java-read-tracker/ · plugins/read-tracker-client/


🖥️ 服务器部署

🐧 Linux 服务器

📖 点击展开详情

Python 后端(推荐):

git clone https://github.com/gaigebeckmanChristinaJames/read-receipt-tracker.git
cd read-receipt-tracker
pip install flask
python run.py

C++ 后端(高性能):

apt install meson ninja-build libsqlite3-dev libssl-dev
cd cpp
meson setup builddir && meson compile -C builddir
./builddir/rrtracker-server 5000 receipts.db

一键部署(systemd 托管):

bash scripts/setup-linux.sh                # 后台托管
bash scripts/setup-linux.sh --foreground   # 前台运行
bash scripts/setup-linux.sh --tunnel       # 自动隧道保活

🪟 Windows

📖 点击展开详情
pip install flask
python run.py

打开 http://localhost:5000 即可访问管理面板。

📱 Termux / Android(手机本地部署)

📖 点击展开详情

标准版(含 IP 定位):

pkg update -y && pkg install curl -y
bash <(curl -fL "https://cdn.jsdelivr.net/gh/gaigebeckmanChristinaJames/read-receipt-tracker@main/scripts/ultimate-setup.sh")

Lite 版(无 IP 定位):

bash <(curl -fL "https://cdn.jsdelivr.net/gh/gaigebeckmanChristinaJames/read-receipt-tracker@main/scripts/ultimate-setup-lite.sh")

需要公网地址时另开会话:

pkg install cloudflared
cloudflared tunnel --protocol http2 --url http://127.0.0.1:5000

📱 APP 版(独立 Android 应用,推荐)

📖 点击展开详情

独立的 Android APP,无需 Root / Xposed,安装后直接运行已读追踪服务器,内置 cloudflared 公网隧道和 Web 控制台。零第三方依赖,纯 Android 框架 API。

📦 下载已读服务器 APP

项目 说明
特点 零依赖、后台服务、通知栏常驻、内置 cloudflared 隧道、Web 控制台
环境要求 Android 5.0+ (minSdk 21),无需 Root
源码 app-server/

☕ Java 插件版服务器

📖 点击展开详情

无需单独部署服务器,直接在微信模块中加载「已读服务器」Java 插件即可,内置 HTTP 服务和 cloudflared 公网隧道。

📦 下载 Java 服务端插件

  • 文件名read-tracker-java-server.zip
  • 支持模块:WeKit / WAuxiliary / WuYu / HChat

🐳 Docker

📖 点击展开详情
docker compose up -d
#
docker build -t read-receipt-tracker .
docker run -d -p 5000:5000 -v $(pwd)/data:/app/data read-receipt-tracker

💡 提示:所有部署形态均可用环境变量 ENABLE_GEO=0 关闭 IP 定位(Lite 模式)。


🌐 公网访问

部署场景 需要 Tunnel? 说明
VPS / 云服务器 自带公网 IP,直接访问
本地电脑 localhost:5000 即可
树莓派 / 内网服务器 需要 Tunnel
Termux (Android) 脚本默认自动配置

Linux 一键启用 Tunnel:

bash scripts/setup-linux.sh --tunnel
cat .tunnel_url.txt   # 查看公网地址

📡 API 文档

📝 注册消息
POST /register
Content-Type: application/json

{ "wxId": "user123", "content": "你好", "createTime": 1700000000000 }

响应:返回 pixel_url,嵌入消息即可追踪。

👁 已读追踪像素
GET /pixel?wxId=user123&id=xxx

返回 1×1 透明 GIF。

🔢 查询已读数
GET /count?wxId=user123&id=xxx
{ "count": 5, "msg_id": "xxx" }
📋 批量查询 / 健康检查
GET /batch-status?ids=id1,id2,id3
GET /health

📊 管理后台

页面 路由 说明
仪表盘 / 统计 + 消息列表 + 搜索 + CSV 导出
消息详情 /message/<id> 消息内容 + IP/地理位置/UA/时间

🗂 项目结构

read-receipt-tracker/
├── python/                    # Python 后端 (Flask)
├── cpp/                       # C++ 后端 (meson + ninja)
├── app-server/                # 独立 Android APP 版已读服务器
├── scripts/                   # 部署脚本 (Termux / Linux)
├── plugins/
│   ├── java-read-tracker/     # Java 服务端插件
│   └── read-tracker-client/   # Java 客户端插件
├── wekit-module/              # WeKit 模块源码 (CI 构建 APK)
├── docs/                      # 文档
├── .github/workflows/         # CI 自动构建 & 发布
├── ROADMAP.md                 # 开发路线图
└── run.py                     # Python 启动入口

🔧 配置

变量 默认值 说明
DATABASE_PATH receipts.db 数据库路径
API_KEY (空) 管理后台认证密钥
ENABLE_GEO 1 IP 定位开关
RATE_LIMIT_PER_MINUTE 60 请求频率限制
PORT 5000 监听端口

🛠 技术栈

层级 Python C++
框架 Flask 2.3+ 自建 HTTP 服务
数据库 SQLite (WAL) SQLite3 C API
包管理 uv meson + ninja
部署 Docker / systemd / Termux 原生二进制

❓ 常见问题

WeKit 启动后一直提示"115个功能需要更新"怎么办?

这是 WeKit 的 DEX 缓存问题。本项目提供的修改版 APK 已修复此问题,直接下载 最新版 安装即可。

Java 插件版怎么查看已读数量?

Java 客户端插件的已读统计需要在浏览器控制台中查看。发送 #消息 后,打开管理面板的浏览器控制台即可看到已读人数。

必须要有公网服务器吗?

不一定。有三种选择:

  1. WeKit 修改版 APK:内置服务端,完全不需要服务器
  2. Java 插件版:内置 cloudflared 隧道,自动获取公网地址
  3. 自建服务器:Linux/Windows/Termux/Docker 均可
IP 定位不准确怎么办?

IP 定位使用三级接口自动备份(ip-api.com → ipwho.is → ipinfo.io),如果都不准确可以用 ENABLE_GEO=0 关闭定位功能。


🤝 贡献

欢迎提交 Issue 和 Pull Request!


如果这个项目对你有帮助

请点个 ⭐ Star 支持一下!


💖 爱发电赞助    📦 下载最新版


📄 License

MIT © gaigebeckmanChristinaJames

About

轻量级消息已读追踪服务,Python + C++ 双实现,支持 Termux / Linux / Docker 多环境部署。CI 自动构建:WeKit 微信增强模块 APK(已修复DEX缓存更新问题)+ Java 插件版已读服务器,Releases 页直接下载。

Resources

Stars

79 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages