[开源] Fonu - 专为 fnOS 准备的轻量 DDNS + HTTPS 证书 + 反向代理工具

1418 字
7 分钟
[开源] Fonu - 专为 fnOS 准备的轻量 DDNS + HTTPS 证书 + 反向代理工具

最近一直在折腾飞牛 fnOS 的公网访问。平时真正用得比较多的,其实就三件事:DDNSHTTPS 证书反向代理

社区里已有 Lucky 等成熟方案,功能非常强。但对我自己来说,长期打开的也就这几项,很多高级能力基本用不到,整体略重。所以干脆写了一个更轻量的:Fonu——面向 fnOS 公网访问,把「域名 → DDNS → 证书 → 反代 → 内网服务」这条链路尽量做简单。环境变量、端口说明、Compose 示例见 GitHub README;这篇是推广,不是说明书。

O96u
/
Fonu
面向飞牛fnOS的轻量公网访问管理工具
no-license
Go

Fonu 是做什么的#

Fonu 不是「大而全」的网络工具,而是把 NAS 公网访问最常用的几块收进一个 Web 后台:

  • DDNS:IPv4 / IPv6,多域名,Cloudflare、DNSPod、阿里云、腾讯云 DNS
  • HTTPS 证书:ACME 申请与自动续签
  • 反向代理:HTTP / HTTPS、WebSocket,流量统计、当前连接数、访问 / 错误日志
  • 访问保护:IP 白名单 / 黑名单、大陆 IP 限制、Basic Auth、请求限流、连接数限制

一条链路大概是这样:

域名 → DDNS → HTTPS 证书 → 反向代理 → fnOS / MoviePilot / Jellyfin / 青龙 / …

PicHost 一样,都是我自己在 NAS 上长期跑着、顺手开源出来的小工具;Fonu 管公网入口,PicHost 管博客配图。


为什么又写一个反代工具#

估计很多人第一反应是:Lucky 已经很成熟了,为什么还要写?

原因很直白:我自己的需求比较单一——就是 DDNS + 证书 + 反代。Lucky 功能全面,但很多我用不到;Fonu 的方向不是替代 Lucky,而是:

只把飞牛 NAS 公网访问常用的几项单独做好:简单、轻量、配置直观。

需要非常完整、非常高级的网络能力,Lucky 肯定更合适;如果只是给自己的 fnOS 配域名、证书、反代,可以试试 Fonu。


专为 fnOS,独立 Nginx#

Fonu 目前按 飞牛 fnOS 场景开发和测试,我自己也主要在 fnOS 上用。群晖、威联通、自建 Linux 等环境理论上能跑 Docker 就可能能用,但没有专门做过完整测试,现阶段优先推荐 fnOS 用户。

另一个重要设计:Fonu 跑自己独立的一套 Nginx,不会去改飞牛系统自带的 Nginx 配置。

fnOS
├── 飞牛自己的 Nginx
└── Fonu
├── DDNS
├── HTTPS 证书
└── 独立 Nginx → 反向代理

增加一条反代规则,不必动系统 Nginx;两边正常情况下互不干扰。飞牛已占用 80/443 时,Fonu 默认用高位端口(如 18080 / 9443)做反代,管理后台在 :6893


产品展示#

后台基于 Vue 3 + Naive UI,支持浅色 / 深色主题。下面是我自己在 fnOS 上实际在用的界面截图(v0.1.24)。

仪表盘#

公网 IP、域名、证书、服务状态一屏看完;今日请求趋势、实时流量、最近访问与系统日志也集中在这里,偶尔扫一眼就知道有没有异常。

Fonu 仪表盘
Fonu 仪表盘

DDNS#

多服务商、多根域名,解析记录与同步状态一页管理;支持 IPv4 / IPv6,同步间隔可配。

Fonu DDNS
Fonu DDNS

HTTPS 证书#

ACME 申请与自动续签,证书 / 私钥 / ZIP 下载;申请过程有实时日志,快到期会在仪表盘提示。

Fonu 证书管理
Fonu 证书管理

反向代理#

规则列表可看每条服务的运行状态、当前 / 总上下行、连接数;全局汇总卡片一眼看整体流量。

Fonu 反向代理列表
Fonu 反向代理列表

新建规则尽量保持简单:填前端域名、监听端口、目标地址,勾选 HTTPS 和跳转即可。例如 mp.example.com → http://192.168.1.100:3000

Fonu 新增反代规则
Fonu 新增反代规则

点进单条规则,概览页看实时流量曲线和累计统计;日志页 SSE 推送访问记录,服务突然访问异常先在这里排查。

Fonu 反代详情 · 概览
Fonu 反代详情 · 概览

Fonu 反代详情 · 访问日志
Fonu 反代详情 · 访问日志

访问保护#

反代出去的可能是 fnOS 后台、青龙、MoviePilot、qBittorrent、Alist 等管理界面。每条规则可单独配安全策略:大陆 IP 限制、黑白名单、Basic Auth、请求限流、连接数限制、安全响应头等;也有「一键推荐」快捷开启常用组合。Fonu 不打算做成复杂 WAF,而是家庭 NAS 场景里实用、好配、别太重

Fonu 反代安全设置
Fonu 反代安全设置

设置#

外观与时区、DDNS / 证书自动任务、反代可信代理、管理密码、Webhook 通知、ACME 邮箱、配置导出与恢复等。

Fonu 设置
Fonu 设置


想试的话#

现阶段只提供 Docker 部署,暂无 fnOS 原生 .fpk;Host 网络模式在飞牛上最省事:

Terminal window
docker run -d \
--name fonu \
--network host \
-v ./data:/data \
--restart unless-stopped \
muxui/fonu:latest

数据统一在 /data务必挂载 volume,更新容器配置才不会丢。启动后看日志拿 admin 初始密码,访问 http://<主机IP>:6893/login 登录,进设置立刻改密码。

镜像:hub.docker.com/r/muxui/fonu · 源码:github.com/O96u/Fonu(GPL-3.0)


当前状态#

Fonu 还在持续开发,功能和 UI 会继续调整。目前主要是我自己 fnOS 环境在用,也欢迎更多飞牛用户帮忙测:DDNS、IPv4/IPv6、证书续签、WebSocket、Jellyfin / MoviePilot / 青龙 / 各类 Docker Web 服务,以及不同网络环境。遇到 Bug 或功能建议,直接去 GitHub 提 Issue。


写在最后#

公网访问这件事,对我来说不需要一个「全能网络中枢」,只需要把域名、证书、反代三件事做得顺手、别跟系统 Nginx 打架。Fonu 就是按这个思路写的;若你也在 fnOS 上折腾同类需求,去 GitHub 点个 Star,有问题欢迎 Issue 或评论区聊。

文章分享

如果这篇文章对你有帮助,欢迎分享给更多人!

[开源] Fonu - 专为 fnOS 准备的轻量 DDNS + HTTPS 证书 + 反向代理工具
https://muxui.com/posts/fonu-fnos-ddns-https-reverse-proxy/
作者
Muxui
发布于
2026-09-15
许可协议
CC BY-NC-SA 4.0

评论区

Profile Image of the Author
Muxui
写代码、记笔记,把折腾过的东西留给未来的自己。
公告
欢迎来到我的博客!这是一则示例公告。
统计
分类
标签
站点统计
文章
23
分类
3
标签
28
总字数
55,972
运行时长
0
天气预报
定位中...
----
高温 --°C / 低温 --°C
站点信息
构建平台
GitHub Actions
博客版本
Firefly v6.16.6
文章许可
CC BY-NC-SA 4.0