1. 项目概述:移动家庭云电脑自动化保活方案
这个项目解决了一个非常实际的痛点——如何让移动家庭云电脑保持24/7在线状态。作为一名长期使用云电脑服务的开发者,我深知云电脑服务商通常会有自动注销机制,当检测到用户长时间无操作时就会断开连接。这对于需要持续运行后台任务或保持远程会话的用户来说非常不便。
本项目通过Docker容器化技术,实现了移动家庭云电脑的自动化登录和连接保活。核心原理是:
- 使用预构建的Docker镜像封装云电脑客户端
- 通过模拟鼠标移动等操作维持活跃状态
- 提供VNC/NoVNC接口实现远程访问
- 支持多账号隔离运行
提示:虽然项目主要针对移动家庭云电脑开发,但作者指出其架构设计也适用于其他云电脑服务,只需相应调整登录脚本即可。
2. 环境准备与部署流程
2.1 系统要求与依赖安装
项目要求运行在Linux系统上,推荐以下发行版:
- Ubuntu 20.04+
- Debian 11+
- CentOS 7+
核心依赖只有Docker,这是整个方案的基础。如果你尚未安装Docker,可以使用以下一键安装脚本:
bash <(wget -qO- https://xuanyuan.cloud/docker.sh)这个脚本会自动检测你的系统版本并安装适配的Docker版本。安装完成后,建议执行docker --version验证安装是否成功。
2.2 项目文件获取与解压
项目文件托管在网盘,下载链接如下:
- 下载地址: https://www.123865.com/s/Ny6Hjv-xzSRh?pwd=yn9E#
- 提取码:yn9E
下载完成后,执行以下命令解压:
unzip vdi_secure.zip cd vdi_release/source_install/解压后的目录结构应包含:
README.md vdi_secure.zip vdi_release/ vdi_stealth_toolkit/3. 配置详解与实例管理
3.1 单实例配置与启动
首次运行前,建议先清理旧版本(如果存在):
docker rmi uos_vdi_secure然后执行安装脚本:
sudo ./install.sh系统会自动初始化配置目录结构。关键配置文件位于config/目录下,采用隔离设计:
config/ ├── config_0/ # 实例0的独立配置目录 │ ├── credentials.conf # 账号配置 │ └── vnc_password # VNC密码 ├── credentials.conf # 不要直接修改 └── vnc_password # 不要直接修改正确的配置方式是:
- 先运行一次
install.sh生成配置目录 - 然后编辑对应实例的
config_x/credentials.conf
3.2 多实例部署技巧
项目支持同时运行多个独立实例,每个实例对应不同的云电脑账号:
# 启动三个独立实例 sudo ./install.sh 0 # 实例0,端口5900/6080 sudo ./install.sh 1 # 实例1,端口5901/6081 sudo ./install.sh 2 # 实例2,端口5902/6082也可以自定义端口:
# 实例1使用5911(VNC)和6089(NoVNC) sudo ./install.sh 1 5911 6089每个实例的配置会独立存放在config/config_x/目录下,互不干扰。
4. 核心配置参数解析
4.1 账号认证配置
credentials.conf是核心配置文件,主要参数如下:
login_method=password # 固定为密码登录 phone=13800138000 # 云电脑账号(手机号) password=your_password # 云电脑密码 connect_index=0 # 连接第几个云电脑(多桌面时使用) enable_vnc=true # 是否启用VNC服务 enable_novnc=true # 是否启用网页版NoVNC keepalive_method=mouse_move # 保活方式(建议保持默认) conflict_wait_seconds=300 # 被挤下线后重试间隔(秒)4.2 VNC访问安全
默认VNC密码为Aa11@@33,建议修改vnc_password文件增强安全性。VNC服务监听在5900端口(实例0),可通过VNC客户端连接。
网页版NoVNC访问地址:
http://localhost:6080/vnc.html5. 常见问题与解决方案
5.1 连接稳定性问题
症状:云电脑频繁断开连接
排查步骤:
- 检查
conflict_wait_seconds设置是否过短(建议≥300) - 确认网络稳定性,特别是UDP端口是否畅通
- 查看Docker容器日志:
docker logs uos_vdi_secure
5.2 多实例端口冲突
症状:后续实例启动失败
解决方案:
- 确保为每个实例分配唯一端口
- 检查端口是否被占用:
netstat -tuln | grep <端口号> - 必要时修改防火墙规则放行端口
5.3 镜像更新问题
当需要更新VDI客户端时:
- 替换
config/vdi_client.deb文件 - 删除旧镜像:
docker rmi uos_vdi_secure - 重新运行
install.sh
6. 高级使用技巧
6.1 自动化部署方案
对于需要批量部署的场景,可以编写自动化脚本:
#!/bin/bash # 定义账号数组 accounts=( "13800138000:password1" "13800138001:password2" ) # 批量部署 for i in "${!accounts[@]}"; do IFS=':' read -r phone password <<< "${accounts[$i]}" # 创建实例 sudo ./install.sh $i # 配置账号 cat > config/config_$i/credentials.conf <<EOF login_method=password phone=$phone password=$password connect_index=0 enable_vnc=true enable_novnc=true keepalive_method=mouse_move conflict_wait_seconds=300 EOF done6.2 资源监控与告警
建议添加监控确保服务持续运行:
# 监控容器状态的简单脚本 while true; do if ! docker ps | grep -q uos_vdi_secure; then echo "容器异常退出,尝试重启..." | mail -s "云电脑异常" admin@example.com sudo ./install.sh fi sleep 300 done7. 安全注意事项
- 密码安全:定期修改VNC密码,避免使用默认密码
- 网络隔离:建议在防火墙中限制VNC端口的访问IP
- 日志审计:定期检查
docker logs输出,排查异常登录 - 资源占用:监控系统资源使用情况,避免单个主机运行过多实例
我在实际使用中发现,这套方案最稳定的配置是:
- 每个云电脑实例分配至少1核CPU和1GB内存
- 保持Linux系统内核更新到最新稳定版
- 为Docker配置日志轮转,避免日志文件过大
对于需要长期运行的业务场景,建议搭配systemd或supervisor实现服务化管理,确保异常退出后能自动恢复。同时,合理规划实例数量和端口分配,可以最大化利用主机资源。