首页
/ 如何在无网络环境下享受Zwift训练?Zwift Offline全攻略:本地骑行与幽灵比赛指南

如何在无网络环境下享受Zwift训练?Zwift Offline全攻略:本地骑行与幽灵比赛指南

2026-02-06 05:20:42作者:庞眉杨Will

🚴‍♂️ 还在为网络不稳定影响Zwift训练而烦恼?Zwift Offline让你彻底摆脱网络依赖,在本地环境中安全存储骑行数据,甚至能与自己的历史骑行记录(幽灵)进行比赛!本文将带你一步步搭建专属的离线训练系统,无需复杂技术背景,轻松开启无网络骑行之旅。

一、为什么选择Zwift Offline?三大核心价值

1. 完全离线运行,不受网络限制

无论是山区训练还是网络故障,Zwift Offline都能让你随时启动骑行 session,数据直接存储在本地硬盘,无需担心云端同步问题。

2. 本地数据安全存储

所有骑行记录、训练计划和个人设置均保存在你的设备中,无需担心隐私泄露或数据丢失,彻底掌控自己的运动数据。

3. 幽灵比赛功能,挑战过去的自己

系统会自动记录你的最佳骑行表现,生成"幽灵"对手。每次训练都能与过去的自己实时竞赛,让单人训练不再枯燥💪

二、快速上手:两种安装方案任选

🚀 新手一键安装(Windows专用)

  1. 下载最新版Zwift Offline独立安装包
  2. 双击运行zoffline.exe,程序会自动创建storage目录存储数据
  3. 等待启动完成(首次启动可能需要1-2分钟)
  4. 保持Zwift Offline后台运行,正常启动Zwift客户端即可连接

💻 进阶部署方案(全平台支持)

方案A:源码安装(适合有编程基础用户)

# 1. 克隆项目代码库
git clone https://gitcode.com/gh_mirrors/zw/zwift-offline

# 2. 进入项目目录
cd zwift-offline

# 3. 安装依赖(需要先安装Python 3)
pip3 install -r requirements.txt

# 4. 启动服务
python3 standalone.py

方案B:Docker容器部署(推荐服务器/多设备用户)

# 1. 创建并启动容器(首次运行会自动下载镜像)
docker create --name zwift-offline -p 443:443 -p 80:80 -p 3024:3024/udp -p 3025:3025 -p 53:53/udp -v ./storage:/usr/src/app/zwift-offline/storage -e TZ=Asia/Shanghai zoffline/zoffline

# 2. 启动容器
docker start zwift-offline

# 3. 查看运行状态(可选)
docker ps | grep zwift-offline

三、核心配置:四步完成客户端设置

🔧 流程图解配置步骤

下载证书 → 导入系统信任 → 修改Zwift证书 → 配置本地DNS

1. 证书准备(所有系统通用)

从项目的ssl目录中找到以下两个文件:

  • cert-zwift-com.p12(Windows系统使用)
  • cert-zwift-com.pem(macOS/Linux系统使用)

2. 导入根证书

Windows系统:

# 以管理员身份打开命令提示符,执行以下命令
certutil -importpfx Root cert-zwift-com.p12
# 提示输入密码时直接按回车(无密码)

macOS系统:

  1. 双击cert-zwift-com.pem文件
  2. 在钥匙串访问中选择"系统"→"添加"
  3. 右键点击导入的证书→"显示简介"→"信任"→"始终信任"

3. 修改Zwift客户端证书

找到Zwift安装目录下的data/cacert.pem文件,将cert-zwift-com.pem的内容追加到文件末尾:

# Windows示例路径
C:\Program Files (x86)\Zwift\data\cacert.pem

# macOS示例路径
/Applications/Zwift.app/Contents/Resources/data/cacert.pem

4. 配置本地DNS(关键步骤)

编辑系统hosts文件,添加以下内容(需替换<zoffline ip>为你的服务器IP):

<zoffline ip> us-or-rly101.zwift.com secure.zwift.com cdn.zwift.com launcher.zwift.com

⚠️ 本地单机使用:将<zoffline ip>替换为127.0.0.1
⚠️ 局域网共享:替换为运行Zwift Offline的电脑IP地址

四、进阶玩法:解锁更多训练可能性

1. 幽灵比赛设置指南

  1. 在Zwift客户端创建新的骑行活动
  2. 选择"骑行"→"自由骑行"
  3. 在路线选择界面,点击右上角"幽灵"图标
  4. 选择要挑战的历史记录(按日期和路线筛选)
  5. 开始骑行后,屏幕上会显示幽灵对手(半透明骑行者)

2. 训练数据管理

所有训练数据保存在storage目录下,可通过以下方式管理:

  • 备份:定期复制storage文件夹到外部存储
  • 清理:删除storage/activities下的旧记录文件
  • 导出:使用第三方工具(如GoldenCheetah)导入.fit格式文件分析

3. 多人模式设置(局域网内)

  1. 确保所有设备连接同一网络
  2. 所有设备的hosts文件指向同一Zwift Offline服务器IP
  3. 在服务器上启动discord_bot.py(可选,用于房间管理)
  4. 所有用户使用相同版本的Zwift客户端

五、常见问题解决:新手必看

🚨 证书错误:"无法验证服务器身份"

  • 原因:根证书未正确导入或信任
  • 解决:重新执行证书导入步骤,确保选择"始终信任"选项
  • 验证:在浏览器中访问https://secure.zwift.com,应显示证书正常

🚫 端口冲突:"Address already in use"

  • 原因:443/80端口被其他程序占用(如IIS、Apache)
  • 解决:关闭占用端口的程序,或修改Docker映射端口:
    # 示例:修改Docker端口映射(使用未占用端口)
    docker create --name zwift-offline -p 8443:443 -p 8080:80 ...
    

🔄 连接失败:Zwift卡在"正在连接"

  • 检查1:确认Zwift Offline服务正在运行
  • 检查2:hosts文件配置正确,可通过ping secure.zwift.com验证
  • 检查3:防火墙未阻止Zwift和Zwift Offline的网络连接

⏳ 幽灵不显示:历史记录无法加载

  • 解决:确保至少完成过一次离线骑行,系统需要生成历史数据才能创建幽灵
  • 路径:检查storage/activities目录是否有.fit文件生成

六、开始你的离线骑行之旅!

现在,你已经拥有了一套完全独立的Zwift训练系统!无论是雨天室内训练,还是偏远地区的无网络环境,都能随时享受Zwift的沉浸式骑行体验。

立即行动:下载Zwift Offline,今天就挑战你的第一个幽灵记录!如有任何使用心得或问题,欢迎在社区分享交流,让我们一起完善这个优秀的开源项目🚴‍♀️💨

提示:定期访问项目仓库获取更新,开发者会持续修复bug并添加新功能哦!

登录后查看全文
热门项目推荐
相关项目推荐