FitGirl Repack Launcher 完整教程:环境配置、游戏下载与游戏库管理
2026/8/21 19:54:48 网站建设 项目流程

FitGirl Repack Launcher 完整教程:环境配置、游戏下载与游戏库管理

【免费下载链接】Fitgirl-Repack-LauncherAn Electron launcher designed specifically for FitGirl Repacks, utilizing pure vanilla JavaScript, HTML, and CSS for optimal performance and customization项目地址: https://gitcode.com/gh_mirrors/fi/Fitgirl-Repack-Launcher

FitGirl Repack Launcher 是一个基于 Electron 与原生 JavaScript 构建的桌面应用,专门用于浏览和下载 FitGirl Repacks 站点的游戏。它把“官网检索、磁力下载、安装管理、启动游戏”四步流程收拢到一个窗口内完成。适合需要批量下载 repack 游戏的 Windows 用户,也适合作为 Electron 主进程与渲染进程协作的小型实战案例。

它解决什么问题

  • 官网翻页找游戏、手动复制磁力链接
  • 下载完成后要自己翻找安装程序
  • 每次启动游戏都要在目录里找 exe
  • 体积、语言、开发商等信息分散在网页各处

环境要求与快速启动

结论先行:Windows 加 Node.js 即可,四条命令完成部署。

组件最低版本说明
操作系统Windows 10+scraper.js启动时检测平台,Mac/Linux 会提示暂不支持
Node.js16+提供npm,用于安装依赖并拉起 Electron
Electron27.0.4package.json中锁定,npm install自动安装
WebTorrent1.9.7内置种子下载引擎,同样在package.json中声明
磁盘空间4GB+存放依赖与下载文件,游戏本体另计
# 克隆项目源码 git clone https://gitcode.com/gh_mirrors/fi/Fitgirl-Repack-Launcher # 进入项目目录 cd Fitgirl-Repack-Launcher # 安装依赖,耗时 1~2 分钟视网速而定 npm install # 启动应用;后续要运行游戏的话,建议用管理员终端执行 npm start

启动成功的判断标准,按顺序核对以下四点:

  1. 终端先打印Platform: win32,随后输出App is ready to start...
  2. 出现一个 400×400 的加载窗口,短暂显示后关闭
  3. 1280×720 主窗口打开,弹出 “This app is still in development” 信息框,点击Close即可
  4. Home 页出现游戏卡片网格,右上角是搜索框,说明爬虫已成功拉取游戏列表

功能模块拆解

Home 页浏览与搜索

入口:启动后默认进入 Home 页(侧边栏 Home 图标),主区域是游戏卡片网格,右上角搜索框占位符为 “Search For Games”。

启动爬虫把游戏列表写入src/private/temp/games.json后,页面渲染成如下网格:

操作

  1. 点击网格中任意游戏卡片,右侧滑出详情面板
  2. 在搜索框输入关键词,结果随输入实时过滤
  3. 点击详情面板左上角的返回箭头,回到完整列表

提示:搜索是对已抓取的本地列表做过滤,拼错名字不会有结果,建议用英文原名检索。

游戏详情与下载

入口:点击游戏卡片后,详情面板展示 Genres/Tags、Company、Languages、Original Size、Repack Size,底部是紫色Download按钮。

以 RimWorld 为例,面板直接给出原始 960 MB 与 repack 328/498 MB 的对比:

操作

  1. 点击Download按钮,内置 WebTorrent 客户端接管磁力链接开始下载
  2. 进度与速度每 500ms 刷新一次,此时按钮变为Stop Downloading,可随时停
  3. 下载完成按钮变为Install,终端对应输出Done.
  4. 安装流程中通过Choose Install Location对话框选择目标目录

提示:任务中途停止后再点Download,按钮会显示Continue Download断点续传;游戏已入库时按钮直接显示Install

游戏库页面:确认下载状态

入口:侧边栏 Library 图标进入库页,已下载游戏卡片左上角带绿色对勾,个别卡片还会有红色圆形标记。

操作

  1. 切到 Library 页,按卡片对勾判断哪些游戏已下载
  2. 点击卡片打开详情面板,查看已保存的封面与描述
  3. 想把磁盘上已装好的游戏登记进来时,在封面上右键,选择右键菜单中的Add A Game Locally,按提示选择该游戏的 exe 文件

提示:右键菜单还有Add To Favorites选项,收藏功能尚在开发中,点击只会弹出保存确认框,不会产生实际记录。

Start Game 启动游戏

入口:游戏库详情面板底部(点击库中卡片后弹出)是Start Game按钮。

操作

  1. 在 Library 页点击带绿色对勾的游戏卡片
  2. 点击Start Game按钮,应用以记录的 exe 路径拉起游戏进程
  3. 游戏没起来时,右键封面选Add A Game Locally,重新指向正确的 exe 文件登记一次

提示:exe 路径来自src/private/library/locally_installed_games.json,游戏搬家或重装后必须重新登记,终端只打印错误而不会弹窗。

进阶玩法与自定义

🎨 主题配色:改 4 个 CSS 变量

整个界面的颜色收敛在src/public/html/style.css顶部:root块的四个变量里:

:root { --primary-color: rgba(22, 21, 22, 1); --secondary-color: rgba(0, 0, 0, 1); --accent-color: #d3337e; --text-color: #fff; }
  1. 修改变量取值,--accent-color就是按钮与图标的粉紫色
  2. 文件内注释明确写了 Section 1 样式需同步复制到library.csssettings.css,只改style.css会导致子页面侧边栏配色不一致
  3. 保存后重新执行npm start查看效果

下图是修改背景色变量后的渐变效果参考:

📚 源码阅读路线

项目代码量小且无框架,按数据流顺序读四个文件即可串起全貌:

  1. src/public/scripts/scraper.js:用 axios + jsdom 从官网抓取游戏列表与磁力链接,写入src/private/temp/games.json
  2. src/public/main.js:Electron 主进程,创建窗口、持有 WebTorrent 客户端,注册start-torrent/stop-torrent等 IPC 通道
  3. src/public/html/scripts/processingdata.js:Home 页渲染、搜索过滤、Download按钮的四种状态切换
  4. src/public/html/scripts/libraryprocess.js:游戏库页渲染与Start Game的进程拉起逻辑

数据文件:库状态的存储位置

应用运行状态全部落在src/private/library/下的 JSON 文件里,可直接用文本编辑器打开核对:

  • downloaded_games.json:已下载游戏列表,库页绿色对勾的判断依据
  • info_downloaded_games.json:游戏封面、描述等元数据
  • locally_installed_games.json:游戏名到 exe 路径的映射,Start Game的取数来源
  • favorites_games.json:收藏文件,对应功能开发中暂未启用

常见问题排查

1. npm start 后主窗口不出现

  1. 看终端输出:打印Mac/Linux platform detected说明平台不受支持
  2. 检查爬虫环节是否报错,抓取游戏列表需要向 FitGirl 官网发起网络请求
  3. 删除node_modules文件夹后重新执行npm install
  4. 主窗口默认开启 DevTools,打开开发者工具看控制台的具体报错

2. 下载速度低或归零

  1. 看详情里的对端数量,WebTorrent 走 BitTorrent 协议,速度取决于种子源
  2. 对端为 0 或 1 时说明源不足,等待或换时段再下
  3. Stop Downloading停掉其他任务,只留一个下载
  4. 大文件避开 20:00~23:00 的网络高峰时段

3. 下载完成但游戏库里不显示

  1. 核对终端有无该任务的Done.日志,确认下载真的完成
  2. 打开src/private/library/downloaded_games.json,确认游戏名已写入
  3. 对照文件名与抓取到的标题是否完全一致,空格和标点都算
  4. 前三项都正常时重启npm start,库页在加载时读取该文件

4. 关闭窗口后应用仍在后台

  1. 这是设计行为:主窗口的 close 事件被拦截,只隐藏不退出(见src/public/main.js
  2. 在系统托盘找到 FitGirl 图标,右键弹出菜单
  3. Open Fitgirl Repack Launcher恢复窗口
  4. Exit Fitgirl Repack Launcher才能真正退出进程

写在最后

FitGirl Repack Launcher 把“检索、下载、管理、启动”压缩进一个窗口,全文是不依赖任何框架的原生 JavaScript,读起来没有隔阂,也是学 Electron 主进程与渲染进程通信的合格样本。需要留意的是,README 顶部声明项目已停止积极维护,作者推荐其新项目 FIT-LAUNCHER,后续功能不会有更新。

延伸阅读三处源码:

  • src/public/scripts/scraper.js:axios + jsdom 解析官网页面的完整实现
  • src/public/main.js:WebTorrent 下载控制的两个 IPC 通道与窗口生命周期处理
  • src/public/html/scripts/processingdata.jsDownload按钮的状态切换逻辑

下一步建议:先启动应用,用Add A Game Locally登记一个磁盘上已装好的游戏并点Start Game,最短路径跑通从 JSON 到 UI 的完整数据流。

【免费下载链接】Fitgirl-Repack-LauncherAn Electron launcher designed specifically for FitGirl Repacks, utilizing pure vanilla JavaScript, HTML, and CSS for optimal performance and customization项目地址: https://gitcode.com/gh_mirrors/fi/Fitgirl-Repack-Launcher

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询