git如何通过fn connect访问NAS机上的git服务器
背景
最近fnos开放了fn connect访问docker服务的功能,所以我突发奇想部署了一个gitea服务,在浏览器中倒是可以正常浏览仓库啥的,直到我执行了一条 git clone xxxx.git,突然报错403,后面顺藤摸瓜发现,fn connect必须在fnos登录后才能访问其他docker服务,但是我用的git命令啊,git命令如何登录fnos呢?
解决方案
还好我本身也是一名搬了非常多年砖的码农,经过九九八十一难和DeepSeek老师的细心指导后得出了解决方案,就是先去浏览器登录fnos桌面,然后获取token,最后让git带上扩展cookie。
git -c http.extraHeader="Cookie: entry-token=xxxx" clone https://xx.git
然后我就成功了!!!
但是呢,这么搞太麻烦了,如果我想让朋友品尝一下我的屎山代码,人家肯定不愿意这么操作。
于是乎,我不得不去开发一个项目来解决这个事情,于是我开放并开源了 fnos-git-auth项目,该项目就是专门解决这个问题的,由于官方没有开放这个接口,所以我里面用到的接口都是抓包出来的。
fnos-git-auth
fnOS Git 认证工具 - 自动配置 git extraHeader 实现通过 fn connect 服务免密访问 fnOS NAS 上的 Git 仓库。
项目地址:
donnel666/fnos-git-auth
功能特性
- 🔐 WebSocket 加密认证登录 fnOS
- 🔑 自动获取并配置 entry-token
- 🔄 智能自动刷新 - 通过 Git Hooks 在 push 前自动刷新 token
- 💾 默认保存凭据实现完全无感使用
- 🌐 支持子域名通配符配置
- 🖥️ 跨平台支持 (Linux/Windows/macOS)
免责申明
如果官方让我删除,我可以直接删除开源项目。