<a name="config-and-settings"></a>

# 修改配置与设置

本页介绍如何通过 doona 标准版界面编辑配置文件和修改设置。配置键及示例见[配置参考](https://doona.daeuniverse.org/zh-CN/configuration.md#config)；存储位置与生效方式见 [doona 能修改什么](https://doona.daeuniverse.org/zh-CN/what-doona-can-change.md)。

<a name="config-page"></a>

## 选择配置编辑器

在设置分区打开**配置**。控件不可用时，先检查[编辑条件](https://doona.daeuniverse.org/zh-CN/feature-requirements.md#req-config-edit)。

| 标签页 | 用途 |
| --- | --- |
| **模块** | 查找配置区段，通过**打开页面**进入对应编辑器。 |
| **全局设置** | 通过表单修改提供的全局字段。 |
| **配置文件** | 查看或编辑完整的来源文件，检查诊断结果。 |
| **备份与修订** | 导出配置、导入服务器文件或恢复已保存的修订。参阅[使用条件](https://doona.daeuniverse.org/zh-CN/feature-requirements.md#req-revisions)。 |

**配置版本** 标识已接受的配置，旁边的状态显示诊断摘要。**后端已脱敏监听密钥的值** 表示返回文本隐藏了这些值。默认打开 **模块**；来源链接或缺少主文件正文时打开 **配置文件**。只有 doona 支持其设置的引擎才会显示 **全局设置**。

订阅在[节点](https://doona.daeuniverse.org/zh-CN/routing.md#nodes)中管理，组成员在[策略](https://doona.daeuniverse.org/zh-CN/routing.md#policies)中修改，路由模板和单条规则在[规则](https://doona.daeuniverse.org/zh-CN/routing.md#rules)中编辑。

<a name="edit-source"></a>

## 编辑配置文件

1. 打开**配置文件**标签页，从**配置文件**选择器中选择文件。
2. 编辑前检查文件标记。如果只读，参阅[来源权限与拒绝原因](https://doona.daeuniverse.org/zh-CN/troubleshooting.md#read-only)。
3. 修改文本。**未应用**表示草稿尚未保存；**取消**会丢弃草稿。
4. 如果提供**校验**，点击后检查诊断结果。用**跳转**定位行，或用**打开**检查其他文件。参阅[校验条件](https://doona.daeuniverse.org/zh-CN/feature-requirements.md#req-validation)。
5. 点击**应用**并等待结果。成功通知会显示已写入的文件，并确认配置已重新加载。操作失败或结果未确认时，先阅读通知，再决定是否发送下一次更改。

刷新或关闭页面会丢失未应用的草稿。诊断结果会区分已接受的配置和当前草稿；支持校验时，输入修改会触发新的草稿检查。

文件选择器区分 **主配置**、**引入文件**、**订阅** 和 **引擎生成** 来源。悬停在线数和大小上可查看加载时间。订阅更新会替换订阅来源，引擎会覆盖生成来源，因此应修改产生它们的配置。在只读来源中输入时，每个文件会提示一次。

已接受配置的诊断会保留到草稿完成验证。应用更改或收到新配置世代后，之前的验证结果会清除。清空级别筛选会回到 **全部**。旧验证链接会打开 **配置文件** 中的诊断。

如果编辑期间文件发生变化，保存会暂停。检查该变化后，选择**保留修改**，再点击**应用**，即可用草稿覆盖较新的文件；选择**取消**则丢弃草稿，使用较新的文本。

需要重启的通知表示此次编辑已被拒绝。请按[只能通过重启生效的设置](https://doona.daeuniverse.org/zh-CN/what-doona-can-change.md#restart-global)处理，不要反复点击应用。

### 创建引入文件

1. 在**配置文件**中点击**新建文件**。
2. 若对话框提供目录和扩展名，只需填写 **名称**。有多个 **路径模式** 时先选择一个。否则，在 **路径** 中填写相对于主配置所在目录的 `.dae` 路径。
3. 如果提示路径不匹配任何已加载的引入模式，先修正路径。
4. 点击**创建**。空文件会在编辑器中打开，随后按上述步骤编辑。

### 使用全局设置表单

1. 打开**全局设置**，从**配置文件**选择器中选择要编辑的区段。
2. 按字段标注的单位和范围修改值。配置键的含义见[配置参考](https://doona.daeuniverse.org/zh-CN/configuration.md#config)；重复项须在**配置文件**中处理。
3. 点击**写入并重新加载**，或用**放弃修改**丢弃草稿。离开前检查操作结果。

若写入成功但无法读回新配置，草稿会保留，并提供 **重试**。

选择器包含主文件及 include 文件中的全局区段；没有全局区段的主文件可新增一个。**未设置** 使用引擎默认值。清空数值字段会将其设为未设置；整数字段不接受小数点，端口数字不分组，例如 `8080`。

订阅正文存入状态数据库的 `subscription_body` 表，数据库位置见[配置参考](https://doona.daeuniverse.org/zh-CN/configuration.md#config)。独立 `.sub` 文件属于旧存储格式，启动迁移说明见 [honk 订阅参考](https://github.com/daeuniverse/honk/blob/main/doc/en/reference/subscription.md#fetch-persistence-and-recovery)。

### 导出或恢复配置

打开**备份与修订**，选择所需操作：

| 任务 | 操作 |
| --- | --- |
| 下载已接受的配置 | 点击**导出配置**。分享下载文件前，检查其中的凭据。 |
| 用服务器文件替换数据库配置 | 点击**导入服务器文件**，检查提示后确认。这会读取 honk 启动时使用的文件树，不会上传本地文件。 |
| 恢复已记录的修订 | 打开修订，检查元数据和来源，再点击**恢复修订**并确认。 |
| 检查结果未确认的导入或恢复 | 使用**刷新**检查已接受的操作，再决定是否发起另一次写入。 |

恢复修订前，核对各来源的 SHA-256 值。导入或恢复期间，若数据库当前修订发生变化，需重新核对并确认替换。

只需下载选中的来源文本时，在**配置文件**中使用**下载源文件**；分享前同样须检查内容。可用操作和导出限制见[备份与修订条件](https://doona.daeuniverse.org/zh-CN/feature-requirements.md#req-revisions)。

<a name="settings-page"></a>

## 打开设置

**设置**分为**通用**和**外观**两个标签页。通用包含后端配置方案、临时运行时覆盖、地理数据、延迟探测和关于。没有连接后端时也能打开此页。

### 连接或切换后端

1. 在**通用** → **后端**中选择**配置方案**，或点击**新建配置方案**。
2. 在**后端网址**填写后端根地址或反向代理前缀，不要附加 `/api/v1`。使用示范数据时填写 `mock`；空地址无法保存。
3. 使用 Token 认证时填写 **Token**。使用密码认证时，按[登录指南](https://doona.daeuniverse.org/zh-CN/first-sign-in.md)操作。
4. 点击**测试连接**，检查结果。
5. 点击**保存**，存储配置方案并重新加载页面。

切换方案或确认方案对话框会丢弃未保存的网址和 Token 修改。**重命名配置方案**和**删除配置方案**用于管理已保存的条目。**退出登录**会结束密码登录会话，或删除本浏览器保存的 Token；删除 Token 不会使其在后端失效。

选择其他连接配置会保存选择并立即重新加载页面。确认 **新建配置方案**、**重命名配置方案** 或 **删除配置方案** 后也会重新加载；新连接配置使用演示数据。

配对链接会填入 **后端网址** 和 **Token**，点 **保存** 后生效。保存只修改此浏览器的连接配置，不修改 honk 配置。测试或登录失败时，见[登录故障排除](https://doona.daeuniverse.org/zh-CN/troubleshooting.md#sign-in)。

<a name="runtime-options"></a>

### 修改临时运行时选项

先检查[运行时覆盖条件](https://doona.daeuniverse.org/zh-CN/feature-requirements.md#req-runtime-options)。

1. 打开**临时运行时覆盖**，检查当前显示的是**配置值**还是**运行时覆盖**。
2. 修改提供的日志级别、记录数量、流保留时间或记录模式。每种记录都有独立的按需、始终开启和关闭选项。
3. 点击**应用**，或用**放弃修改**丢弃草稿。查看各项旁的记录状态。

编辑期间若后端运行时选项发生变化，doona 会保留草稿并提示变化。

可用字段包括 **日志级别**、**日志保留条数**、**DNS 记录保留条数**、**流程保留条数** 和 **流程保留秒数**。**流程记录** 提供 **按流程需求**，**日志记录** 提供 **按日志需求**，**DNS 记录** 提供 **按 DNS 日志需求**；三者也都提供 **常开** 和 **关闭**。记录器状态显示为 **记录中**、**未记录** 或 **配置禁止**。

覆盖值的有效期见[运行时更改](https://doona.daeuniverse.org/zh-CN/what-doona-can-change.md#change-runtime)。需要持久保存时，使用**在配置中编辑持久设置**，并查阅[配置参考](https://doona.daeuniverse.org/zh-CN/configuration.md#config)。

<a name="geodata"></a>

### 更新地理数据或修改来源

按所需操作检查[文件可用条件](https://doona.daeuniverse.org/zh-CN/feature-requirements.md#req-geodata)、[更新条件](https://doona.daeuniverse.org/zh-CN/feature-requirements.md#req-geodata-update)和[设置条件](https://doona.daeuniverse.org/zh-CN/feature-requirements.md#req-geodata-settings)。

1. 打开**地理数据**并检查文件。展开**详细信息**，查看检查时间和下载信息。
2. 要立即下载已配置的来源，点击**立即更新**并等待结果。
3. 要修改来源，在**来源**中选择预设，或选择**自定义**并填写网址。检查缺少分类的警告。在自定义对话框中，点击提供的**应用并更新**或**应用**。
4. 按需调整提供的**下载路由**、**SHA-256 校验**或**自动更新**。选择**指定组**时，还须选择组才会保存路由。这些控件在修改后保存，须检查各次操作结果。
5. 要移除覆盖值，点击**重置为默认值**，阅读确认提示后再继续。

**来源** 提供 **Loyalsoldier**、**MetaCubeX 完整版**、**MetaCubeX 精简版** 和 **自定义**。使用 honk 时，每个自定义 URL 列表最多接受四个地址，按顺序尝试。点 **编辑** 可重新打开自定义对话框。

**详细信息** 显示 **上次检查**、**下次检查**，以及各文件的大小、下载主机和路由。文件表格显示各文件的更新时间。

持久保存方式见[地理数据的存储与生效](https://doona.daeuniverse.org/zh-CN/what-doona-can-change.md#change-geodata)；下载或生效失败时，参阅[地理数据故障排查](https://doona.daeuniverse.org/zh-CN/troubleshooting.md#geodata-update)。

### 设置手动探测偏好

1. 打开**延迟探测**。
2. 选择**探测方式**、**IP 版本**、**连接**和**策略组探测**。
3. 返回节点或组，使用测试按钮。**按选项探测…**可以调整本次测试的选项。

**暖探测（复用连接）** 复用连接；**冷探测（新连接）** 新建连接。**策略组探测** 可选 **直接成员** 或 **含嵌套分组的所有节点**，后者包含嵌套组中的节点。

查看[探测要求](https://doona.daeuniverse.org/zh-CN/feature-requirements.md#req-probes)和[结果含义](https://doona.daeuniverse.org/zh-CN/routing.md#policies)。背景检查使用 **在配置中编辑健康检查**，字段含义见[配置参考](https://doona.daeuniverse.org/zh-CN/configuration.md#config)。

### 修改外观

1. 打开**外观**。
2. 选择**语言**、**配色**和**明暗模式**，按需调整**日期格式**、**时间格式**或**启动时打开**。
3. 使用 Glass 配色时，在**背景图片**中点击**选择图片**，或用**使用默认**恢复内置背景。按需调整提供的遮罩和模糊控件，使文字清晰可读。

#### 日期与时间

**日期格式** 默认使用 **自动（浏览器地区）**，不受界面语言影响；也可选择 **日/月/年**、**月/日/年** 或 **年-月-日**。**时间格式** 默认为 **24 小时制**；**12 小时制** 使用界面语言的上午、下午字样，**自动（浏览器地区）** 则遵循浏览器地区。这些选择适用于整个界面，包括图表和日志热力图。

#### 布局与启动页面

还可设置 **字标**、**通知位置** 和 **镜像布局**。镜像布局会左右翻转界面。**显示国旗** 控制节点名称前的国旗，不改变路由。**活动卡片显示趋势图** 控制流量、CPU 和延迟迷你图。

**启动时打开** 默认为 **活动**，修改后立即保存。它只在地址没有页面路由时生效，明确的页面链接仍打开原目标。未配置后端且地址没有页面路由时，会打开 **设置**。

#### 玻璃配色与壁纸

玻璃配色包括 **液态玻璃**、**玻璃**、**毛玻璃** 和 **着色**。Firefox 和 Safari 将液态玻璃显示为普通玻璃。毛玻璃使用均匀模糊，着色表面接近不透明且不模糊。液态玻璃的 **事件** 和 **日志** 表格不使用折射和亮边。系统开启减少透明度、增强对比度或强制颜色时，界面使用实色表面。液态玻璃支持范围见[浏览器要求](https://doona.daeuniverse.org/zh-CN/feature-requirements.md#req-browser-settings)。

自定义壁纸也显示在登录页，长边最多缩放至 2560 像素。**可读性遮罩** 默认开启；**淡化** 默认及最大值均为 60%，浅色模式使用白色，深色模式使用黑色。液态玻璃、玻璃和毛玻璃的 **模糊程度** 范围为 0% 到 150%；低于 100% 时会增加表面填充。着色配色没有模糊控件。

浏览器支持和存储条件见[浏览器设置](https://doona.daeuniverse.org/zh-CN/feature-requirements.md#req-browser-settings)。哪些选择属于当前浏览器，见[存储位置说明](https://doona.daeuniverse.org/zh-CN/what-doona-can-change.md)。

### 查找帮助和错误详情

在**关于**中，通过**指南**打开文档，通过**键盘快捷键**查看快捷键列表。**复制最近错误**可复制近期 API 错误，用于提交错误报告；失败通知中的**复制错误**则复制该次请求的详情。

**关于 doona** 显示引擎、API 和契约版本、许可证及隐私声明。支持时会提供 **安装为应用**；尚未作为应用运行时，iOS/iPadOS 的 Safari 及 macOS 的 Safari 26 或更新版本会显示手动安装步骤。API 主版本不是 1 时会显示警告。

JSON 读取返回空正文或没有收到响应时，会重试一次再显示错误。错误详情包含请求及关键响应头。

<a name="backend-actions"></a>

## 查找后端操作

| 操作 | 页面与步骤 | 使用条件 |
| --- | --- | --- |
| 重新加载、挂起或恢复 honk | [系统状态](https://doona.daeuniverse.org/zh-CN/observe.md#overview) | [生命周期操作](https://doona.daeuniverse.org/zh-CN/feature-requirements.md#req-reload-suspend) |
| 删除 DNS 缓存条目 | [DNS](https://doona.daeuniverse.org/zh-CN/observe.md#dns) | [缓存操作](https://doona.daeuniverse.org/zh-CN/feature-requirements.md#req-dns-cache) |
| 更新订阅 | [节点](https://doona.daeuniverse.org/zh-CN/routing.md#nodes) | [订阅更新](https://doona.daeuniverse.org/zh-CN/feature-requirements.md#req-subscription-refresh) |
| 关闭连接 | [连接](https://doona.daeuniverse.org/zh-CN/observe.md#connections) | [连接操作](https://doona.daeuniverse.org/zh-CN/feature-requirements.md#req-connections) |

写入浏览器中暂存的规则，参阅[暂存规则](https://doona.daeuniverse.org/zh-CN/routing.md#held-rules)。
