致各位开发者和飞牛 NAS 爱好者:
作为飞牛 NAS (FNOS) 的忠实用户,我们都深知官方应用商店为了保障广大用户的系统稳定与安全,制定了严格且必要的上架规范。这是 FNOS 能够提供流畅、安心体验的基石,值得我们每一位用户尊重。
但在社区交流中,我也关注到:有不少开发者打造的“极客向”工具或实验性作品,因为受限于权限或特定场景需求,不适合在官方商店上架。这些“遗珠”无法方便地分发给有需要的用户,不仅是开发者的遗憾,也是社区的损失。
为了填补这一空白,我开发了FnDepot这样一个第三方的应用商店项目。
项目的初衷非常简单:作为官方商店的有益补充,专门收录那些灵活性更强、更适合极客玩家的应用。届时,FnDepot 将与官方商店形成互补,相信在大家的共同努力下,飞牛 NAS 的可玩性和生态丰富度将更上一个台阶!
目前项目已进入测试阶段,诚邀各位开发者大佬协助测试! 您只需建立一个标准的 GitHub 仓库,即可参与构建这个开放的生态。
顺便放两张图展示下:


⚠️ 免责声明(参与必读)
在用户决定使用本项目或开发者决定参与开发之前,请务必知悉:
- 非官方性质:FnDepot 是纯粹的社区第三方项目,与飞牛 NAS (FNOS) 官方团队无任何关联。
- 风险自负:第三方应用可能涉及系统底层权限或非标操作。FnDepot 开发者及 飞牛FNOS 官方不对任何因使用本商店应用导致的数据丢失、系统故障或硬件损坏承担责任。
- 门槛提示:参与测试的开发者和用户,请务必确保您具备一定的数据备份习惯和故障排查能力。如果您对 Linux 系统或 NAS 运维不熟悉,建议暂时不要在生产环境中使用。
- 对开发者的重要声明:本人强烈建议项目开源但不强制要求开源。届时,还请开发者们本着良心进行开发,切勿留下后门或恶意程序。如果您的项目允许,请直接参与加入官方渠道开发,共同丰富官方渠道生态。
👉 参与方式:三步接入
为了保证客户端能准确识别您的作品,请务必遵守以下**硬性规范**。
第一步:建立“仓库” (仓库规范)
- 平台:仅支持 GitHub。
- 命名:仓库名称**必须**为
FnDepot(这是客户端识别的唯一信标,大小写敏感)。
- 权限:必须是 Public (公开) 仓库。
✅ 正确示例:https://github.com/您的用户名/FnDepot
第二步:构建结构 (目录规范)
请确保仓库的文件结构严格遵守以下标准,我们将**文件夹名称**直接作为应用的唯一标识(即 appname)。
标准目录树
FnDepot/ # 仓库根目录
**
**── fnpack.json # [核心] 唯一的索引文件,必须在根目录
**
**── mytool/ # [应用A] 文件夹 (全小写,作为 appname)
** **── ICON.PNG # [必需] 图标 (必须全大写)
** **── mytool.fpk # [必需] 安装包 (必须是 appname.fpk)
** **── README.md # [可选] 说明文档
** **── Preview/ # [可选] 预览图文件夹
**
**── another-app/ # [应用B] 文件夹
**── ICON.PNG
**── another-app.fpk
关键文件要求
appname (文件夹名):仅限**小写字母、数字、连字符**。
ICON.PNG:文件名必须**全大写**,格式为 PNG (推荐 256x256)。
.fpk 安装包:文件名必须是 {appname}.fpk,且与文件夹名严格一致。
第三步:编写索引 (数据规范)
在根目录创建 fnpack.json 文件。这是商店读取应用信息的来源。
📋 空白模板(复制即用)
您可以直接复制下方模板,修改app名称并填充内容:
{
"your-app-name": {
"display_name": "",
"desc": "",
"labels": "",
"version": "1.0.0",
"author": "",
"author_url": "",
"bug_report_url": "",
"install_type": "存储空间",
"size": "",
"history": {
"v1.0.0": "初始版本"
}
}
}
JSON 字段速查
| 字段 |
说明 |
填写规范 |
| Key (最外层) |
应用唯一ID |
必须与文件夹名 (appname) 完全一致 |
display_name |
显示名称 |
如 "飞牛助手" |
version |
版本号 |
如 "1.0.0" |
desc |
介绍 |
支持换行符号换行 |
labels |
标签 |
英文逗号分隔,如 "工具,Docker" |
install_type |
安装位置 |
填 "系统空间" 或 "存储空间" |
size |
大小 (MB) |
仅填数字,如 "15" |
history |
更新日志 |
对象格式,键为版本号,值为内容 |
📝 “抄作业”区:完整配置示例
为了方便大家参考,这里提供一个包含两个应用fntermx 和 fndesk(fndesk由**米恋泥**大佬开发,已获得示例许可)的完整 fnpack.json 示例:
{
"fntermx": {
"display_name": "FntermX 终端",
"desc": "专为飞牛 NAS 打造的现代化 Web 终端\n支持 SSH 和主题切换",
"labels": "工具,终端,SSH",
"version": "1.0.8",
"author": "EWEDL",
"author_url": "https://github.com/EWEDLCM",
"bug_report_url": "https://github.com/EWEDLCM/FntermX/issues",
"install_type": "系统空间",
"size": "15",
"history": {
"v1.0.8": "修复已知体验问题",
"v1.0.0": "首发版本"
}
},
"fndesk": {
"display_name": "fndesk",
"desc": "飞牛美化工具",
"labels": "工具,美化",
"version": "0.8.5",
"author": "IMGZCQ",
"author_url": "https://github.com/IMGZCQ",
"bug_report_url": "https://github.com/IMGZCQ/issues",
"install_type": "存储空间",
"size": "8",
"history": {
"0.8.5": "更新内容"
}
}
}
最后,提交上线至Github即可
🤝 共建社区生态
如果您也希望能为飞牛 NAS 的生态贡献一份力量,欢迎加入测试!
请在建立好仓库后,在评论区或私信我留下您的 GitHub 仓库地址。我会第一时间进行测试,确保您的作品能顺利被 FnDepot 识别。
如果接下来这段时间的测试没有问题,我们会将项目打包并放出FnDepot商店的安装包!
感谢每一位开发者的付出,让我们一起让飞牛 NAS 变得更好玩、更强大!