GoForum › 🌐 V2EX

[开源] Fonu:专为 fnOS 准备的轻量反向代理工具

muxui · 2026-09-22 09:53 · 0 次点赞 · 0 条回复

最近一直在折腾飞牛 fnOS 。

NAS 上跑的服务越来越多之后,我发现公网访问这件事其实挺碎的:

  • 域名要做 DDNS
  • 服务要配 Nginx 反代
  • HTTPS 要申请和续期证书
  • 没公网 IP 的时候还得折腾 FRP
  • 出问题之后又要去翻各种日志

这些东西单独拿出来其实都不复杂,但来回切几个工具、改配置文件,时间长了还是有点烦。

于是自己写了一个小工具:Fonu。

目前主要是针对 飞牛 fnOS 开发和测试的,目标比较简单:

尽量在一个 Web 页面里,把 NAS 公网访问相关的事情都处理掉。

目前已经有:

  • Nginx 反向代理管理

  • DDNS

    • Cloudflare
    • DNSPod
    • 阿里云
    • 腾讯云
    • 火山引擎
  • Let’s Encrypt HTTPS 证书自动申请 / 续期

  • FRP 内网穿透

  • 公网 IP / 域名 / 证书 / 服务状态仪表盘

  • Nginx 访问日志、错误日志

  • 请求量和流量统计

  • 邮件 / Webhook / Telegram 通知

  • 配置备份和恢复

  • 深色模式

产品预览

仪表盘
仪表盘
DDNS
DDNS
HTTPS 证书
HTTPS 证书
HTTPS 证书 · 申请向导
证书申请
反向代理
反向代理
反向代理 · 规则详情
反向代理规则详情
反向代理 · 规则配置
反向代理规则配置
反向代理 · 安全设置
反向代理安全设置
反向代理 · Nginx 配置
反向代理 Nginx 配置
日志中心
日志中心
内网穿透 · Web 网关
内网穿透 Web 网关
内网穿透 · TCP 转发
内网穿透 TCP 转发
系统设置
系统设置
系统设置 · 高级
系统设置高级

技术栈

层级 技术
后端 Go 1.23 、标准库 HTTP 、SQLite ( modernc.org/sqlite )
反向代理 内置 Nginx (动态生成配置、热重载)
证书 go-acme/lego ( Let’s Encrypt )
DDNS Cloudflare / DNSPod / 阿里云 / 腾讯云 / 火山引擎 DNS API
内网穿透 内置 frpc ( v0.71.x ); Web 网关穿透 Fonu Nginx ,另支持 TCP 远程端口映射
前端 Vue 3 、TypeScript 、Vite 、Naive UI 、ECharts
部署 Docker 多架构镜像( amd64 / arm64 )、GitHub Actions CI

部署

docker run -d \
  --name fonu \
  --net=host \
  -v ./data:/data \
  --restart unless-stopped \
  muxui/fonu:latest

然后访问:

http://NAS-IP:6893

因为飞牛本身会占用 80⁄443 ,所以针对 fnOS 默认使用高位端口做反代,避免直接和系统 Nginx 打架。

关于没有公网 IP

这个也是我自己比较想解决的一个场景。

Fonu 现在内置了 frpc ,可以配合一台有公网 IP 的 VPS 跑 frps:

用户
 ↓
DNS
 ↓
VPS / frps
 ↓
NAS / frpc
 ↓
Fonu Nginx
 ↓
内网服务

也就是说即使家里没有公网 IPv4 ,域名、HTTPS 、反代规则、访问日志这些还是统一在 Fonu 里面管理。

GitHub:

https://github.com/O96u/Fonu

0 条回复
添加回复
你还需要 登录 后发表回复

登录后可发帖和回复

登录 注册
主题信息
作者: muxui
发布: 2026-09-22
点赞: 0
回复: 0