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

muxui 2026-09-22 09:51 1

最近一直在折腾飞牛 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)
    没有回复
* 帖子来源V2EX
返回