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.js | 16+ | 提供npm,用于安装依赖并拉起 Electron |
| Electron | 27.0.4 | package.json中锁定,npm install自动安装 |
| WebTorrent | 1.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启动成功的判断标准,按顺序核对以下四点:
- 终端先打印
Platform: win32,随后输出App is ready to start... - 出现一个 400×400 的加载窗口,短暂显示后关闭
- 1280×720 主窗口打开,弹出 “This app is still in development” 信息框,点击
Close即可 - Home 页出现游戏卡片网格,右上角是搜索框,说明爬虫已成功拉取游戏列表
功能模块拆解
Home 页浏览与搜索
入口:启动后默认进入 Home 页(侧边栏 Home 图标),主区域是游戏卡片网格,右上角搜索框占位符为 “Search For Games”。
启动爬虫把游戏列表写入src/private/temp/games.json后,页面渲染成如下网格:
操作:
- 点击网格中任意游戏卡片,右侧滑出详情面板
- 在搜索框输入关键词,结果随输入实时过滤
- 点击详情面板左上角的返回箭头,回到完整列表
提示:搜索是对已抓取的本地列表做过滤,拼错名字不会有结果,建议用英文原名检索。
游戏详情与下载
入口:点击游戏卡片后,详情面板展示 Genres/Tags、Company、Languages、Original Size、Repack Size,底部是紫色Download按钮。
以 RimWorld 为例,面板直接给出原始 960 MB 与 repack 328/498 MB 的对比:
操作:
- 点击
Download按钮,内置 WebTorrent 客户端接管磁力链接开始下载 - 进度与速度每 500ms 刷新一次,此时按钮变为
Stop Downloading,可随时停 - 下载完成按钮变为
Install,终端对应输出Done. - 安装流程中通过
Choose Install Location对话框选择目标目录
提示:任务中途停止后再点Download,按钮会显示Continue Download断点续传;游戏已入库时按钮直接显示Install。
游戏库页面:确认下载状态
入口:侧边栏 Library 图标进入库页,已下载游戏卡片左上角带绿色对勾,个别卡片还会有红色圆形标记。
操作:
- 切到 Library 页,按卡片对勾判断哪些游戏已下载
- 点击卡片打开详情面板,查看已保存的封面与描述
- 想把磁盘上已装好的游戏登记进来时,在封面上右键,选择右键菜单中的
Add A Game Locally,按提示选择该游戏的 exe 文件
提示:右键菜单还有Add To Favorites选项,收藏功能尚在开发中,点击只会弹出保存确认框,不会产生实际记录。
Start Game 启动游戏
入口:游戏库详情面板底部(点击库中卡片后弹出)是Start Game按钮。
操作:
- 在 Library 页点击带绿色对勾的游戏卡片
- 点击
Start Game按钮,应用以记录的 exe 路径拉起游戏进程 - 游戏没起来时,右键封面选
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; }- 修改变量取值,
--accent-color就是按钮与图标的粉紫色 - 文件内注释明确写了 Section 1 样式需同步复制到
library.css与settings.css,只改style.css会导致子页面侧边栏配色不一致 - 保存后重新执行
npm start查看效果
下图是修改背景色变量后的渐变效果参考:
📚 源码阅读路线
项目代码量小且无框架,按数据流顺序读四个文件即可串起全貌:
src/public/scripts/scraper.js:用 axios + jsdom 从官网抓取游戏列表与磁力链接,写入src/private/temp/games.jsonsrc/public/main.js:Electron 主进程,创建窗口、持有 WebTorrent 客户端,注册start-torrent/stop-torrent等 IPC 通道src/public/html/scripts/processingdata.js:Home 页渲染、搜索过滤、Download按钮的四种状态切换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 后主窗口不出现
- 看终端输出:打印
Mac/Linux platform detected说明平台不受支持 - 检查爬虫环节是否报错,抓取游戏列表需要向 FitGirl 官网发起网络请求
- 删除
node_modules文件夹后重新执行npm install - 主窗口默认开启 DevTools,打开开发者工具看控制台的具体报错
2. 下载速度低或归零
- 看详情里的对端数量,WebTorrent 走 BitTorrent 协议,速度取决于种子源
- 对端为 0 或 1 时说明源不足,等待或换时段再下
- 用
Stop Downloading停掉其他任务,只留一个下载 - 大文件避开 20:00~23:00 的网络高峰时段
3. 下载完成但游戏库里不显示
- 核对终端有无该任务的
Done.日志,确认下载真的完成 - 打开
src/private/library/downloaded_games.json,确认游戏名已写入 - 对照文件名与抓取到的标题是否完全一致,空格和标点都算
- 前三项都正常时重启
npm start,库页在加载时读取该文件
4. 关闭窗口后应用仍在后台
- 这是设计行为:主窗口的 close 事件被拦截,只隐藏不退出(见
src/public/main.js) - 在系统托盘找到 FitGirl 图标,右键弹出菜单
- 选
Open Fitgirl Repack Launcher恢复窗口 - 选
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.js:Download按钮的状态切换逻辑
下一步建议:先启动应用,用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),仅供参考