Repository navigation
Releases
FJN8C / UI 2026.11.08.4
FJN8C / UI 2026.11.08.4
修复在线升级始终卡在 GitHub 下载,以及等待备份确认时持续显示“更新中”的问题。
根因与修改
故障设备直连 GitHub 网页下载入口超时,经本机代理请求该路径也返回 HTTP 504,未取得附件重定向。
同一附件通过 GitHub 官方 API 下载成功,并由官方 CDN 返回正确字节。
此前安装器只使用 browser_download_url,因此版本检查正常也可能无法下载。
- 新安装器优先使用经过仓库 / 附件 ID 核对的GitHub 官方附件 API,
请求文件字节并处理 HTTPS 重定向。 - API 入口超时、网关故障或限流时,才回退同一附件的原始下载地址;已有标签的限流降级保持兼容。
- TLS、GitHub 附件摘要、安装包 SHA-256、全文件清单保护继续保留。证书、权限、文件缺失及摘要错误直接停止。
- 等待本机备份校验时显示“等待备份确认”,停止旋转动画并收起其他升级选项,已上传内核不再显示“尚未选择文件”。
已有设备如何更新
仅更新 UI 不会替换服务器上的下载器。先完成或取消已有任务,再更新升级服务。
下载本版 Update.zip 及 SHA256SUMS.txt,核对摘要、解压后,在解压目录按原安装参数执行:
python3 ui-updater/install_ui_updater.py --unified \
--dir /opt/localdns --origin http://服务器IP:9099自定义目录、端口、Origin 或 HTTPS 入口沿用原值,见 网页升级说明。
然后刷新“版本与更新”连接,再准备升级。网络需能访问 GitHub API 和附件 CDN;不保证绕过所有网络限制或 API 限流。
下载入口均不可达时仍可使用本地内核 ZIP 或已校验的离线包,不需要关闭证书检查。
下载与验证
LocalDNS_UI_2026.11.08.4_Update.zip:UI、安装器 1.4.2 和升级服务脚本。LocalDNS_FJN8C_UI_2026.11.08.4_Full.zip:保留上版四架构内核、配置和规则的完整包。LocalDNS_ProxyConfig_UI_2026.11.08.4_Service.zip:程序仍为 1.7.1。SHA256SUMS.txt:三个包的校验值。
新下载器在原故障设备上已在线获取校验文件和 37.6 MB 完整包,并通过 SHA-256 与 ZIP 检查。
等待备份状态和接口回退均有回归检查;范围见 发布验证与旧代码退役清单。
Release commit: 308e3dc40548f12cd937cce734a4ccd27d95439d. All GitHub CI jobs passed.
FJN8C / UI 2026.11.08.3
FJN8C / UI 2026.11.08.3
修复一键安装与内核升级链路。DNS 内核继续使用上一版的四架构 FJN8C,默认配置与规则不变。
- 一键安装 / 更新的
--with-ui-updater路径补齐core_upload.py,完整复制独立升级器所需模块。 - 缺模块或模块语法无效时,安装器在覆盖当前升级服务前停止;存在活动任务时,一键更新也在改动 UI 前停止。
- 升级器声明 FJN8C 配置迁移能力。新 UI 在能力未知时显示升级服务安装说明,阻止新内核准备;UI 单独更新仍可用。
- 已有备份任务继续支持下载、校验、确认和取消,不因新能力检查失去操作入口。
- 下载错误明确区分连接 / 读取超时、DNS、HTTP 网关和证书校验失败。
已有设备如何更新
单独更新 UI 不会更新正在运行的升级服务。请先完成或取消已有任务,再重新安装本版升级服务。
-
下载本版 Update.zip 和
SHA256SUMS.txt,核对摘要后解压到独立目录。 -
在解压目录以 root 执行,目录、Origin、自定义端口和 HTTPS 入口使用原安装值:
python3 ui-updater/install_ui_updater.py --unified \ --dir /opt/localdns --origin http://服务器IP:9099
-
刷新网页的“版本与更新”连接,确认升级服务更新提示消失,再准备内核升级。
2026.11.08.2 升级器没有新的能力声明,更新到新 UI 后也需执行上述一次重装。
已经处于备份确认阶段的任务可以先按原流程完成,不能在任务执行中重装升级服务。
新的一键安装 / 更新可使用 --with-ui-updater,本版会完整安装升级服务;参数见 网页升级说明。
GitHub 下载不可达时
能取得版本信息,仍可能无法访问 GitHub 下载域名;浏览器和服务器使用的网络也可能不同。
连接超时或 HTTP 504 应检查服务器网络和代理,不应直接关闭证书校验。
已有设备可先安装新版升级器,再上传本地作者内核 ZIP,避免服务器下载 GitHub 附件。
全新安装可使用校验过的离线发行包及 --package-dir。
本版没有自动更改系统 DNS、代理规则或 TLS 检查。
下载内容与验证
LocalDNS_UI_2026.11.08.3_Update.zip:新版 UI、安装器和升级器。LocalDNS_FJN8C_UI_2026.11.08.3_Full.zip:沿用上一正式版内核与默认配置的完整安装包。LocalDNS_ProxyConfig_UI_2026.11.08.3_Service.zip:代理配置服务 1.7.1 独立包,程序不变。SHA256SUMS.txt:三个安装包的摘要。
验证包含真实打包安装入口的隔离新装与重装、能力检查和备份任务 UI、下载异常分类及包完整性。
未在用户设备上替换内核或打断等待中的升级任务。详见 发布验证与旧代码退役清单。
Release commit: b7e72da509c64f8919f85abd2d0fb86705bf42f9. All GitHub CI jobs passed.
FJN8C / UI 2026.11.08.2
FJN8C / UI 2026.11.08.2
适配作者提供的 FJN8C 内核,并补齐从旧核心升级时必需的配置迁移。
- 系统 → 功能设置 → 缓存策略新增“缓存预取”,单独保存该字段,不覆盖其他开关。
- 解析页支持查看、选择或自定义服务商;同一服务商请使用相同名称,因为该字段影响内核投票。
- 国内、国外、国外 ECS 上游需要服务商;代理组不支持该字段。FJN01 等旧内核不显示或发送新字段。
- 配置读取失败保持未知,页面切换后旧响应不回写;保留未知节点字段、草稿与取消行为。
- 继续保留上一版的代理流量变化与跨午夜升级校验修复。
已有设备的升级顺序
先重新安装本版网页升级服务,再上传 FJN8C ZIP 或执行整套升级。旧升级器不会补齐 FJN8C 必需字段。
-
下载本版 Update.zip 和
SHA256SUMS.txt,核对 SHA-256,解压到独立目录。 -
完成或取消现有等待任务,然后在解压目录以 root 执行:
python3 ui-updater/install_ui_updater.py --unified \ --dir /opt/localdns --origin http://服务器IP:9099
-
目录、Origin、自定义端口和 HTTPS 参数沿用实际安装值,详见 网页升级说明。
-
刷新网页连接,选择“整套升级”,或上传作者 FJN8C ZIP 仅升级内核。
-
下载完整备份并选择下载文件校验,通过隔离预检后再确认切换。
-
升级后核对服务商归属;将同一真实服务商的节点改为相同名称。
迁移仅发生在暂存目录:缺失的 prefetch 补为新内核实际默认值 true,已有 false 不变;
缺失 / 空白的服务商按节点补为独立的 未标注 · 分组-序号,不推测运营商或合并投票身份。
原始配置和备份不变,快照回滚还原旧内核与原始设置。原缓存上限继续保留,不套用作者示例中的新上限。
单独升级 UI 可以继续配合 FJN01 使用,但不会更新服务器常驻升级器。
本次不使用作者安装脚本覆盖现有 UI、设置、地理订阅或备份。
下载内容
LocalDNS_UI_2026.11.08.2_Update.zip:UI、支持 FJN8C 的升级工具和配套服务载荷。LocalDNS_FJN8C_UI_2026.11.08.2_Full.zip:四架构 FJN8C、干净默认配置及完整 UI。LocalDNS_ProxyConfig_UI_2026.11.08.2_Service.zip:代理配置服务 1.7.1 独立包。SHA256SUMS.txt:上述三个安装包的校验值。
完整包以上一正式版 FJN01 / UI 2026.11.08.1 为基础,只导入 FJN8C 四个 ELF 并执行上述四份配置迁移。
作者原始 ZIP 中的私人示例、订阅和 UI 不进入发行包。
验证包含真实 Linux 隔离进程的 DNS/API、上传升级、目录切换及回滚,以及浏览器 fixture 验收;未向真实设备部署。
ARM64 和其他 x86 等级完成 ELF / 哈希检查,未宣称全部架构实机运行。
详见 发布验证与旧代码退役清单。
Release commit: 48267247d21771e73ab5e9492ef258e43ed55ce4. All GitHub CI jobs passed.
FJN01 / UI 2026.11.08.1
FJN01 / UI 2026.11.08.1
修复代理流量持续刷新导致网页内核 / 整套升级误报“下载备份后设置发生变化”的问题。
- 流量计数变化和跨午夜等待不再误触设置冲突,完整升级、仅内核升级和上传原作者内核均适用。
- 归一化仅用于现网比对;真实设置、未知字段、其他 UI 文件和内核文件变化仍会阻止升级。
- 暂存目录、预检和旧快照保持逐字节哈希校验,旧版快照无需迁移即可回滚。
- 补齐跨日、任务重启、旧快照恢复、暂存 / 快照改动和无效流量 JSON 的回归测试。
- FJN01 内核、干净默认配置和代理配置服务 1.7.1 沿用上一正式版;不更换 DNS 核心或后端协议。
如何使修复生效
本次需要重新安装网页升级服务。 单独点击“升级 UI”或刷新网页不会替换正在运行的升级器。
-
下载本版 Update.zip,核对同页
SHA256SUMS.txt,解压到服务器上的独立目录。 -
有等待中的任务时,先完成或取消任务,再从解压后的目录以 root 运行:
python3 ui-updater/install_ui_updater.py --unified \ --dir /opt/localdns --origin http://服务器IP:9099
-
按实际安装值填写目录、Origin;自定义端口或 HTTPS 代理继续使用原有参数,见 网页升级说明。
-
回到网页刷新连接,再重新准备此前失败的升级任务。界面可通过“升级 UI”更新到本版,无需为此重启 DNS。
重装升级服务会更新该服务,并按既有流程检查已安装的配套服务;不会新装未启用的配套服务。
无需删除 traffic.json、traffic-detail.json、用户设置或历史备份。
完整 / 内核升级仍须下载完整备份并校验 SHA-256;失败时继续使用已有自动恢复和快照回滚流程。
下载内容
LocalDNS_UI_2026.11.08.1_Update.zip:UI、修正后的升级工具及配套服务载荷。LocalDNS_FJN01_UI_2026.11.08.1_Full.zip:含四架构 FJN01 的完整安装包。LocalDNS_ProxyConfig_UI_2026.11.08.1_Service.zip:代理配置服务 1.7.1 独立包。SHA256SUMS.txt:三个安装包的 SHA-256 校验值。
Full.zip 基于已发布的 2026.11.07.2 完整包重建,保留其内核、默认配置和规则。
验证使用隔离夹具,不代表本次已在真实设备执行内核切换。
详见 本版发布验证 和 PR #48 验证记录。
Release commit: 7f36ee558f2a67b558274afe2e3dfdb05659f2ae. All GitHub CI jobs passed.
FJN01 / UI 2026.11.07.2
FJN01 / UI 2026.11.07.2
调整设备名称的字号与字重,并让在线升级的主操作符合实际更新内容。
- 设备名称改为 14px、中等字重(500),较原先的 16px / 600 更紧凑;IP 继续使用 12px 等宽字体。
- 只有 UI 更新时,「升级 UI」显示实心主题色。 即使发行版同时提供完整安装包,也不会将主色分给同内核重装。
- UI 与内核都有更新时突出「升级 UI + 内核」,单独「升级 UI」仍可点击;选择内核 ZIP 后优先突出已选文件的操作。
- 深浅玻璃与 Claude 两种皮肤均使用各自主题色,手机端保持相同判断。
如何升级
在「版本与更新」点击「检查更新」,选择「升级 UI」即可。自动检查间隔为 6 小时;手动检查可立即获取最新版本,GitHub 限流时按页面提示等待后重试。
本版包含:
LocalDNS_UI_2026.11.07.2_Update.zip:UI 升级包。LocalDNS_FJN01_UI_2026.11.07.2_Full.zip:含四架构 FJN01 的完整安装包。LocalDNS_ProxyConfig_UI_2026.11.07.2_Service.zip:代理配置服务 1.7.1 独立包。SHA256SUMS.txt:安装包校验值。
Full.zip 沿用已发布 2026.11.07.1 的内核与干净默认配置;升级服务与代理配置服务代码保持不变。只升级 UI 无需重启 DNS,也无需重新安装升级服务。
本版改动生效后,后续仅 UI 更新会突出对应按钮。当前已安装的旧 UI 仍使用旧版按钮样式,可选择仍然可用的「升级 UI」应用本版修复。
验证记录见 本版发布验证。
Release commit: 3dfdc9c1ac52159ee569286c96ae9188ae79448b. All GitHub CI jobs passed.
FJN01 / UI 2026.11.07.1
FJN01 / UI 2026.11.07.1
修复字体不统一和手机端设备操作问题。已有 FJN01 用户在网页「版本与更新」中点击「检查更新」,选择「升级 UI」即可应用本版修复。
- 设备页标题、大数字接入全局字体设置;IP、筛选数量和请求计数使用统一等宽字体,中文「次」保持正文字体。
- 补齐全站
.mono与代码文本的字体规则;外观面板中文标签、系统页日期和历史记录、手机端缓存字段名使用正文字体。 - 手机端设备筛选条在内容区内横向滚动,不再伸出页面。
- 批量操作栏只在选中设备时显示,手机端位于底部导航上方,浅色主题使用对应底色和边框。
- 点击「取消」时同时清除实际选择与行勾选框。
升级与下载
LocalDNS_UI_2026.11.07.1_Update.zip:已有安装更新 UI。LocalDNS_FJN01_UI_2026.11.07.1_Full.zip:包含四架构 FJN01 的完整安装包。LocalDNS_ProxyConfig_UI_2026.11.07.1_Service.zip:代理配置服务 1.7.1 独立安装包。SHA256SUMS.txt:以上三个安装包的 SHA-256 校验值。
本版只改前端。Full.zip 沿用已发布 2026.11.06.1 的 FJN01 内核与干净默认配置,配套升级工具和服务代码保持不变。只升级 UI 无需重启 DNS,也无需重新安装升级服务。
自动检查更新间隔为 6 小时;发布后可点击「检查更新」立即刷新。遇到 GitHub 限流时,按界面提示等待后重试。
验证记录见 本版发布验证。
Release commit: 61523d52fa251f97e2a0defecaa97df72aa1263e. All GitHub CI jobs passed.
FJN01 / UI 2026.11.06.1
FJN01 / UI 2026.11.06.1
界面一致性与可读性修正,只改前端。FJN01 内核、默认配置、升级服务和代理配置服务 1.7.1 保持不变。
- 页面标题与导航、浏览器标签页统一:日志、解析、分流、系统,不再出现「查询日志 / DNS 管理 / 规则管理 / 系统管理」等另一套名称;搜索旧名称仍能跳到对应页面。解析页的「卡片 / 列表」切换并入右侧操作区,标题恢复左对齐。
- Claude 浅色皮肤:分流结果等主色徽章的文字从
#C96442加深为#A44B2D,纸面上的对比度从 3.77:1 提高到 5.60:1;徽章底色改用同色系,不再是蓝底配橙字。 - 字号收敛为 11 / 12 / 13 / 14 / 16 / 18 / 20 / 22 / 24px(28px 以上的展示数字不变)。原有 179 处非档位字号只向上取整、不缩小,最小字号从 8px 提高到 11px。新增测试阻止再写入档位外的字号。
如何升级
在网页「版本」中直接升级 UI 即可,不需要重新安装升级服务或切换内核。也可下载本版 Update.zip 手动替换 UI,或使用 Full.zip 全新安装。
Full.zip 沿用 2026.11.05.6 的四架构 FJN01 二进制及干净默认配置;Update.zip、Full.zip 内的升级服务工具与 .6 相同;Service.zip 仍为代理配置服务 1.7.1。
验证记录见 本版发布验证。旧版本发布附件保持不变。
合并与发布检查:#47 已合并;发布提交 bbfe7b244ba52b1c9ddbf49d3d4629b5c26d872f 的 CI #42087909517 全部通过。
FJN01 / UI 2026.11.05.6
FJN01 / UI 2026.11.05.6
修复升级器在缺少 core-version.json 时误报 FJN01「管理接口未就绪」的问题,合并 PR #45。现有概览拖拽、系统管理布局、FJN01 内核和代理配置服务 1.7.1 保持不变。
- 健康检查回退到 UI 元数据时支持 FJN01,也支持声明
updateCompatibility的后续核心。已有核心 marker 继续优先,实际运行版本不符时仍拒绝通过。 - 新增 5 组回归测试,并补齐 .5 的 CI 记录。
- 已对旧 FJMOS 补测 0/1/151 MB 缓存预算:0 可保存、跨重启保持,关闭内存预算限制后缓存仍可用;无需限制 FJMOS 输入 0。
已有用户如何应用修正
网页中可以正常升级 UI 到 2026.11.05.6。本次代码修复属于独立升级服务,仅点击「升级 UI」不会替换运行中的升级器。 要应用修复,请下载本版 Update.zip 或 Full.zip,解压后在服务器运行:
python3 ui-updater/install_ui_updater.py --unified \
--dir /opt/localdns --origin http://服务器IP:9099使用实际安装目录和浏览器访问来源;已有自定义监听、端口或反向代理地址按原设置填写。请等升级任务完成后再安装服务。安装升级服务不重启 DNS;完成后在版本弹窗点击「刷新连接与状态」。详情见 网页升级指南。
使用统一升级服务的 FJMOS 设备仍可只升级 UI,保留 FJMOS 核心。已经运行 FJN01 的用户无需重复切换内核。本次 Full.zip 沿用 .5 的四架构 FJN01 二进制及干净默认配置;Update.zip、Full.zip 都包含修正后的升级服务工具,Service.zip 仍为代理配置服务 1.7.1。
验证记录见 .6 发布验证;FJMOS 实测详情见 .5 发布后复核。旧 .5 发布附件保持不变。
合并与发布检查:#45、#46 已合并;发布提交 8b8bdc926be65c693111a17aa1e60d687cb664d4 的 CI #41998934621 全部通过。
FJN01 / UI 2026.11.05.5
FJN01 / UI 2026.11.05.5
本版将核心升级为 FJN01,并完成缓存与功能设置的 UI 适配。包含此前本机验收的概览拖拽和系统管理布局。
- 概览自定义:一个入口显示锁定/解锁状态,集中控制显隐和排序;首页模块、面板内六点手柄均可拖动。支持触屏长按、键盘排序、Esc 取消、撤销和按浏览器保存。
- 系统管理:B 双栏齐底布局,缓存、刷新任务和功能设置分级展示。定时计划与任务进度突出,八项开关按请求过滤、缓存策略、客户端分流分组。
- 缓存详情:系统页和概览共用表格、域名/类型搜索与每页 50 条分页;展示条目上限、内存使用、预算、新鲜期和保留期,保留原始内容。搜索仅覆盖内核返回的明细,界面明确说明与缓存总量的差异。
- 缓存参数:可编辑总内存预算,0 表示不限内存、仍受条目上限约束。预算立即生效,各池参数依内核回读标记待重启。保存前完整校验,只提交变化值;部分失败后重试会先核对已保存的值。
- 开关说明:根据当前开关状态说明行为,包括关闭类型屏蔽后仍处理 FakeIP 域名的 HTTPS/SVCB,以及名单内外客户端的直连策略。读取失败不假定为关闭。
升级方式
Full.zip:FJN01 完整包,含 amd64-v1/v2/v3、arm64 内核及当前 UI;通过统一升级服务的完整升级流程保留已有配置、规则与个人资源。Update.zip:仅更新 UI,包含代理配置服务 1.7.1 和配套升级工具;不会把正在运行的旧核心自动变成 FJN01。也可先通过内核上传入口升级用户提供的 FJN01 ZIP,再安装 UI 更新。Service.zip:代理配置服务 1.7.1 独立安装包,服务代码与上一版相同。- 包内提供文件清单,附件提供
SHA256SUMS.txt。完整包沿用已发布的干净默认配置,仅导入原包中四种架构的核心文件,不导入原包中的示例名单、缓存或个人设置。
核心切换前应下载并验证完整备份。querylog.persist=false 时,重启后内存日志和进程计数会重新开始;已落盘配置及数据保留。测试不涵盖所有平台的实际启动,本次真实启动与 DNS 验证平台是 Alpine amd64-v3。
已在现有设备完成 FJN01 + UI 2026.11.05.5 更新,检查 DNS、配置保留、桌面/手机布局及拖拽交互。详细结果见 验证记录。
LocalDNS UI 2026.11.05.2 · ProxyConfig 1.7.1
LocalDNS UI 2026.11.05.2
配套配置服务升级至 1.7.1,修复钩子失败后的核心状态误报和错误信息中的凭据泄漏。
- 钩子执行失败后继续确认核心在线,回滚后再次检查。只有检查通过才显示「核心在线检查通过」;无法确认时明确提示检查服务。
- 保存启动配置前检查钩子路径和执行权限,错误钩子在备份、文件替换及重载之前被拒绝。读取、检查和备用文件保存仍可使用。
- 为健康检查预留时间并有限重试;钩子超时后仍检查核心,应用与回滚分别受原有 45 秒预算约束。
- 启动告警和保存错误保留错误类别、退出码,不回显实际命令、参数及任意钩子输出。
更新包内嵌配置服务 1.7.1。支持配套服务升级的网页更新执行端会升级已安装的配置服务;也可解压独立 Service.zip 执行安装脚本。升级保留已有服务配置,因此无效的 postReload 仍需在 /etc/localdns-proxy-config.json 中修正,并重启配置服务生效。
postReload 使用 argv 数组,例如 ["/sbin/rc-service", "mihomo-gateway", "restart"];请按设备实际路径配置。通过配置服务的 /healthz 可核对版本为 1.7.1。
验证记录见 2026.11.05.2 验证说明。