NAS里跑个微信服务器,全家设备浏览器直接聊
前阵子我折腾家里的NAS,想弄个微信多端登录的方案。我老婆总抱怨每次切设备微信都要重新登录,我妈更不会用什么文件传输助手在设备之间倒腾照片。后来发现了WechatOnCloud这个项目,其实就是在NAS里起一个Docker容器,里面跑完整的微信PC版,再用KasmVNC把画面串到浏览器里。


跟网页版微信不是一回事
注意这不是那个被阉割的网页版微信,而是真正的PC客户端,只不过住在你的NAS里面,你通过浏览器去远程操作它。手机扫码登录一次之后,任何设备的浏览器打开都是同一个在线状态。我给自己起了三个实例——自己一个、老婆一个、工作号一个,每个实例独立容器、独立数据卷,互不干扰。有意思的是子账号体系,我给我妈开了个子账号,她只能访问自己那个实例,看不到我的聊天记录。
日常使用体验
出差的时候不用带工作手机,浏览器点开就能回消息。文件传输功能也有,拖拽上传下载都支侍,不过目前只能拖到微信桌面的默认文件夹,不能指定任意目录,这点不够灵活。多端协作还有个软锁机制,同一个实例多人操作时自动切成只读,避免两个人同时打字打架。PWA功能也不错,iOS添加到主屏幕之后用起来跟原生App差别不大。
安全问题不能忽视
但有个硬伤你得知道:面板挂载了宿主的docker.sock,等于给了root权限,能登录面板的人理论上可以以你的身份发消息、看记录。所以绝对不能裸放公网,只走内网或VPN,默认密码必须改掉,外面再套一层HTTPS反代。另外微信本体不在镜像里,第一次用的时候要在面板里点”下载安装”,这一步依赖网络,NAS科学上网环境没配好的话下载会很慢甚至失败。amd64和arm64都有预构建镜像倒是挺贴心,ARM板子的NAS也能直接跑。你想想,一个开源项目既要跟微信的风控策略博弈,又要处理Docker权限的安全隐患,这种钢丝真的能一直走下去吗?
下载链接:https://pan.quark.cn/s/64277de55392
GitHub 项目地址:https://github.com/Gloridust/WechatOnCloud