Repository navigation
Releases: newcdl/fn-WireGuard
Release list
v1.1.1
安装
在飞牛 应用中心 → 手动上传应用 中选择对应架构的安装包:
| 文件 | 适用架构 | 确认方式 |
|---|---|---|
fn-wireguard-1.1.1-amd64.fpk |
x86_64(Intel / AMD) | uname -m 输出 x86_64 |
fn-wireguard-1.1.1-arm64.fpk |
ARM64 | uname -m 输出 aarch64 |
系统要求 fnOS ≥ 1.1.3100(低于此版本应用中心会直接拒绝安装)。
使用前请在路由器上把用到的 UDP 端口(默认从 51820 起)转发到 NAS 的局域网地址;有多条连接时,每条连接各占一个端口。
从 1.1.0 升级可直接覆盖安装:本次不含数据库结构变更(无迁移),连接、设备、账号与设置都不受影响。
升级后建议做的一件事
检查「系统设置 → 接入设置 → 对外访问地址」:如果里面写了端口(例如 home.example.com:51820),现在只有监听那个端口的那条连接能从外网连回来,其余连接会在「我的连接」里显示「外网接不回」。把端口去掉、只留域名或公网 IP,每条连接就会各自用自己的端口;改完给受影响的设备重新生成一次二维码 —— 已经导入到手机里的旧配置不会自动变。
更新内容
新增功能
- 对外访问地址可以不写端口:只填域名或公网 IP 时,每条连接的二维码、邀请与设备配置会自动使用它自己的服务端口(51820、51821…)。路由器上放行哪个端口,就连得回哪条连接 —— 多条连接可以同时从外网接入,不必挤在一个入口上。
- 「外网接不回」看得见:写了端口时,系统设置输入框下方会当场列出哪几条连接连不回来;「我的连接」行内标签、新建第 2 条及以后连接时的向导、以及生成二维码的页面都会给出同一句处置 —— 把对外地址里的端口去掉。
- 体检不再只报「已填写」:巡检的「对外访问地址」一项,在写死端口且存在监听其它端口的连接时改为「待确认」并点名;不带端口时报通过,并说明每条连接各用自己的端口。
修复问题
- 第二条连接的二维码端口错误:此前「对外访问地址」被原样写进每一份配置,第二条连接监听 51821 时二维码仍写 51820 —— 握手包落到第一条连接上、公钥对不上,现象只有「怎么都连不上」,状态与日志里都看不出与端口有关。现在地址不带端口时按每条连接各自拼接。
- 端口提示不再让人查错方向:此前只有一句话,把「外部端口被另一条连接占用」和「用户自己在路由器上做了换算」混在一起。前者去查路由器只会白找一圈;现在按「有没有连接监听该端口」给出两种不同的处置。
其它
- 新增用例:端口拼接 11 组(域名 / 公网 IP / 裸 IPv6 / 带端口 / 手滑冒号 / 空值)、多连接端口策略与两种提示、巡检两条新结论。
- 文档:路线图新增「对外地址的端口策略」一节;README 补充「多条连接要不要写端口」的问答。
- 依赖:无新增。
详细说明见 README。
完整变更对比:v1.1.0...v1.1.1
v1.1.0
安装
在飞牛 应用中心 → 手动上传应用 中选择对应架构的安装包:
| 文件 | 适用架构 | 确认方式 |
|---|---|---|
fn-wireguard-1.1.0-amd64.fpk |
x86_64(Intel / AMD) | uname -m 输出 x86_64 |
fn-wireguard-1.1.0-arm64.fpk |
ARM64 | uname -m 输出 aarch64 |
系统要求 fnOS ≥ 1.1.3100(低于此版本应用中心会直接拒绝安装)。
使用前请在路由器上把 WireGuard 端口(默认 UDP 51820)转发到 NAS 的局域网地址。
从 1.0.0 升级可直接覆盖安装:数据库迁移随启动自动完成,连接、设备与账号都不受影响。
更新内容
新增功能
- 两处内网互联(异地组网):把两台 NAS 的内网打通。一端生成邀请、另一端导入即完成配对——隧道地址、双方公钥、准入地址与通行范围由同一份数据推导,不必两头照着填(手工填这四处、错一处都只是「不通」,最难自查)。配对完成后就像在同一个局域网里:两台 NAS 可互访对方内网;连上任一台 NAS 的设备(手机、电脑)也会自动带上对端内网,能访问两处的机器。生成过的邀请随时能再取一份(互联窗口的「已生成的邀请」页签,或设备列表里那条「对端 NAS」条目的「邀请」按钮)。
- 导入前先给一份确认清单:导入互联邀请时,先列出这次将要做的事——新连接名、隧道地址、实际会用哪个监听端口、放行哪些来源、哪些流量会进隧道、对方已经占用了哪些网段——确认之后才真正建立;改了粘贴内容或端口,清单会自动作废,避免「在 A 的清单上确认、执行下去的却是 B」。
- 对端占用网段台账:导入时把对方已占用的隧道网段记在本机,之后新建连接的自动分配会避开它们,体检里也会持续比对「两端的默认网段撞了没有」。此前这份信息只在导入那一刻提示一次,事后无从自查。
- 加设备前的一次劝阻:往站点互联连接上直接添加普通设备时会先提醒一次——那条连接的隧道网段由两台 NAS 共用,两端各自加设备会算到同一个地址,而现象只是「能访问对端 NAS、就是访问不了对端的某几台设备」。加在普通连接上的设备同样会自动访问对端内网,效果一样。
- 设备列表新增「设备 IP」列:直接看到每台设备在隧道里用的地址(取准入地址里的主机项,不会把对端网段误当成设备地址),排查「某台设备连不上」不必再翻到编辑页。
修复问题
- 开着「内网域名解析」时,「需重新扫码」怎么重新扫都清不掉:同一份设备配置指纹用了两套 DNS 推导——记录「设备刚拿到什么」时用实际下发值,事后比对「应当是什么」时却用连接里填的 DNS。改为两处同源,并补了反向断言(关掉开关后下发的 DNS 真的变了,必须报过期),否则这次修法会退化成「永不报过期」。
- 「域名解析方式 → NAS 也一起使用」从未实现:文案声称它会修改 NAS 的系统 DNS、卸载时自动还原,与实现正好相反(本应用绝不碰
/etc/resolv.conf)。现收敛为「下发给设备 / 不下发」两种并真正实现了后者,历史值一律归一(对存量值报错会让这类连接连「改个别的地方」都保存不了),文案改为「本应用不会修改 NAS 自身的系统解析设置」。 - 设备配置渲染不再「好心兜底」:原先 DNS 为空时会回落成连接里的 DNS(把「不下发」悄悄变成「下发」)、通行范围为空时会回落成
0.0.0.0/0(把设备的全部上网流量塞进隧道,而用户以为仍然只访问家里设备)。两处都删掉,渲染只呈现调用方算好的值。 - 两处静默损坏:编辑设备不再清空它的二次加密口令(留空即保持原值,只有明确点「生成新口令」才轮换);手填了 IPv4 不再追加一个自动分配的同族地址(此前界面恒传
auto_address=true,用户「改成不重复的地址」因此失效)。 - 同一连接内地址重叠即拒绝:此前只拦「完全相同」,于是设备与对端 NAS 抢同一个地址会被判成不冲突。
- 「生成邀请」后立即刷新外层列表:原先只在导入成功后才刷新,于是「生成邀请 → 复制配置 → 关闭对话框」这条最常用的路径看到的是旧列表。
- 连接列表里的异常提示不再折成一堵墙:表格的「工作状态」列只有 110px,此前把整句话塞进这一列,一条提示能把整行撑成七八行,相邻连接也被挤得看不清。现在列里只放 5 个字以内的短标签,鼠标悬停看完整说明;需要去「系统维护」看具体结论的那几类,点一下标签直接跳过去(手机卡片视图宽度充裕,仍直接显示整句话)。
其它
- 代码体检:删掉 5 个只有定义、全仓库无调用的 Go 函数与前端 7 处未使用声明及 3 个随之失效的 import;把已存在却从未接上的类型接到调用点(字段名一改即可在编译期报错)。
- 关于「电脑断开连接后 FN Connect 用不了」:查证结论是 NAS 侧本应用不动系统网络——路由只写自己的策略路由表、主表零改动;防火墙只在自己表内且每条规则都限定「源属于隧道网段」;绝不碰系统 DNS。成因在设备侧:下发的 DNS 是本机隧道地址,只在连接建立期间存在,断开后由客户端负责还原(异常退出、睡眠、崩溃、强杀都可能留下)。因此生成配置时给出提醒,「内网域名解析」的说明与 README 的 Q16 写明「DNS 残留 / 默认路由残留」两类现象的分辨方法与恢复命令。
- 新增 14 个回归用例:覆盖地址撞车、DNS 指纹、导入预检与端口一致性、站点网段重叠、站点占用网段可见性、同机器标识告警、幂等清理等。
- 依赖:无新增。
- 文档与截图:README 与路线图同步更新;界面截图补充「互联导入确认清单」,并重拍带「设备 IP」列的设备列表。
详细说明见 README。
完整变更对比:v1.0.0...v1.1.0
v1.0.0
安装
在飞牛 应用中心 → 手动上传应用 中选择对应架构的安装包:
| 文件 | 适用架构 | 确认方式 |
|---|---|---|
fn-wireguard-1.0.0-amd64.fpk |
x86_64(Intel / AMD) | uname -m 输出 x86_64 |
fn-wireguard-1.0.0-arm64.fpk |
ARM64 | uname -m 输出 aarch64 |
系统要求 fnOS ≥ 1.1.3100(低于此版本应用中心会直接拒绝安装)。
使用前请在路由器上把 WireGuard 端口(默认 UDP 51820)转发到 NAS 的局域网地址。
更新内容
新增功能
- 网络拓扑图:以本机 NAS 为中心画出所在内网及其设备、连上隧道的设备、以及经隧道连到的另一台 NAS 及其内网;节点可拖动并记住位置,支持放射 / 环状 / 自由三种布局,单击高亮整条链路、双击跳到对应页面、右键复制地址或去处理,带全览缩略图与一键导出 PNG,连线按实时速率流动
- 按设备限制内网目标:单台设备可指定能访问家里的哪些目标(可细到
192.168.1.10:445),限制落在服务端转发规则上,设备改不了 - 内网资产台账:跟着每次巡检记录内网设备(地址、MAC、名称、类型、首次与最近出现、累计天数),出现新设备时写审计并推送通知,确认后不再提醒
- 配置漂移巡检:按日程把实际状态与你的配置对一遍并写成报告(后台服务、运行模式、上网路线、连接工作状态、隔离与访问控制、残留网卡、对外地址、通知、域名解析、计划备份等逐项给结论),查出问题推送通知,报告保留最近若干份
- 一键诊断包:把体检、巡检、拓扑原始数据、资产台账、连接与设备清单、运行记录与审计打包成一个 tar 下载(浏览器端打包、不上传),出问题时发一个文件即可
- 流量报表与每月额度:每分钟把每台设备的累计流量记账并按小时落库,按设备 / 按天查看用量与趋势(近 7 / 30 / 90 天)、导出 CSV;可给单台设备设每月发送上限,用满自动停用并通知、月初自动恢复
- 计划备份到授权共享文件夹:按日程(每天 / 每周 + 时刻)把完整备份写到你授权的共享目录并只保留最近若干份,保存时实际探测目录可写,错过的时间点开机后补跑,失败推送通知,可从副本直接下载或还原
- 两种列表视图:所有列表都能在右上角切成表格或卡片,卡片在电脑上按宽度自适应分列、手机上一条一行,选过一次即记住
- 以飞牛账号登录:从飞牛桌面点开应用后,登录页给出「飞牛账号」按钮,点一下即用飞牛身份进入;按飞牛账号 UID 建号(用户名优先取飞牛用户名、重名加后缀,绝不复用已有账号),角色随每次登录同步,这类账号没有本应用口令因此不能走密码登录
- 敏感操作二次验证(默认关):开启后,以飞牛账号登录的身份在查看本机密钥、用备份还原、管理账号前需输入一次动态口令,验证后 10 分钟内有效;用账号密码从端口进入时不受影响。开启前会先确认当前账号已绑定二次验证
- 二维码改为圆点样式并统一带应用图标(纠错等级 H,实测在 720 / 1080 两种尺寸下均可扫)
- 登录页重新设计:桌面端双栏(品牌栏 + 表单)、窄屏单栏,输入框与主按钮加大,明暗主题各自适配
- 初始化可选「不建本地账号,直接用飞牛账号登录」:本地不落任何口令,第一位管理员就是发起初始化的那个飞牛账号,应急安全码照发;初始化页整体重做(品牌头 + 两枚选项卡式选择按钮,窄屏单列),并补上「飞牛账号可以直接登录」的说明
修复问题
- 未配置对外地址时,设备列表误报「需重新扫码」且点不掉
- 首次打开「开启二次验证」时二维码区域是空白:现在没生成出来会明确说明并给出「重新生成二维码」,同时给图标准备加了超时兜底,不再以「少个装饰图标」换「整块不可用」
- 列表操作列的「更多」下拉比旁边按钮偏高一点点(现统一对齐)
其它
- 依赖:无新增;二维码、图表、拓扑渲染均使用既有依赖
- 服务端新增
sys_user.trim_uid列(部分唯一索引)与网关相关设置项,随既有迁移流程自动生效 - 用户协议与免责声明:随包分发的《用户协议与隐私说明》补充了免责条款(严禁用于违法用途、使用者自行承担全部责任、作者不承担连带责任、按现状提供且不附担保),README 增加「法律与免责」一节,应用内「系统设置 → 关于」也能直接读到要点
- 文档与截图:README、路线图与应用介绍同步更新,界面截图重拍并补充了登录页、网络拓扑、流量报表与卡片视图
详细说明见 README。
v0.9.0
安装
在飞牛 应用中心 → 手动上传应用 中选择对应架构的安装包:
| 文件 | 适用架构 | 确认方式 |
|---|---|---|
v0.9.0-amd64.fpk |
x86_64 | uname -m 输出 x86_64 |
v0.9.0-arm64.fpk |
ARM64 | uname -m 输出 aarch64 |
使用前请在路由器上把 WireGuard 端口(默认 UDP 51820)转发到 NAS 的局域网地址。
详细说明见 README。
Full Changelog: v0.8.1...v0.9.0
v0.8.1
安装
在飞牛 应用中心 → 手动上传应用 中选择对应架构的安装包:
| 文件 | 适用架构 | 确认方式 |
|---|---|---|
v0.8.1-amd64.fpk |
x86_64 | uname -m 输出 x86_64 |
v0.8.1-arm64.fpk |
ARM64 | uname -m 输出 aarch64 |
使用前请在路由器上把 WireGuard 端口(默认 UDP 51820)转发到 NAS 的局域网地址。
详细说明见 README。
Full Changelog: v0.7.4...v0.8.1
v0.7.4
安装
在飞牛 应用中心 → 手动上传应用 中选择对应架构的安装包:
| 文件 | 适用架构 | 确认方式 |
|---|---|---|
v0.7.4-amd64.fpk |
x86_64 | uname -m 输出 x86_64 |
v0.7.4-arm64.fpk |
ARM64 | uname -m 输出 aarch64 |
使用前请在路由器上把 WireGuard 端口(默认 UDP 51820)转发到 NAS 的局域网地址。
详细说明见 README。
Full Changelog: v0.6.1...v0.7.4
v0.6.1
安装
在飞牛 应用中心 → 手动上传应用 中选择对应架构的安装包:
| 文件 | 适用架构 | 确认方式 |
|---|---|---|
v0.6.1-amd64.fpk |
x86_64 | uname -m 输出 x86_64 |
v0.6.1-arm64.fpk |
ARM64 | uname -m 输出 aarch64 |
使用前请在路由器上把 WireGuard 端口(默认 UDP 51820)转发到 NAS 的局域网地址。
详细说明见 README。
Full Changelog: v0.6.0...v0.6.1
v0.6.0
安装
在飞牛 应用中心 → 手动上传应用 中选择对应架构的安装包:
| 文件 | 适用架构 | 确认方式 |
|---|---|---|
v0.6.0-amd64.fpk |
x86_64 | uname -m 输出 x86_64 |
v0.6.0-arm64.fpk |
ARM64 | uname -m 输出 aarch64 |
使用前请在路由器上把 WireGuard 端口(默认 UDP 51820)转发到 NAS 的局域网地址。
详细说明见 README。
Full Changelog: v0.5.3...v0.6.0
v0.5.3
安装
在飞牛 应用中心 → 手动上传应用 中选择对应架构的安装包:
| 文件 | 适用架构 | 确认方式 |
|---|---|---|
v0.5.3-amd64.fpk |
x86_64 | uname -m 输出 x86_64 |
v0.5.3-arm64.fpk |
ARM64 | uname -m 输出 aarch64 |
使用前请在路由器上把 WireGuard 端口(默认 UDP 51820)转发到 NAS 的局域网地址。
详细说明见 README。
Full Changelog: v0.5.2...v0.5.3