Skip to content

这是一个在Linux系统下,使用容器运行微信的方案,基于WeChatFerry部署

License

Notifications You must be signed in to change notification settings

Saroth/docker_wechat

Folders and files

NameName
Last commit message
Last commit date

Latest commit

91b3f0e · Nov 22, 2024

History

19 Commits
Aug 28, 2024
Aug 28, 2024
Aug 27, 2024
Aug 28, 2024
Sep 3, 2024
Aug 27, 2024
Nov 22, 2024
Nov 22, 2024

Repository files navigation

About

这是一个在Linux系统下,使用容器运行微信的方案。

  • 容器运行环境:Docker、Wine、LXDE、xRDP
    • LXDE:轻量的桌面环境,微信只能在图形界面下安装和运行。
    • xRDP:用于从Windows远程连接桌面进行配置。
  • 基于WeChatFerry部署, thanks to lich0821
  • 资源使用情况:
    • 磁盘:
      • 构建后镜像大小约4.69G;
      • Wine第一次启动,自动初始化后容器占用1.49G;
      • 微信安装后,初始状态占用1.41G。 默认配置已将这部分文件放到宿主机的挂载目录;
      • 微信长期使用,磁盘占用会持续增加;
    • 内存:
      • 桌面登录后,总占用194M;
      • 微信启动,总占用约1.7G,微信登录后,总占用约4.9G。 宿主机需要预留充足的内存空间;

Usage

获取资源

WeChatFerry发布页 下载安装包WeChatSetup和工具包v??.?.?.zip,放到工程目录./package

WeChatFerry迭代频繁,当前最新版本是PyPi

构建镜像

$ sudo ./docker/docker_build.sh
  • 默认使用root作为xRDP用户,默认密码为123,请按需修改。

启动镜像

$ sudo ./docker/docker_run.sh

启动脚本的默认容器访问配置,宿主机 => 容器关系如下,请按需调整:

  • 端口映射:
    • xRDP端口: 13389 => 3389
    • WeChatFerry命令端口: 18001 => 8001
    • WeChatFerry消息端口: 18002 => 8002
  • 目录挂载:
    • 安装资料: ./package => /root/package (仅在第一次安装微信时使用)
    • 程序文件: ./wechat/program => /root/.wine/drive_c/Program\ Files/Tencent/WeChat
    • 图标文件: ./wechat/share/icons => /root/.local/share/icons
    • 用户数据: ./wechat/user_dat => /root/.wine/drive_c/users/root/AppData/Roaming/Tencent/WeChat
    • 将程序和用户数据目录挂载到宿主机,可避免在容器重置后再次安装程序

登录桌面

  • Windows启动远程桌面连接地址服务器IP:13389
  • 进入xRDP登录窗口,usernamerootpassword123

安装微信

  • 如果已配置了挂载目录,且已安装过微信,则不需要再次安装。
  • 进入桌面,启动安装程序。有2种启动方式:
    1. 桌面快捷方式启动: 打开桌面图标WeChatSetup
    2. 命令行启动:左下角启动终端LXTerminal,执行:
      $ wine package/WeChatSetup-*.exe
  • 开始常规安装流程,完成安装后关闭。

启动微信

  • 进入桌面,启动应用。有2种启动方式:
    1. 桌面快捷方式启动: 打开桌面图标WeChatFerry
    2. 命令行启动:左下角启动终端LXTerminal,执行:
      $ ./res/launch.sh
      启动后终端不能关闭或退出。
  • 微信常规配置,左下角Settings:
    • Notifications:关闭所有
    • General -> General:不选所有
    • Manage Files -> Auto-Download:不选
  • 启动并登录后,直接关闭远程桌面,不要Logout。 因为登出后图形界面下运行的所有程序都会退出。

测试

在主机运行测试脚本:./test/test_wcferry.py,消息默认发送给文件传输助手

FAQ

版本说明

  • 版本号和WeChatFerry保持基本一致,方便对照
  • tag: v39.2:支持WeChatFerry的tag: v39.2.x及以上版本

运行报错

  • 故障现象:
    • 不同环境现象不同,目前遇到以下几种
    • 启动过程中Wine报错并退出
    • Wine启动立即报错并退出
    • xRDP连接报错
  • 故障分析:
    • 目前启动异常的情况,常见于使用旧发行版系统的服务器, 如:CentOS 7 (kernel 4.x)。
    • 经验证,使用较新发行版系统的服务器,都可以正常运行。 如:Fedora 39/40 (kernel 6.x)
    • 具体原因暂不明确,推测与内核版本有关。
  • 解决方案:
    • 建议使用较新的Linux发行版。

闪退或应用黑屏

  • 故障现象:
    • 应用启动立即退出
    • 应用界面是黑的,但可以点击可以拖动,拖动过程又能看到应用界面
  • 故障分析:
    • 故障出现之前有正常运行过。
    • 目前仅在调试阶段有遇到。
    • 调试过程中,某些操作可能误杀了系统服务进程
  • 解决方案:
    • 关闭并删掉容器,重新启动镜像

About

这是一个在Linux系统下,使用容器运行微信的方案,基于WeChatFerry部署

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published