7260f402d33090677b6bfd51b04609e25cde7b74
- 顶部新增提示横幅:当前账号无 Token 时说明「GitHub 创建仓库接口只认 Token 认证,SSH 私钥只能推已存在的仓库」,并给出「去添加 Token」入口 - 账号表格:「不支持」改为「需 Token」徽章(带悬停说明),推送方式改用 徽章区分(Token·HTTPS / SSH 私钥),自动建库显示 私有/公开 徽章 - 每个 SSH 账号行新增「添加 Token」按钮:一键预填添加表单并聚焦 - 排版优化:表单加字段标签、开关/间隔收进选项框、表格列宽/悬停/操作列对齐 - manifest 1.1.1 → 1.1.2
GiteaHubSync — Gitea → GitHub 镜像同步(飞牛原生应用)
每次推送到飞牛 Gitea(3000 端口)的代码,自动镜像到 GitHub(默认 10 秒一轮,间隔 5 秒 ~ 1 天可在设置页调整;默认 7 个仓库: SMB_Android / DCU_APP / GD32E50X_BOOT / DCU_DesktopController / Motor_v2 / DCU_ECAT_Master / GD32_BOOT, 可任意增减)。
和「Agent 签到助手」一样,是标准的飞牛 .fpk 原生应用:不进 Docker,依赖已安装的
python312 运行时,安装后出现在应用中心已安装列表和桌面启动台,可 启动/停止/重启/卸载,
NAS 重启自动恢复。控制面板带自动同步开关、立即同步、仓库状态、同步日志和
「打开 Gitea(3000 端口)」按钮。
功能特性
- 多 GitHub 账号:设置页可添加多个 GitHub 账号(用户名 + Personal Access Token), 一键切换推送目标;每个账号独立记录同步进度,切回原账号不会重复推送
- 同步间隔可调:设置页可改检查间隔(5 秒 ~ 1 天,默认 10 秒),改完立即生效
- 自动创建仓库:Gitea 上的新仓库加入同步时,若 GitHub 上不存在同名仓库, 自动按账号设置为私有/公开创建(可开关)
- 两种推送方式:配置了 Token 的账号走 HTTPS 推送(通用,任何人都能用自己的 GitHub 账号使用);未配置 Token 的旧账号继续走 SSH 私钥推送
- 真镜像语义:Gitea 删分支/标签,GitHub 同步删
- 推送失败下一轮自动重试;开关关掉后完全停止同步
安装(三选一)
方式一:飞牛网页手动安装(不需要给任何密码)
- 把 NAS 上的
fnos-gitea-sync/GiteaHubSync/GiteaHubSync.fpk下载到电脑 (通过飞牛文件管理/SMB,目录:/vol1/@appshare/fn-deepseek-harness/fnos-gitea-sync/GiteaHubSync/) - 飞牛网页 → 应用中心 → 右上角 手动安装 → 选择该 fpk
- 等待安装完成(依赖 python312 已满足),应用自动启动,约 1 分钟内完成首次同步
方式二:命令行自动安装(和签到系统相同的方式)
cd /vol1/@appshare/fn-deepseek-harness/fnos-gitea-sync
FNOS_HOST=192.168.31.10 FNOS_USER=<管理员账号> FNOS_PASS=<密码> \
/var/apps/nodejs_v24/target/bin/node fnos-install.js
方式三:先用着原生版
在安装应用前,面板已以原生方式在 http://192.168.31.10:8899 运行,功能一致。
安装应用时安装脚本会自动停掉原生版,无缝交接。
安装后
- 桌面图标:「Gitea→GitHub 同步」,点击打开控制面板
- 或直接访问:
http://192.168.31.10:8899 - 应用中心管理:已安装 → GiteaHubSync → 启动/停止/重启/卸载
- 数据目录:
/vol1/@appdata/GiteaHubSync(镜像仓库、状态、日志;卸载应用不丢 GitHub 上的代码)
使用自己的 GitHub 账号(大众用法)
- 打开面板 → ⚙️ 设置 →「添加 / 更新 GitHub 账号」
- 到 github.com/settings/tokens 生成
Tokens (classic),勾选
repo权限 - 填回面板(用户名留空则按 Token 自动识别),点「验证并添加」——添加第一个 Token 账号后会自动切换为当前账号
- 「Gitea 用户名」改成你自己的 Gitea 用户名(面板据此列出可同步的仓库)
- 到 🧩 项目管理 添加要同步的仓库;GitHub 上不存在时会自动创建(默认私有)
Token 只保存在 NAS 本地
accounts.json(权限 600),不上传任何地方; 日志中的 Token 会自动打码。卸载应用不会动 GitHub 上的任何仓库。
重新构建
cd /vol1/@appshare/fn-deepseek-harness/fnos-gitea-sync
./build.sh
说明
- 带 Token 的账号走 HTTPS 推送(任何网络环境可用);无 Token 的旧账号走 SSH 22 端口直连,私钥随应用打包安装在 NAS 本地
- 从 v1.0.0 升级会自动迁移:旧的同步进度归入「默认(SSH 私钥)」账号,行为不变
- 数据文件:
accounts.json(GitHub 账号,含 Token)、settings.json(Gitea 用户名 / 自动创建开关)、repos.json(同步列表)、.last-pushed/<账号>/<仓库>(每个账号的同步进度)
Description
Gitea→GitHub 镜像同步 · 飞牛 fnOS 原生应用(.fpk):Gitea 推送 10 秒内自动镜像到 GitHub 7 个私有仓库,内置控制面板
489 KiB
Languages
Python
86.3%
JavaScript
7.4%
Shell
6.3%