Skip to content

Releases

FJN8C / UI 2026.11.08.4

Choose a tag to compare

@yyhoworks yyhoworks released this 08 Nov 10:41
308e3dc

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

Choose a tag to compare

@yyhoworks yyhoworks released this 08 Nov 09:26
b7e72da

FJN8C / UI 2026.11.08.3

修复一键安装与内核升级链路。DNS 内核继续使用上一版的四架构 FJN8C,默认配置与规则不变。

  • 一键安装 / 更新的 --with-ui-updater 路径补齐 core_upload.py,完整复制独立升级器所需模块。
  • 缺模块或模块语法无效时,安装器在覆盖当前升级服务前停止;存在活动任务时,一键更新也在改动 UI 前停止。
  • 升级器声明 FJN8C 配置迁移能力。新 UI 在能力未知时显示升级服务安装说明,阻止新内核准备;UI 单独更新仍可用。
  • 已有备份任务继续支持下载、校验、确认和取消,不因新能力检查失去操作入口。
  • 下载错误明确区分连接 / 读取超时、DNS、HTTP 网关和证书校验失败。

已有设备如何更新

单独更新 UI 不会更新正在运行的升级服务。请先完成或取消已有任务,再重新安装本版升级服务。

  1. 下载本版 Update.zip 和 SHA256SUMS.txt,核对摘要后解压到独立目录。

  2. 在解压目录以 root 执行,目录、Origin、自定义端口和 HTTPS 入口使用原安装值:

    python3 ui-updater/install_ui_updater.py --unified \
      --dir /opt/localdns --origin http://服务器IP:9099
  3. 刷新网页的“版本与更新”连接,确认升级服务更新提示消失,再准备内核升级。

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

Choose a tag to compare

@yyhoworks yyhoworks released this 08 Nov 07:34
4826724

FJN8C / UI 2026.11.08.2

适配作者提供的 FJN8C 内核,并补齐从旧核心升级时必需的配置迁移。

  • 系统 → 功能设置 → 缓存策略新增“缓存预取”,单独保存该字段,不覆盖其他开关。
  • 解析页支持查看、选择或自定义服务商;同一服务商请使用相同名称,因为该字段影响内核投票。
  • 国内、国外、国外 ECS 上游需要服务商;代理组不支持该字段。FJN01 等旧内核不显示或发送新字段。
  • 配置读取失败保持未知,页面切换后旧响应不回写;保留未知节点字段、草稿与取消行为。
  • 继续保留上一版的代理流量变化与跨午夜升级校验修复。

已有设备的升级顺序

先重新安装本版网页升级服务,再上传 FJN8C ZIP 或执行整套升级。旧升级器不会补齐 FJN8C 必需字段。

  1. 下载本版 Update.zip 和 SHA256SUMS.txt,核对 SHA-256,解压到独立目录。

  2. 完成或取消现有等待任务,然后在解压目录以 root 执行:

    python3 ui-updater/install_ui_updater.py --unified \
      --dir /opt/localdns --origin http://服务器IP:9099
  3. 目录、Origin、自定义端口和 HTTPS 参数沿用实际安装值,详见 网页升级说明。

  4. 刷新网页连接,选择“整套升级”,或上传作者 FJN8C ZIP 仅升级内核。

  5. 下载完整备份并选择下载文件校验,通过隔离预检后再确认切换。

  6. 升级后核对服务商归属;将同一真实服务商的节点改为相同名称。

迁移仅发生在暂存目录:缺失的 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

Choose a tag to compare

@yyhoworks yyhoworks released this 08 Nov 06:19
7f36ee5

FJN01 / UI 2026.11.08.1

修复代理流量持续刷新导致网页内核 / 整套升级误报“下载备份后设置发生变化”的问题。

  • 流量计数变化和跨午夜等待不再误触设置冲突,完整升级、仅内核升级和上传原作者内核均适用。
  • 归一化仅用于现网比对;真实设置、未知字段、其他 UI 文件和内核文件变化仍会阻止升级。
  • 暂存目录、预检和旧快照保持逐字节哈希校验,旧版快照无需迁移即可回滚。
  • 补齐跨日、任务重启、旧快照恢复、暂存 / 快照改动和无效流量 JSON 的回归测试。
  • FJN01 内核、干净默认配置和代理配置服务 1.7.1 沿用上一正式版;不更换 DNS 核心或后端协议。

如何使修复生效

本次需要重新安装网页升级服务。 单独点击“升级 UI”或刷新网页不会替换正在运行的升级器。

  1. 下载本版 Update.zip,核对同页 SHA256SUMS.txt,解压到服务器上的独立目录。

  2. 有等待中的任务时,先完成或取消任务,再从解压后的目录以 root 运行:

    python3 ui-updater/install_ui_updater.py --unified \
      --dir /opt/localdns --origin http://服务器IP:9099
  3. 按实际安装值填写目录、Origin;自定义端口或 HTTPS 代理继续使用原有参数,见 网页升级说明。

  4. 回到网页刷新连接,再重新准备此前失败的升级任务。界面可通过“升级 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

Choose a tag to compare

@yyhoworks yyhoworks released this 07 Nov 08:08

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

Choose a tag to compare

@yyhoworks yyhoworks released this 07 Nov 07:12

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

Choose a tag to compare

@yyhoworks yyhoworks released this 05 Nov 18:56
bbfe7b2

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

Choose a tag to compare

@yyhoworks yyhoworks released this 05 Nov 09:06
8b8bdc9

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

Choose a tag to compare

@yyhoworks yyhoworks released this 05 Nov 07:58

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

Choose a tag to compare

@yyhoworks yyhoworks released this 05 Nov 02:38

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 验证说明。