docker-wechat

docker-wechat

Docker容器化实现Linux系统运行Windows版微信

docker-wechat是一个让Linux系统运行Windows版微信客户端的Docker项目。通过容器化技术,实现了中文输入、图片粘贴等功能,一行命令即可启动。项目兼容多种Linux发行版,可自定义DPI和微信版本,为Linux用户带来方便的微信使用体验。

Docker微信LinuxWine容器化Github开源项目

DoChat /dɑɑˈtʃæt/ 盒装微信

Docker Powered By Wine

dockeri.co

DoChat(盒装微信) is a Dockerized WeChat(微信) PC Windows Client for Linux.

DoChat

Image Credit: Docker 101 + Icon Finder, and Ps-ed by Ruoxin Song

Honors

Disclaimer

We have received reports from our user said that their WeChat account has been disabled after using this project, so use it at your own risk:

  1. 昨天用了一下最新版的docker镜像立马微信就被封了 #55

Usage Powered Linux

WeChat PC will be started on your Linux desktop by running the following one-line command:

curl -sL https://raw.githubusercontent.com/huan/docker-wechat/master/dochat.sh | bash

If you’re in China, try the following one-line command if the above one-line command does not work well:

curl -sL https://gitee.com/mirrors/dochat/raw/main/dochat.sh | bash

Just copy/paste the above one-line command to your terminal and press Enter. Then the WeChat PC should appear in your XWindows desktop shortly.

DoChat Term Command

Attention

The dochat.sh script must not be with uid 0 (root user). Running it with uid 0 will lead to an infinite loop that is hard to kill from the terminal. If your user doesn't have the right to run docker please add the user to the docker group sudo usermod -aG docker $USER. A reboot might be neccessary for the changes to take place.

The issue is described in #60.

Features

It just works out-of-the-box with one-line of shell command!

  1. Input/Display Chinese characters perfectly.
  2. Paste copied images to WeChat with Ctrl+V

DoChat Screenshot

Requirements

  1. Linux Ubuntu distribution will be recommended (DoChat was developed with the Ubuntu Desktop 19.10)
    1. Debian support confirmed (#9)
    2. OpenSUSE Leap 15.1 support confirmed (#16)
    3. OpenSUSE Tumbleweed support confirmed (#150)
    4. Arch support confirmed (#26)
    5. Ubuntu(19.04/18.10/18.04) should be able to support
    6. Linux Mint 21.2 Cinnamon support confirmed (#215)
    7. Other Linux distributions: might be able to support
  2. Docker (run sudo apt update && apt install docker.io to install Docker for Ubuntu users)
  3. nvidia-container-toolkit may be installed (#173)

Environment Variables

DOCHAT_DPI

DPI Scale Factors for graphic screen resolution.

DPIScale factor
96100%
120125%
144150%
192200%

Default: 120

To enlarge the window & fonts size:

curl -sL https://raw.githubusercontent.com/huan/docker-wechat/master/dochat.sh \ | DOCHAT_DPI=192 bash

DOCHAT_SKIP_PULL

If you do not want to pull docker image for the latest version at startup everytime, you can set DOCHAT_SKIP_PULL environment variable.

curl -sL https://raw.githubusercontent.com/huan/docker-wechat/master/dochat.sh \ | DOCHAT_SKIP_PULL=true bash

In case you have downloaded dochat.sh:

DOCHAT_SKIP_PULL=true ./dochat.sh

DOCHAT_DEBUG

Show more debug log messages.

curl -sL https://raw.githubusercontent.com/huan/docker-wechat/master/dochat.sh \ | DOCHAT_DEBUG=true bash

DOCHAT_WECHAT_VERSION

Use a specific version for WeChat.

You can get a full list of the supported versions from Docker Hub Image Tags at https://hub.docker.com/r/zixia/wechat/tags

For example:

curl -sL https://raw.githubusercontent.com/huan/docker-wechat/master/dochat.sh \ | DOCHAT_WECHAT_VERSION=3.3.0.115 bash

For Hackers

If you want to control everything by yourself, for example, open multiple WeChat PC client on your desktop; then, you might want to inspect the dochat.sh in our repository and try the following docker command:

docker run \ --name DoChat \ --rm \ -i \ \ -v "$HOME/DoChat/WeChat Files/":'/home/user/WeChat Files/' \ -v "$HOME/DoChat/Applcation Data":'/home/user/.wine/drive_c/users/user/Application Data/' \ -v /tmp/.X11-unix:/tmp/.X11-unix \ -v "/run/user/$(id -u)/pulse":"/run/pulse" \ \ -e DISPLAY \ \ -e XMODIFIERS=@im=fcitx \ -e GTK_IM_MODULE=fcitx \ -e QT_IM_MODULE=fcitx \ -e GID="$(id -g)" \ -e UID="$(id -u)" \ \ --ipc=host \ --privileged \ \ zixia/wechat

Modify it whatever you want to fulfill your needs.

Versioning

The docker image has two schema of the versioning:

  1. X.Y.Z.a: This is for the WeChat PC Windows Client version
    1. zixia/wechat:2.7.1.85: WeChat 2.7.1.85
    2. zixia/wechat:2.8.0.112: WeChat 2.8.0.112
  2. x.y: This is for the docker image version.
    1. zixia/wechat:0.2: docker-wechat version 0.2

The two version schema may overlap with each other.

For example: the zixia/wechat:0.2 may be the same image as the zixia/wechat:2.8.0.112.

Known Issues

  • WeChat 2.8.0.x can not send big images/files (#341)
    • Work around: use 2.7.1.85 instead. (DOCHAT_WECHAT_VERSION=2.7.1.85)
  • In-WeChat Browser does not work (#2)

To-do List

  • Permanent Storage for WeChat PC Login Data Information (#3)
  • Automatically install WeChat PC from .EXE installer when building the Dockerfile. (Test Automation tools might be needed)
  • Monitor WeChat PC version publications so that we can publish the same version number of the docker image with it.
  • Resolve the infinite loop situation when running with uid 0 (#60)
  • New feature: wechat_pc_api, https://github.com/huan/docker-wechat/issues/125

FAQ

System Tray Icon with Gnome Desktop

Install Gnome Extension: Top Icons Plus Git by bijignome

Note 1: there's almost half dozen of the TopIcons extensions with very similar name: TopIcons, TopIcons Redux, TopIcons Plus, TopIcons Plus Git, TopIconsFix. Use TopIcons Plus Git, it's the right one.

Note 2: The TopIcons Plus has the bug that cause the wine itself shows a window on your desktop. (#19)

Exit with code 5 on openSUSE Leap

When you encounter problem that the app exit with code 5 on openSUSE Leap, you need to disable X server access control to allow any user to connect to the X server before you start the app. Use below command to disable it:

$ xhost +

OpenSUSE Tumbleweed Configurations

To address the issue (#150) do the following: (Thanks Wu Bo)

$ xhost +; sudo chown -R $USER $HOME/DoChat/

No main window after start up with 2 or more monitor setup

This could be caused by an old bug in wine with multiple monitor setup. Workaround is to start it up with single monitor and then switch to multiple monitors

This behavior may cause the view disappear when you use the Join Displays mode, so you need change the mode to mirrors when the app start, this script may help:

#bin/bash xrandr --output HDMI-1-2 --same-as eDP-1-1 curl -sL https://raw.githubusercontent.com/huan/docker-wechat/master/dochat.sh \ | DOCHAT_SKIP_PULL=true bash & sleep 5 xrandr --output HDMI-1-2 --right-of eDP-1-1

Change the HDMI-1-2 to your external display name and eDP-1-1 to your built in display name. Display more than two, link to this.

Notice: you must drag the login dialog to built in display side when the process sleep 5, otherwise the view may stuck in the external display.

Links

History

master v0.14

  1. Update to WeChat version 3.3.0.115 (#131)
  2. Upgrade to Wine version 6.0
  3. Upgrade to Debian 11 (bullseye)
  4. Rename default branch from master to main

v0.10 (Mar 12, 2020)

  1. Upgrade wine from v4.0 to v5.0
  2. Deploy to Docker Hub by GitHub Actions with Automatic WeChat Version Number.

v0.8 (Mar 3, 2020)

  1. Add a new configuration environment variable DOCHAT_WECHAT_VERSION to select WeChat version.
  2. Add WeChat v2.8.0.112
    1. 新增订阅号浏览
    2. 新增IPv6网络支持
    3. 新增看一看精选内容
    4. 新增打开聊天中小程序消息
    5. 新增在小程序中使用微信支付
    6. 新增聊天文件面板,可查看和管理所有聊天文件
curl -sL https://raw.githubusercontent.com/huan/docker-wechat/master/dochat.sh \ | DOCHAT_WECHAT_VERSION=2.8.0.112 bash

v0.5 (Feb 24, 2020)

  1. Add environment variable DOCHAT_DPI to set DPI scale factors for graphicg screen resolution.
  2. Disable auto-update.

v0.4 (Feb 21, 2020)

Got a great logo from my art friend Ruoxin SONG.

  1. Fix Sound (#1)
  2. Fix to not exit during the upgrading progress.

v0.2 (Feb 18, 2020)

The first working version, cheers!

v0.1 (Feb 17, 2020)

Project created.

Thanks

  1. WeChat Desktop on Linux - by @ferrolho
  2. Wine HQ App Database - WeChat
  3. 基于深度操作系统的微信 docker 镜像 by @bestwu
  4. DoChat logo designed by my friend Ruoxin SONG.

Related Projects

  1. DoWork /dɑɑˈwɜːk/ 盒装企业微信: Dockerized WeChat Work (企业微信) PC Windows Client for Linux
  2. Put your WeChat in the box: https://github.com/ChisBread/wechat-box

Contributors

contributor contributor contributor contributor contributor contributor contributor contributor

Author

Huan Li (LinkedIn) Tencent TVP of Chatbot.

Profile of Huan LI (李卓桓) on StackOverflow

Copyright & License

  • Code & Docs © 2020-now Huan Li <huan@chatie.io>
  • Code released under the

编辑推荐精选

蛙蛙写作

蛙蛙写作

AI小说写作助手,一站式润色、改写、扩写

蛙蛙写作—国内先进的AI写作平台,涵盖小说、学术、社交媒体等多场景。提供续写、改写、润色等功能,助力创作者高效优化写作流程。界面简洁,功能全面,适合各类写作者提升内容品质和工作效率。

AI助手AI工具AI写作工具AI辅助写作蛙蛙写作学术助手办公助手营销助手
Trae

Trae

字节跳动发布的AI编程神器IDE

Trae是一种自适应的集成开发环境(IDE),通过自动化和多元协作改变开发流程。利用Trae,团队能够更快速、精确地编写和部署代码,从而提高编程效率和项目交付速度。Trae具备上下文感知和代码自动完成功能,是提升开发效率的理想工具。

热门AI工具生产力协作转型TraeAI IDE
问小白

问小白

全能AI智能助手,随时解答生活与工作的多样问题

问小白,由元石科技研发的AI智能助手,快速准确地解答各种生活和工作问题,包括但不限于搜索、规划和社交互动,帮助用户在日常生活中提高效率,轻松管理个人事务。

聊天机器人AI助手热门AI工具AI对话
Transly

Transly

实时语音翻译/同声传译工具

Transly是一个多场景的AI大语言模型驱动的同声传译、专业翻译助手,它拥有超精准的音频识别翻译能力,几乎零延迟的使用体验和支持多国语言可以让你带它走遍全球,无论你是留学生、商务人士、韩剧美剧爱好者,还是出国游玩、多国会议、跨国追星等等,都可以满足你所有需要同传的场景需求,线上线下通用,扫除语言障碍,让全世界的语言交流不再有国界。

讯飞智文

讯飞智文

一键生成PPT和Word,让学习生活更轻松

讯飞智文是一个利用 AI 技术的项目,能够帮助用户生成 PPT 以及各类文档。无论是商业领域的市场分析报告、年度目标制定,还是学生群体的职业生涯规划、实习避坑指南,亦或是活动策划、旅游攻略等内容,它都能提供支持,帮助用户精准表达,轻松呈现各种信息。

热门AI工具AI办公办公工具讯飞智文AI在线生成PPTAI撰写助手多语种文档生成AI自动配图
讯飞星火

讯飞星火

深度推理能力全新升级,全面对标OpenAI o1

科大讯飞的星火大模型,支持语言理解、知识问答和文本创作等多功能,适用于多种文件和业务场景,提升办公和日常生活的效率。讯飞星火是一个提供丰富智能服务的平台,涵盖科技资讯、图像创作、写作辅助、编程解答、科研文献解读等功能,能为不同需求的用户提供便捷高效的帮助,助力用户轻松获取信息、解决问题,满足多样化使用场景。

模型训练热门AI工具内容创作智能问答AI开发讯飞星火大模型多语种支持智慧生活
Spark-TTS

Spark-TTS

一种基于大语言模型的高效单流解耦语音令牌文本到语音合成模型

Spark-TTS 是一个基于 PyTorch 的开源文本到语音合成项目,由多个知名机构联合参与。该项目提供了高效的 LLM(大语言模型)驱动的语音合成方案,支持语音克隆和语音创建功能,可通过命令行界面(CLI)和 Web UI 两种方式使用。用户可以根据需求调整语音的性别、音高、速度等参数,生成高质量的语音。该项目适用于多种场景,如有声读物制作、智能语音助手开发等。

咔片PPT

咔片PPT

AI助力,做PPT更简单!

咔片是一款轻量化在线演示设计工具,借助 AI 技术,实现从内容生成到智能设计的一站式 PPT 制作服务。支持多种文档格式导入生成 PPT,提供海量模板、智能美化、素材替换等功能,适用于销售、教师、学生等各类人群,能高效制作出高品质 PPT,满足不同场景演示需求。

讯飞绘文

讯飞绘文

选题、配图、成文,一站式创作,让内容运营更高效

讯飞绘文,一个AI集成平台,支持写作、选题、配图、排版和发布。高效生成适用于各类媒体的定制内容,加速品牌传播,提升内容营销效果。

AI助手热门AI工具AI创作AI辅助写作讯飞绘文内容运营个性化文章多平台分发
材料星

材料星

专业的AI公文写作平台,公文写作神器

AI 材料星,专业的 AI 公文写作辅助平台,为体制内工作人员提供高效的公文写作解决方案。拥有海量公文文库、9 大核心 AI 功能,支持 30 + 文稿类型生成,助力快速完成领导讲话、工作总结、述职报告等材料,提升办公效率,是体制打工人的得力写作神器。

下拉加载更多