fnOS 上的 WireGuard 可视化管理工具,支持一键生成服务端、批量生成客户端、二维码扫码导入
大家好,分享一个我做的 WireGuard for fnOS。
支持架构:
由于目前 fnOS 应用还没有足够的系统权限直接操作 root 级网络能力,所以现在发布的是 Docker 版本。也就是说:
- 页面是可视化管理
- 实际运行使用 Docker 方式
- 用户不需要自己手写 Docker 命令
- 只需要离线安装应用,按照页面提示操作即可
飞牛原生版其实已经做出来了,但因为当前权限限制,暂时还不能真正驱动 WireGuard 运行,所以目前更推荐使用 Docker 版本。
软件下载地址:
https://wwbsm.lanzoub.com/b035otd9kf
密码:cqt0
这个应用适合谁
这个应用比较适合:
- 想在外网访问家里飞牛的人
- 想让手机、平板、笔记本安全回家的人
- 不想一直手改
.conf 配置文件的人
- 想在 fnOS 上集中管理客户端节点的人
- 想尽量少折腾命令行的人
当前版本能做什么
目前主要支持这些能力:
1. 接口配置管理
可以在页面里直接配置:
- 接口名称
- 监听端口
- 接口地址
- DNS
- MTU
- 路由表
- 服务端私钥 / 公钥
- Hook 字段
- 保存接口配置
- 应用到运行时
2. 节点管理
可以直接管理客户端节点:
- 新建节点
- 编辑节点
- 删除节点
- 生成客户端密钥
- 生成预共享密钥
- 保存节点
- 保存并同步
- 导出此节点
- 查看节点二维码
3. 一键新增服务端配置
现在支持:
这个功能不是只生成一段草稿,而是会自动补齐并保存一套完整可用的服务端基础配置,包括:
适合第一次使用 WireGuard、又不想自己从零手填参数的用户。
注意:
如果你希望当前运行中的 WireGuard 立即使用这份配置,还需要继续点击:
4. 批量生成客户端配置
现在支持:
用户只需要填写数量,例如:
系统会自动生成客户端节点,并补齐客户端配置所需要的关键内容,例如:
- 客户端私钥
- 客户端公钥
- 预共享密钥
- 客户端地址
- 导出所需关键字段
并且生成后的节点可以继续:
注意:
- 这次批量生成已经不是“只生成节点壳子”的半成品逻辑
- 当前版本会尽量保证生成出的节点是可直接导出、可直接扫码、可直接给客户端使用的
- 如果前置条件不足,系统会明确阻止并提示你缺什么,不再生成误导性的半成品节点
5. 节点二维码
现在每个节点都支持:
点击后可以直接生成该节点当前客户端配置对应的二维码,方便用手机上的官方 WireGuard App 直接扫码导入。
支持:
- 查看二维码
- 查看配置文本
- 复制客户端配置文本
- 下载二维码图片
而且二维码内容是直接复用客户端导出主链生成的,所以:
三者是一致的,不会出现“二维码是一套、导出又是另一套”的问题。
6. 配置导入 / 导出
支持:
- 导入 WireGuard / wg-quick 配置
- 预览导入变更
- 应用导入
- 导出完整服务端配置
- 导出单个客户端配置
- 客户端配置预览
- 下载配置
- 复制配置
注意:
- 导入的是服务端可解析字段
- 并不是完整恢复所有客户端管理元数据
- 所以导入成功,不等于客户端配置一定已经完整可导出
- 如果缺少客户端私钥、客户端地址或客户端路由,页面会明确提示你继续补齐
7. 运行状态查看
可以查看:
- 接口是否存在
- 已保存节点数
- 已加载到运行时节点数
- 最近握手情况
- 收发流量
- 当前配置与运行时是否一致
- 最近一次应用结果
- 运行依赖缺失提示
这个应用的优点
优点 1:可视化
很多人不是不会用 WireGuard,而是不想一遍遍改配置文件。这个工具把常见操作做成了页面。
优点 2:适合小白
服务端配置、节点、公钥、私钥、客户端配置、二维码扫码,都尽量做成按钮式,不用自己硬拼配置。
优点 3:适合家庭远程访问
最常见的场景就是:
- 手机在 4G/5G 下
- 通过 WireGuard 连接回家
- 再访问 fnOS、NAS、路由器、内网服务
优点 4:支持批量生成
如果你有多台手机、平板、笔记本,不需要一个个手写配置,直接批量生成更省事。
优点 5:支持二维码扫码导入
对于手机用户特别方便,直接扫码即可导入到官方 WireGuard App。
优点 6:支持导入已有配置继续管理
如果你之前已经有一套 WireGuard 配置,也可以导入后继续在页面里管理。
适合哪些人
这个应用比较适合:
- 已经在用 fnOS 的用户
- 想远程访问家里飞牛的人
- 想让手机/电脑接入家庭内网的人
- 想可视化管理 WireGuard 的用户
当前版本说明
当前版本更偏向:
- Docker 版运行
- 管理界面可视化
- 方便配置、生成、导出和扫码导入
如果你是要稳定运行 WireGuard 服务端,当前更推荐 Docker 版,因为这类网络功能对系统权限和运行环境要求比较高。
小白教程:一步一步教你正确使用
下面按“让手机访问家里的 fnOS”为例。
一、准备工作
你至少需要准备这几样:
1. 一台 fnOS 设备
例如你的飞牛主机内网地址是:
2. 路由器支持端口转发
如果你的 fnOS 在路由器后面,需要做 UDP 端口转发。
3. 一个公网 IP 或 DDNS 域名
例如:
114.234.235.72
- 或
yourhome.example.com
4. 手机安装官方 WireGuard App
iPhone 和 Android 都有官方客户端。
二、安装应用
在 fnOS 上安装这个 WireGuard 应用后,打开应用页面。
三、最推荐的小白用法:先一键新增服务端配置
如果你不是高级玩家,最推荐直接从这个按钮开始:
点击后,系统会自动补齐并保存服务端基础配置,例如:
这一步做完后,你已经有了一套完整可继续使用的服务端基础配置。
接下来要做什么?
如果你希望当前运行中的 WireGuard 立刻启用这份配置,还需要继续点:
推荐顺序:
一键新增服务端配置
应用到运行时
四、如果你想手动配置服务端,也可以这样填
在“接口配置”里,建议这样填:
基础参数
- 接口名称:
wg0
- 监听端口:
51820
- 如果你的路由器或别的设备已经用了
51820,就换成 51821
- 接口地址:
10.66.66.1/24
密钥
其它字段
- DNS:可先留空
- MTU:可先留空或填
1420
- 路由表:先留空
- Hook:先全部留空
然后按顺序点:
保存接口配置
应用到运行时
五、填写公网地址
如果你希望客户端导出时自动带上服务端地址,需要在应用设置 / 安装设置里填写:
- 公网地址:你的公网 IP 或域名
- 例如:
114.234.235.72
注意:
- 不要写
http://
- 不要写
https://
- 只写 IP 或域名本身
六、路由器做端口转发
如果 fnOS 在家用路由器后面,这一步非常关键。
例如你的 fnOS 是:
WireGuard 端口如果是:
那你要在路由器里新增一条端口转发:
- 协议:
UDP
- 外部端口:
51820
- 内部 IP:
192.168.100.100
- 内部端口:
51820
如果你用的是 51821,就把外部端口和内部端口都改成 51821。
七、生成客户端:推荐直接用“批量生成客户端配置”
现在最省事的方式不是手工一个个建节点,而是:
例如你要生成 1 个手机客户端配置,就填:
然后点:
系统会自动帮你生成:
- 客户端私钥
- 客户端公钥
- 预共享密钥
- 客户端地址
- 导出所需关键字段
重要提醒
如果你刚刚只是生成了客户端节点,但还没同步运行中的 WireGuard,这时还需要继续点:
推荐完整顺序:
- 一键新增服务端配置
- 应用到运行时
- 填公网地址 / 检查端口转发
- 批量生成客户端配置
- 同步已保存配置到运行时
否则会出现:
- 页面里已经有节点
- 也能导出配置、生成二维码
- 但运行中的 WireGuard 还没加载这些新节点
八、如果你想手动新建单个节点,也可以这样做
例如给 iPhone 新建一个节点:
- 节点名称:
iphone
- 允许路由:
10.66.66.2/32
- 客户端地址:
10.66.66.2/32
- 客户端路由:你的真实内网网段,例如:
- 保活间隔:
25
- 默认导出模式:
分流模式
密钥部分
然后可以:
如果你希望保存后立刻让运行中的 WireGuard 使用这个节点,建议直接点:
九、如何导出客户端配置
回到应用里的“客户端导出”区域:
- 选择目标节点
- 选择隧道模式
- 查看当前导出参数摘要
- 点击:
确认没问题后,再点:
当前导出参数会显示什么?
现在页面会更直观地告诉你:
- 当前隧道模式
- 服务端地址来源
- DNS 来源
- 当前节点是否已经满足直接导出条件
这样你不需要读一大段说明,就能知道当前为什么能导出、或者为什么还不能导出。
十、如何使用二维码扫码导入
如果是手机用户,最方便的方法就是:
然后:
- 页面会弹出二维码
- 同时显示对应客户端配置文本
- 手机打开官方 WireGuard App
- 直接扫码导入
注意
如果当前节点还不具备完整导出条件,系统会明确告诉你缺少什么,不会生成错误二维码。
十一、手机导入后如何访问家里的 fnOS
手机连上 WireGuard 后,访问的不是公网地址,
而是 fnOS 的内网地址。
比如:
http://192.168.100.100:5666
端口按你自己 fnOS 实际使用的页面端口来。
也就是说:
- 公网地址是用来让手机“连回家”的
- 真正访问飞牛页面,还是走它的内网地址
十二、怎样判断有没有成功握手
应用里的“运行状态”会显示:
- 已保存节点数
- 已加载到运行时节点数
- 最近握手情况
- 收发流量
如果已经成功连接,一般会看到:
如果你已经生成了服务端和客户端,但手机还是访问不了飞牛,优先检查:
- 你是不是点过:
- 公网地址填对没有
- 路由器 UDP 端口转发对不对
- 客户端路由是不是你的真实内网网段
- 手机导入的是不是最新配置 / 最新二维码
常见问题
1. 为什么一键新增服务端配置后,还要点“应用到运行时”?
因为:
- 一键新增服务端配置 = 自动补齐并保存配置
- 不是自动改当前正在运行的 WireGuard
这样设计是为了避免误操作。如果你想立即生效,再手动点:
2. 为什么批量生成客户端后,手机还是访问不了飞牛?
最常见原因有这些:
原因 1:你没同步到运行时
生成完客户端节点后,还要继续点:
原因 2:公网地址或端口转发不对
检查:
- 公网地址
- WireGuard 监听端口
- 路由器 UDP 转发
原因 3:客户端路由不对
例如:
- 你的真实内网是
192.168.1.0/24
- 结果客户端路由写成了
192.168.100.0/24
那手机就访问不到真实内网。
所以:
3. 客户端路由到底是什么?
可以简单理解成:
- 手机连上 VPN 后,哪些网段通过 VPN 去访问
例如你家里内网是:
那客户端路由一般就应该写:
如果你的网关是:
那通常你的内网网段应该是:
当前程序的行为
为了避免自动猜错:
- 程序只会在能可靠识别唯一局域网网段时才自动补齐客户端路由
- 如果无法可靠判断,就会要求你手动填写
- 不会再默默给你填一个错误网段
4. 二维码和导出文本是一致的吗?
是的。
二维码直接复用了客户端导出主链,所以:
三者是一致的。
5. wg 缺失会影响什么?
如果环境缺少 wg,不只是影响“应用到运行时”,还会影响:
- 密钥生成
- 公钥推导
- 客户端导出
- 二维码
- 批量生成客户端配置
- 导入后补齐
所以如果页面提示缺少 wg,要优先处理这个依赖。
6. 为什么导入已有服务端配置后,节点不一定能直接导出客户端配置?
因为普通服务端配置里通常不包含:
- 客户端私钥
- 显式客户端地址
- 显式客户端路由
- 默认导出模式
所以:
这时候页面会提示你继续补齐,不会再假装一切已经完整。
最推荐的小白使用顺序
如果你是第一次用,建议按这个顺序来:
一键新增服务端配置
应用到运行时
- 填公网地址 / 检查端口转发
批量生成客户端配置
同步已保存配置到运行时
- 点击节点二维码
- 手机扫码导入
- 测试访问飞牛内网地址
按这个顺序,踩坑会少很多。
最后
如果你一直觉得:
- WireGuard 会用
- 但配置太烦
- 节点太多不好管
- 手机导入不方便
那这个应用就是为这种场景做的。
如果你有:
- 想要的功能
- 页面交互建议
- 导入导出需求
- 使用中遇到的问题
也欢迎一起交流,我会继续迭代。
界面展示
