FlashManager 是一款本地 Flash 游戏库管理工具,专门用来整理、搜索、分类和运行本机 .swf 游戏。它内置 Ruffle 播放器,不需要安装 Adobe Flash Player;游戏文件、封面和元数据都保存在本地,适合做成免安装文件夹后压缩分享。
本地管理、本地运行、本地保存。把零散的 SWF 游戏收进一个干净、可搜索、可分类的桌面工具里。
- 导入
.swf文件,并按 SHA-256 自动去重。 - 将游戏复制到本地库目录,避免原始文件移动后失效。
- 使用 Ruffle Web/WASM 在应用内运行 SWF。
- 自动生成本地封面,支持手动选择 PNG/JPG/WEBP 封面。
- 本地搜索标题、标签、分类、备注和原文件名。
- 支持分类、标签、收藏、备注、游玩次数和最近游玩时间。
- 播放器会读取 SWF 舞台尺寸,尽量按原始比例显示横版和竖版游戏。
- 支持生成免安装 Windows 文件夹,方便压缩后分享。
- Electron
- Vite
- React
- TypeScript
- Fuse.js
- Ruffle
- electron-builder
需要 Windows 和 Node.js。PowerShell 中建议使用 npm.cmd,避免脚本别名或执行策略造成干扰。
npm.cmd install
npm.cmd run dev安装依赖后,postinstall 会把 @ruffle-rs/ruffle 的 Web 资源复制到 public/ruffle/。该目录是生成产物,不提交到 Git。
npm.cmd run build生成 Electron 解包目录:
npm.cmd run package:win生成根目录快速启动版和 release/FlashManager-ReadyToRun.zip:
npm.cmd run package:fast生成适合直接发给朋友的 D:\Alaboratory\flashmanager.zip:
npm.cmd run package:share分享时请发送完整压缩包或完整文件夹,不要只发送单独的 FlashManager.exe。
默认库目录位于应用所在目录下:
library/
games/ # 导入后的 SWF
covers/ # 封面文件
db.json # 游戏元数据
config.json # 本地配置
library/ 保存用户个人数据和游戏文件,不应该提交到 GitHub。
electron/ Electron 主进程和 preload
src/ React 前端
scripts/ Ruffle 复制和打包脚本
public/ 静态资源入口
docs/ 开发文档
开发和维护说明见 docs/DEVELOPMENT.md。
Flash 运行依赖 Ruffle。部分复杂 AS3 游戏、依赖外部资源的 SWF 或 Ruffle 尚未完整支持的游戏,可能无法完美运行。
本仓库只包含 FlashManager 程序源码。请不要把第三方 SWF 游戏、封面图片或个人游戏库提交到仓库,除非你确认自己拥有分享权利。
