Update 2019-08-30: 换了一个更好用的 Docker Container。
排版非常糟糕,但是我实在懒得修改排版了,因为少数派的在线编辑器实在是太难用了,也不支持 Markdown。
Prerequisite:
- 一个能安装 Docker 环境的服务器
- Telegram 账号,用你的个人账号申请一个 bot
- 对 Linux 有基本的了解和使用经验
- 遇到问题善于使用搜索工具
在 VPS 上部署 EFB 收发微信消息的优缺点:
优点:
- 全平台同步聊天记录
- 摆脱微信电脑客户端
- 如果有多个微信账号,可以在一个 Telegram 账户中轻松切换(但是需要另一个手机/iPod touch 登录账号)
缺点:
- 容易掉线,我自己的使用经验是一天需要重启至少一次
- 基于网页版微信,所以功能仅限网页版微信提供的功能
- 有被封号的风险
如果无法忍受缺点,尤其是无法忍受容易掉线导致发送消息失败,请不要使用!
安装步骤:
1. 安装 Docker 环境:
这里以 Ubuntu 为例,如果是其他系统请参照 Docker 官方文档 Docker installation。
先更新
apt
:$ sudo apt-get update
然后安装:
$ sudo apt-get install docker-ce
如果想检查一下安装是否成功的话,运行一下官方提供的 hello world:
$ sudo docker run hello-world
2. 必要的 Telegram 信息
本质上 EFB 是一个在 Telegram bot 和微信网页版的中间人,所以,EFB 需要知道发给哪个 Telegram 账号,以及发给哪个微信账号。微信账号的认证在最后的扫码阶段,而 Telegram 的账号认证则写在 EFB 的配置文件里面。所以,现在使用 Telegram 获得所需要的 bot token 和你的 Telegram 账号 ID。
bot token:
- 在 Telegram 里搜索 BotFather,然后 /start
- 输入 /newbot,此时 Telegram 会要求你输入 bot 的 name 和 username。这两者的区别是 username 一定要以 bot 结尾。输一个简单好记的 name 作为 bot name
- 记下获得的 API
- 输入 /setprivacy,之后输入 Disable,这样才可以在 Telegram 里面使用群组连接微信联系人。
admin id:
- 搜索 get_id_bot,然后 /start
- 记下 Chat ID
3. 运行 Docker Container
先将容器拖到本地:
docker run -d --restart=unless-stopped --name wechat bao3/ehforwarderbot2wechat
等待完成,之后修改配置文件:
docker exec -it wechat nano /wechat.yaml
填入之前在 Telegram 获得的 Token 和 Admin ID,然后退出。编辑器默认使用 nano,直接按照终端窗口的快捷键提示退出保存。
重启这个容器并扫码登录:
docker restart wechat && docker logs -f wechat
这个容器是 EFB V2 版,可以手动绑定公众号输出到 RSSHub 且不需要挂载外部数据库,比之前那个简单非常多。
其他注意事项:
- 虽然不知道是谁的问题,但是建议每 12 个小时重启一次 container,否则可能会出现 Telegram 端无法把消息传送到微信的问题:docker container restart -t 2 YOUR_CONTAINER_NAME
- 微信的部分表情包无法在 Telegram 端显示,不过不影响整体使用。