社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
aigc
aigc   chatgpt  
WEB开发
linux   MongoDB   Redis   DATABASE   NGINX   其他Web框架   web工具   zookeeper   tornado   NoSql   Bootstrap   js   peewee   Git   bottle   IE   MQ   Jquery  
机器学习
机器学习算法  
Python88.com
反馈   公告   社区推广  
产品
短视频  
印度
印度  
Py学习  »  docker

支持多开的docker版微信

各种折腾 • 1 年前 • 847 次点击  

简介

什么是 docker-wechat ?

docker-wechat 是一个开源项目,旨在通过 Docker 容器运行微信(WeChat)客户端。该项目允许用户通过网页或 VNC 访问微信,从而在不同的操作系统和环境中使用微信,无需直接在本地安装。

主要特点:

  • 容器化运行:将 Linux 版微信打包在 Docker 容器中,方便部署和管理。
  • 多种访问方式:支持通过网页浏览器或 VNC 客户端访问微信界面。
  • 可配置环境变量:允许用户根据需要设置语言、时区、音频支持等。
  • 持久化存储:可以将用户数据和文件映射到主机,以确保数据的持久性。

使用场景:

  • 在不支持微信的操作系统上运行。
  • 需要在服务器上运行微信进行远程访问。
  • 方便开发者或用户在不同环境中使用微信。

既然是基于 VNC 的应用,输入就是个问题,只能通过剪贴板进行中转,因此最大的作用可能就是用来保存聊天记录吧

安装

在群晖上以 Docker 方式安装。

【注意】:在低版本内核的机器上,比如老苏使用的 DSM 6.17 上,会遇到下面的错误

[app         ] Fatal glibc error: cannot get entropy for arc4random
[app ] [1203/222541.966345:ERROR:process_memory_range.cc(86)] read out of range
[app ] [1203/222541.966450:ERROR:elf_image_reader.cc(606)] missing nul-terminator
[app ] [1203/222541.966700:ERROR:elf_dynamic_array_reader.h(64)] tag not found
[app ] [1203/222541.966935:ERROR:elf_dynamic_array_reader.h(64)] tag not found
[app ] [1203/222542.073861:ERROR:directory_reader_posix.cc(42)] opendir /root/.xwechat/crashinfo/attachments/8570a4d3-5084-42cb-a5fd-ba36a23f696f: No such file or directory (2)
[app ] [1203/222542.080718:ERROR:exception_handler_server.cc(53)] EPOLLERR: Connection reset by peer (104)

解决办法是换一台机器,比如在 DSM 6.23 上就可以

在注册表中搜索 ricwang ,选择第二个 ricwang/docker-wechat,版本选择 latest

本文写作时, latest 版本对应为  4.0.0.30

【注意】:图形化安装方式,无法加载声卡设备 /dev/snd,如果你的设备支持声卡,建议用 docker cli 方式安装

权限

勾选 使用高权限执行容器

docker 文件夹中,创建一个新文件夹 wechat,并在其中建三个子文件夹 xwechatxwechat_filesdownloads

文件夹装载路径说明
docker/wechat/xwechat/root/.xwechat微信的配置文件夹
docker/wechat/xwechat_files/root/xwechat_files微信聊天记录文件夹
docker/wechat/downloads/root/downloads用于发送和保存文件

端口

本地端口不冲突就行,不确定的话可以用命令查一下

# 查看端口占用
netstat -tunlp | grep 端口号
本地端口容器端口说明
58055800Web 端口
59055900vnc端口

环境

可变
LANG区域设置,用于定义应用程序的语言(如果支持)
USER_ID用户 ID0 的用户是超级用户(root 用户),具有最高权限
GROUP_IDID0 通常表示 root
WEB_AUDIO当设置为 1 时,启用音频支持,意味着应用程序产生的任何音频都通过浏览器播放。注意 VNC 客户端不支持音频。
TZ容器使用的时区

图形化安装不能挂载声卡,所以使用默认的 WEB_AUDIO=0

更多的环境变量,请参考官方文档:https://github.com/RICwang/docker-wechat#环境变量

命令行安装

如果你熟悉命令行,可能用 docker cli 更快捷

# 新建文件夹 wechat 和 子目录
mkdir -p /volume2/docker/wechat/{downloads,xwechat,xwechat_files}

# 进入 wechat 目录
cd /volume2/docker/wechat

# 运行容器
## 有声卡的安装命令
docker run -d \
 --name wechat_docker \
 --privileged \
 -v $(pwd)/xwechat:/root/.xwechat \
 -v $(pwd)/xwechat_files:/root/xwechat_files \
 -v $(pwd)/downloads:/root/downloads \
 -v /dev/snd:/dev/snd \
 -p 5805:5800 \
 -p 5905:5900 \
 -e LANG=zh_CN.UTF-8 \
 -e USER_ID=0 \
 -e GROUP_ID=0 \
 -e WEB_AUDIO=1 \
 -e TZ=Asia/Shanghai \
 ricwang/docker-wechat:latest

## 没有声卡的安装命令
docker run -d \
 --name wechat_docker \
 --privileged \
 -v $(pwd)/xwechat:/root/.xwechat \
 -v $(pwd)/xwechat_files:/root/xwechat_files \
 -v $(pwd)/downloads:/root/downloads \
 -p 5805:5800 \
 -p 5905:5900 \
 -e LANG=zh_CN.UTF-8 \
 -e USER_ID=0 \
 -e GROUP_ID=0 \
 -e WEB_AUDIO=0 \
 -e TZ=Asia/Shanghai \
 ricwang/docker-wechat:latest

也可以用 docker-compose 安装,将下面的内容保存为 docker-compose.yml 文件

version: '3'

services:
  wechat:
    image: ricwang/docker-wechat:latest
    container_name: wechat_docker
    volumes:
      - ./xwechat:/root/.xwechat
      - ./xwechat_files:/root/xwechat_files
      - ./downloads:/root/downloads
    ports:
      - "5805:5800"
      - "5905:5900"
    environment:
      - LANG=zh_CN.UTF-8
      - USER_ID=0
      - GROUP_ID=0
      - WEB_AUDIO=0
      - TZ=Asia/Shanghai
    privileged: true

然后执行下面的命令

# 新建文件夹 wechat 和 子目录
mkdir -p /volume2/docker/wechat/{downloads,xwechat,xwechat_files}

# 进入 wechat 目录
cd /volume2/docker/wechat

# 将 docker-compose.yml 放入当前目录

# 一键启动
docker-compose up -d

运行

在浏览器中输入 http://群晖IP:5805 就能看到二维码界面

展开左侧,有剪贴板,因为是 vnc 应用,所以不能直接输入,只能通过左侧的剪贴板进行传递

手机扫码即可登录,因为需要遮盖的太多,就不发了。官方有多开安装和使用的视频

https://www.bilibili.com/video/BV1CszKYbEji/?vd_source=c79853f29bef58d485cf229dab423726

参考文档

RICwang/docker-wechat: 在docker里运行wechat,可以通过web或者VNC访问wechat
地址:https://github.com/RICwang/docker-wechat

把微信放到docker里,你想开几个就开几个,官方也没想到~ | By Ricky_哔哩哔哩_bilibili
地址:https://www.bilibili.com/video/BV1CszKYbEji/?vd_source=c79853f29bef58d485cf229dab423726

微信 Linux 测试版
地址:https://linux.weixin.qq.com/

@所有人:写文不易,如果你都看到了这里,请点个在看,分享给更多的朋友;为确保你能收到每一篇文章,请主页右上角设置星标。

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/176633