之前ftiasch提到webqqircd运行在服务器上,似乎可以持续运行无需每日扫码。最近挺bigeagle推荐了x2go。于是实验了一下headless wechatircd & webqqircd。PhantomJS不可用,存储图片麻烦,会抛出SIGFPE异常,自带webkit旧不支持ES6。故弃用,尝试Firefox。
服务器上安装x2goserver,Arch Linux配置较为容易: 1
2
3
4sudo pacman -S --needed firefox socat
sudo pacman -S --needed x2goserver
sudo x2godbadmin --createdb
sudo systemctl enable --now x2goserver
1 | yaourt -S wechatircd-git webqqircd-git |
wechatircd、webqqircd的IRC server默认监听127.0.0.1,本地无法直接连接,也没有作身份认证。可以考虑用socat、iptables等方法限制只有自己能访问。
微信网页版只要synccheck不间断(约30秒一次),不会断开连接要求重新扫码二维码。QQ网页版类似。
QQ网页版不能显示图片。 微信网页版能显示图片、视频、音频、文件、位置等,wechatircd会把它们转成qq.com域名的链接。本地浏览器没有cookies无法访问这些链接,我写了一个脚本把服务器Firefox的cookies(sqlite3)同步到本地,把qq.com相关域名的cookies导入到Chrome(也是sqlite3):https://gist.github.com/MaskRay/fae75a66f707d774b2335f61701221e8。
使用微信是无奈,警惕它打造的局域网。这种方式可以用来做普通帐号的微信机器人。
systemd service文件wechatircd.service
: 1
[Unit]
Description=IRC server capable of controlling Web WeChat
Documentation=https://github.com/MaskRay/wechatircd
After=network.target
[Service]
ExecStart=/usr/bin/wechatircd --tls-key /etc/wechatircd/key.pem --tls-cert /etc/wechatircd/cert.pem --http-root /usr/share/wechatircd --password a --ignore 不想自動加入的羣組名子串 另一個不想自動加入的羣組名子串
[Install]
WantedBy=multi-user.target