wechatircd——用 IRC 客户端控制微信网页版

2016-02-21 16:47:02 +08:00
 MaskRay

wechatircd 类似于 bitlbee ,在微信网页版和 IRC 间建起桥梁,可以使用 IRC 客户端收发微信朋友、群消息、设置群名、邀请删除成员等。

代码:https://github.com/MaskRay/wechatircd

原理

修改网页版微信用的 JS ,通过 WebSocket 把信息发送到服务端,服务端兼做 IRC 服务端,把 IRC 客户端的命令通过 WebSocket 传送到网页版 JS 执行。

运行

HTTPS 、 WebSocket over TLS

推荐使用 TLS 。

HTTP 、 WebSocket

如果嫌 X.509 太麻烦的话可以不用 TLS ,但 Chrome 会在 console 里给出警告。

IRC 客户端

+status channel 可以执行一些命令:

如果微信网页版显示 QR code 要求重新登录,登录后继续对“文件传输助手” 32 个十六进制数字的 token 即可。
服务端或客户端重启,根据+status channel 上新的 token(或者在+status channel 发送new消息重新获取一个),在微信网页版上对“文件传输助手”输入 token 。

IRC 命令

wechatircd 是个简单的 IRC 服务器,可以执行通常的 IRC 命令,可以对其他客户端私聊,创建 standard channel(以#开头的 channel)。另外若用 token 与某个微信网页版连接的,就能看到微信联系人(朋友、群联系人)显示为特殊 nick 、微信群显示为特殊 channel(以&开头,根据群名自动设置名称)

这些特殊 nick 与 channel 只有当前客户端能看到,因此一个服务端支持多个微信帐号同时登录,每个用不同的 IRC 客户端控制。另外,以下命令会有特殊作用:

Emoji 会显示成<img class="qqemoji qqemoji0" text="[Smile]_web" src="/zh_CN/htmledition/v2/images/spacer.gif">样,发送时用[Smile]即可(相当于在网页版文本输入框插入文本后点击发送)

详见 https://maskray.me/blog/2016-02-21-wechatircd

3907 次点击
所在节点    微信
4 条回复
jonechenug
2016-02-21 18:10:42 +08:00
很屌,不过暂时没这个需求
DesignerSkyline
2016-02-21 19:50:37 +08:00
赞一个!
e6nian
2016-02-21 21:45:32 +08:00
很棒,你再挂一个 bot ,微信的 log 就有地方送了:)
MaskRay
2016-03-16 20:48:46 +08:00
多支持两个命令
`/dcc send nick/channel filename`,给微信朋友或微信群发图片 /文件。参见<https://en.wikipedia.org/wiki/Direct_Client-to-Client#DCC_SEND>
`/summon nick message`,添加朋友, message 为验证信息

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/258018

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX