基于Selkies的Linux网页版微信/QQ/Telegram,支持本地中文输入法,支持三方应用,支持AMD64和ARM64。
WeChat Selkies
中文 | English
基于 Docker 的微信/QQ Linux 客户端,使用 Selkies WebRTC 技术提供浏览器访问支持。
项目简介
本项目将官方微信/QQ Linux 客户端封装在 Docker 容器中,通过 Selkies 技术实现在浏览器中直接使用微信/QQ,无需在本地安装微信/QQ 客户端。适用于服务器部署、远程办公等场景。
升级注意事项
如果升级后部分功能缺失,请先清空本地挂载目录下的openbox目录(如./config/.config/openbox)。
仓库内置了上游微信版本自动检测机制:GitHub Actions 会定时检查官方.deb包版本,检测到变化后自动更新versions/upstream.env并触发镜像构建。
功能特性
- 🌐 浏览器访问:通过 Web 浏览器直接使用微信,无需本地安装
- 🐳 Docker化部署:简单的容器化部署,环境隔离
- 🔒 数据持久化:支持配置和聊天记录持久化存储
- 🎨 中文支持:完整的中文字体和本地化支持,支持本地中文输入法
- 🖼️ 图片复制:支持通过侧边栏面板开启图片复制
- 📁 文件传输:支持通过侧边栏面板进行文件传输
- 🖥️ AMD64和ARM64架构支持:兼容主流CPU架构
- 🔧 硬件加速:可选的 GPU 硬件加速支持
- 🪟 窗口切换器:左上角增加切换悬浮窗,方便切换到后台窗口,为后续添加其它功能做基础
- 🤖 自动启动:可配置自动启动微信和QQ客户端(可选)
- 📋 桌面快捷方式集成:自动扫描
~/Desktop/下的.desktop文件并添加到右键菜单,方便启动第三方应用(如通过 proot-apps 安装的应用) - 📂 文件管理器:内置 PCManFM 轻量文件管理器,右键菜单即可启动,方便管理容器内文件
截图展示
快速开始
环境要求
- Docker
- Docker Compose
- 支持WebRTC的现代浏览器(Chrome、Firefox、Safari等)
快速部署
- 直接使用已构建的镜像进行快速部署
docker run -it -p 3001:3001 -v ./config:/config --device /dev/dri:/dev/dri ghcr.io/nickrunning/wechat-selkies:latest
Docker Hub镜像:
docker run -it -p 3001:3001 -v ./config:/config --device /dev/dri:/dev/dri nickrunning/wechat-selkies:latest
精简版镜像:如果只需要微信(不含 QQ 和文件管理器),可使用 minimal 标签,镜像体积更小:
>> docker run -it -p 3001:3001 -v ./config:/config --device /dev/dri:/dev/dri ghcr.io/nickrunning/wechat-selkies:minimal
精简版也支持版本号标签,如:1.2.3-minimal、:1.2-minimal,方便锁定特定版本。
- 访问微信
https://localhost:3001 或 https://<服务器IP>:3001
> 注意: 映射3000端口用于HTTP访问,3001端口用于HTTPS访问,建议使用HTTPS。
Docker Compose 部署
- 创建项目目录并进入
mkdir wechat-selkies
cd wechat-selkies
- 创建 docker-compose.yml 文件
services:
wechat-selkies:
image: nickrunning/wechat-selkies:latest # or ghcr.io/nickrunning/wechat-selkies:latest
container_name: wechat-selkies
ports:
- "${HTTP_PORT:-3000}:3000"
- "${HTTPS_PORT:-3001}:3001"
restart: unless-stopped
volumes:
- ./config:/config
devices:
- /dev/dri:/dev/dri
environment:
- PUID=${PUID:-1000}
- PGID=${PGID:-100}
- TZ=Asia/Shanghai
- LCALL=zhCN.UTF-8
- AUTOSTARTWECHAT=true
- AUTOSTARTQQ=false
- CUSTOMUSER=${CUSTOMUSER:-}
- PASSWORD=${PASSWORD:-}
shmsize: "${SHMSIZE:-1gb}"
- 创建
.env文件(可选)
.env.example 并按需修改,未设置的变量将使用默认值:
cp .env.example .env
.env 文件示例:
HTTP_PORT=3000
HTTPS_PORT=3001
PUID=1000
PGID=100
# CUSTOM_USER=
# PASSWORD=
SHM_SIZE=1gb
- 启动服务
docker compose up -d
源码部署
- 克隆项目
git clone https://github.com/nickrunning/wechat-selkies.git
cd wechat-selkies
- 启动服务
docker compose up -d
- 访问微信
https://localhost:3001 或 https://<服务器IP>:3001
构建精简版:源码部署时可通过 build-arg 构建仅含微信的精简镜像:
>> docker build --build-arg INSTALLQQ=false --build-arg INSTALLPCMANFM=false -t wechat-selkies:minimal .
配置说明
更多自定义配置请参考 Selkies Base Images from LinuxServer。
Docker Hub 推送配置
本项目支持同时推送到 GitHub Container Registry 和 Docker Hub。如需启用 Docker Hub 推送功能,请在仓库下添加Environment Secrets和Environment Variables:
Environment Secrets:
- DOCKERHUB_USERNAME: 你的 Docker Hub 用户名
- DOCKERHUB_TOKEN: 你的 Docker Hub Access Token
- ENABLE_DOCKERHUB: 设置为
true来启用 Docker Hub 推送
环境变量配置
在 docker-compose.yml 中可以配置以下环境变量,支持通过 .env 文件覆盖带有 ${VAR:-default} 的配置项:
| 变量名 | 默认值 | 说明 | |--------|--------|------| | TITLE | WeChat Selkies | Web UI 标题 | | PUID | 1000 | 用户 ID | | PGID | 100 | 组 ID | | TZ | Asia/Shanghai | 时区设置 | | LCALL | zhCN.UTF-8 | 语言环境 | | CUSTOM_USER | - | 自定义用户名(推荐设置) | | PASSWORD | - | Web UI 访问密码(推荐设置) | | AUTOSTARTWECHAT | true | 是否自动启动微信客户端 | | AUTOSTARTQQ | false | 是否自动启动 QQ 客户端 |
端口配置
3001: Web UI 访问端口
数据卷挂载
./config:/config: 微信配置和数据持久化目录
注意: 如果升级后右键菜单缺少./config/.config/openbox)。
安装第三方应用(如 Telegram)
本项目支持通过 proot-apps 安装第三方 Linux 应用。以 Telegram 为例:
- 在浏览器中打开容器桌面
- 点击左侧 侧边栏 → 应用程序(Applications)
- 在应用列表中找到 Telegram
- 点击 安装(Install)按钮,等待安装完成
~/Desktop/ 目录下,右键菜单会自动刷新,无需重启容器即可从菜单中启动该应用。
提示: 如需卸载应用,同样通过侧边栏 → 应用程序,选中对应应用后点击 卸载(Uninstall)即可,右键菜单会自动更新。
高级配置
硬件加速
如果您的系统支持 GPU 硬件加速,Docker Compose 配置中已包含相关设备映射:
devices:
- /dev/dri:/dev/dri
目录结构
wechat-selkies/
├── docker-compose.yml # Docker Compose 配置文件
├── .env.example # 环境变量示例文件
├── Dockerfile # Docker 镜像构建文件
├── LICENSE # License
├── README.md # 项目说明文档
├── config/ # 配置和数据持久化目录
└── root/ # 容器初始化文件
├── defaults/
│ └── autostart # 自动启动配置
└── wechat.png # 微信图标
故障排除
更新微信/QQ版本
当微信或QQ提示"版本过期"时,只需重新拉取最新镜像并重建容器即可,聊天记录和配置不受影响:
# 使用预构建镜像
docker compose pull && docker compose up -d
使用源码构建
git pull && docker compose up -d --build
注意: 微信和QQ的安装包 URL 指向官方最新版本,重新构建镜像时会自动下载最新版。
对于仓库维护者,当前自动化流程如下:
Detect Upstream Package Updates每 6 小时检查一次微信官方安装包版本,也支持手动触发- 如果检测到版本号或安装包哈希变化,工作流会更新
versions/upstream.env - 该文件变更提交到
master后,会自动触发Build and Publish Docker Image
versions/upstream.env,当前记录了:
- 微信 amd64/arm64 下载地址
- 微信 amd64/arm64 解析出的版本号
- 微信 amd64/arm64 安装包 SHA256
- 最近一次发生变更的检测时间
常见问题
- 无法访问 Web UI
docker ps
日志查看
查看容器运行日志:
docker compose logs -f wechat-selkies
技术架构
- 基础镜像:
ghcr.io/linuxserver/baseimage-selkies:ubuntunoble - 微信客户端:官方微信 Linux 版本
- Web 技术:Selkies WebRTC
- 容器化:Docker + Docker Compose
贡献指南
欢迎提交 Issue 和 Pull Request!
- Fork 本项目
- 创建特性分支:
git checkout -b feature/your-feature - 提交更改:
git commit -am 'Add some feature' - 推送分支:
git push origin feature/your-feature - 提交 Pull Request
许可证
本项目采用 MIT License 开源协议。详见 LICENSE 文件。
📜 许可证说明
- 项目许可证: MIT License - 宽松的开源许可证
- 依赖项说明: 本项目使用 LinuxServer.io baseimage-selkies 作为基础镜像
- 许可证兼容性: 由于本项目仅使用基础镜像而未修改其源码,根据容器化软件的许可证实践,可以采用MIT许可证
- 源码开放: 完整项目源代码在 GitHub 上公开:https://github.com/nickrunning/wechat-selkies
免责声明与版权声明
🚨 重要声明
本项目与腾讯公司无任何关联,属于独立的第三方开源项目。
📋 版权声明
- 微信® 是 腾讯公司 的注册商标和版权作品
- 本项目中使用的微信相关图标、logo 等视觉元素的版权归腾讯公司所有
- 本项目仅为技术展示和学习目的,不用于商业用途
- 如有版权争议,将立即移除相关内容
⚖️ 法律合规
- 本项目严格遵守相关法律法规和用户协议
- 用户使用本项目时应遵守当地法律法规
- 本项目不对用户的使用行为承担法律责任
- 如腾讯公司认为存在侵权行为,请联系我们立即处理
🎯 使用条款
- 本项目仅供学习、研究和个人使用
- 禁止用于任何商业目的或盈利活动
- 用户应自行承担使用风险和法律责任
- 请遵守微信用户协议和相关服务条款