v3.7.0.30.15

This commit is contained in:
Changhua 2023-03-01 20:13:18 +08:00
parent e029c54cf8
commit dd5f3d9bdf

104
README.MD
View File

@ -1,5 +1,23 @@
# WeChatFerry
传送信息往返微信的摆渡车。更多介绍见:[微信机器人 DIY 从 0 到 1](https://mp.weixin.qq.com/s/c4ntj-7NTmbpSfF8df6dIw)。
一个玩微信的工具。更多介绍见:[WeChatFerry: 一个玩微信的工具](https://mp.weixin.qq.com/s/CGLfSaNDy8MyuyPWGjGJ7w)。
目前实现的功能:
* 检查登录状态
* 获取登录账号的 wxid
* 获取消息类型
* 获取所有联系人
* 获取所有好友
* 获取数据库
* 获取某数据库下的表
* 发送文本消息(可 @
* 发送图片
* 发送文件
* 发送 XML
* 允许接收消息
* 停止接收消息
* 执行 SQL 查询
* 接受好友申请
* 添加群成员
![Demo](demo.gif)
@ -11,16 +29,13 @@
## 快速开始
下载[最新发布的版本](https://github.com/lich0821/WeChatFerry/releases/latest)。根据技术栈,选择客户端,目前支持:
* C/C++
* Java
* Node.js
* Python
### C/C++
直接运行 `cpp.exe`,会拉起微信(如果还没启动的话),登录之后,会依次执行各功能,具体见 [main.cpp](cpp/main.cpp)。
### Java
使用惯用IDE打开工程编译运行。需要注意使用32位的JDK具体见内部 [README.MD](java/README.MD)。
> [gRPC 分支](https://github.com/lich0821/WeChatFerry/tree/grpc) 支持更多客户端:
> * C/C++
> * Java
> * Node.js
> * Python
### Python
* 安装
@ -29,6 +44,7 @@ pip install wcferry
```
* 运行
参考 [README.MD](python/README.MD)。
## 一起开发
@ -47,68 +63,70 @@ git clone https://github.com/microsoft/vcpkg
#### 安装 gRPC 相关组件
```sh
vcpkg install grpc:x86-windows-static
vcpkg install protobuf[zlib]:x86-windows-static
vcpkg install spdlog:x86-windows-static
vcpkg install nng:x86-windows-static
vcpkg integrate install
```
#### 安装 VS2019
### 生成编解码文件和接口文件
```sh
cd WeChatFerry/proto/
protoc --cpp_out=. -I=. wcf.proto
protoc --grpc_out=. --plugin=protoc-gen-grpc="C:\Tools\vcpkg\packages\grpc_x64-windows\tools\grpc\grpc_cpp_plugin.exe" -I=. wcf.proto
```
执行 `tree .`,可见生成了四个文件:
```txt
.
├── wcf.grpc.pb.cc
├── wcf.grpc.pb.h
├── wcf.pb.cc
├── wcf.pb.h
└── wcf.proto
```
### 编译
使用 VS2019 打开工程,编译即可。
### 运行
双击 `Release` 里的 `cpp.exe`。如果出现中文乱码,则需要将编码改为 `UTF-8`。
双击 `Release` 里的 `launcher.exe``启动`。
## 项目结构
### cpp
C++ 示例应用,介绍如何使用 WeChatFerry。
### java
Java 客户端。
```sh
WeChatFerry
├── LICENSE # LICENSE
├── README.MD # 说明
├── TEQuant.jpeg # 二维码,测试用图
├── WeChatFerry.sln # VS2019 工程文件
├── demo.gif # 示例图
├── launcher # 图形版启动器
├── python # Python 客户端
├── rpc # RPC 模块
├── sdk # 注入及启动模块
├── spy # 核心功能实现模块
└── wcf # 命令行版启动器
```
### launcher
启动器,调用 `sdk` 将 `spy` 注入微信。其他客户端可通过 RPC 连接到 `spy` 进行消息传递。监听的地址为 `0.0.0.0:10086`。后续考虑把注入功能从各个客户端中去掉,以解除对 32 位版本的限制。
### nodejs
Node.js 客户端(群友贡献),内含一个简单游戏及股票查询逻辑。
### proto
RPC 消息及接口定义。
图形启动器,调用 `sdk` 将 `spy` 注入微信。其他客户端可通过 RPC 连接到 `spy` 进行消息传递。监听的地址为 `tcp://0.0.0.0:10086` 和 `tcp://0.0.0.0:10087`。
### python
Python 客户端。
### rpc
RPC 的通信部分和序列化 / 反序列化部分。
### sdk
负责将 `spy` 注入微信进程,并启动 gRPC 服务端。
负责将 `spy` 注入微信进程,并启动 RPC 服务。
### spy
间谍模块,注入到微信中,通过 RPC 做消息转发工作。
### wcf
跟 `launcher` 类似,命令行版启动器。
## 版本更新
### v3.7.0.30.12
### v3.7.0.30.152023.03.01
* 发送 xml
### v3.7.0.30.142023.02.28
* 添加群成员
### v3.7.0.30.132023.02.27
去除 gRPC 框架,自定义更轻量的 RPC 轮子 `nnprc`。
### v3.7.0.30.122023.01.20
* 更新 Python 客户端
* 修改监听地址为 `0.0.0.0:10086`
* 增加 `Launcher`,直接注入 `spy`
### v3.7.0.30.11
### v3.7.0.30.112022.10.19
更新 Python 客户端。
### v3.7.0.30-gRPC-22022.10.18