doona
在 Gentoo 上安装
演示
简体中文

在 Gentoo 上安装

在本地 ebuild 仓库中,用 Portage 从 doona 的 ebuild 安装 doona,并从同一个发布版本安装 honk-core。之后继续阅读最小配置。

说明

从发布页下载 beta.19 附件。

开始之前

  • Linux 6.12 或更高版本,以及系统要求列出的内核选项。用 uname -r 查看内核版本。
  • 可使用 sudo 的用户,或 root shell。需要 root 权限的命令分为“sudo”与“root”两个标签页,请选择与当前 shell 相符的一个。
  • net-misc/curl 与 app-misc/ca-certificates。honk 使用系统 CA 证书校验 HTTPS 下载。
  • 能够访问 github.com。
  • 所有步骤都在同一个终端中执行:后面的步骤会用到前面设置的 REPO、VERSION、PV、BASE 与 TARGET 变量。

安装 lite 时,请先确保 curl 与 CA 证书已安装,再直接前往5. 安装 doona,选择 doona lite 标签页。此前的标准版软件包、仓库、下载与校验步骤均可跳过。

1. 创建本地仓库

把 REPO 设为仓库路径。如果已有本地 ebuild 仓库,把 REPO 设为该仓库的路径,并跳过此步的其余命令。

REPO=/var/db/repos/local

创建仓库并向 Portage 注册:

sudo

sudo mkdir -p "$REPO/metadata" "$REPO/profiles" /etc/portage/repos.conf
echo local | sudo tee "$REPO/profiles/repo_name"
printf 'masters = gentoo\nauto-sync = false\n' | sudo tee "$REPO/metadata/layout.conf"
printf '[local]\nlocation = %s\n' "$REPO" | sudo tee /etc/portage/repos.conf/local.conf
portageq get_repos /

root

mkdir -p "$REPO/metadata" "$REPO/profiles" /etc/portage/repos.conf
echo local > "$REPO/profiles/repo_name"
printf 'masters = gentoo\nauto-sync = false\n' > "$REPO/metadata/layout.conf"
printf '[local]\nlocation = %s\n' "$REPO" > /etc/portage/repos.conf/local.conf
portageq get_repos /

最后一条命令在 gentoo 旁列出 local。

2. 加入 doona 的 ebuild

设置发布版本号及其 Gentoo 写法。ebuild 取自 v0.1.0-beta.19 标签对应的提交,下载网址由 PV 决定。

sudo

VERSION=0.1.0-beta.19
PV=0.1.0_beta19
RAW=https://raw.githubusercontent.com/Zakkaus/doona/v${VERSION}/install/gentoo/net-proxy/doona
sudo mkdir -p "$REPO/net-proxy/doona"
cd "$REPO/net-proxy/doona"
sudo curl -fL -o "doona-$PV.ebuild" "$RAW/doona-$PV.ebuild" -O "$RAW/metadata.xml"
cd -

root

VERSION=0.1.0-beta.19
PV=0.1.0_beta19
RAW=https://raw.githubusercontent.com/Zakkaus/doona/v${VERSION}/install/gentoo/net-proxy/doona
mkdir -p "$REPO/net-proxy/doona"
cd "$REPO/net-proxy/doona"
curl -fL -o "doona-$PV.ebuild" "$RAW/doona-$PV.ebuild" -O "$RAW/metadata.xml"
cd -

3. 下载并校验 doona 归档文件

ebuild 安装发布版本中的程序归档文件;默认启用的 fonts USE 标志还会安装字体归档文件。下载这两个文件与 SHA256SUMS 并校验。

BASE=https://github.com/Zakkaus/doona/releases/download/v$VERSION
curl -fL -O "$BASE/doona-${VERSION}.tar.gz" -O "$BASE/doona-fonts-${VERSION}.tar.gz" -O "$BASE/SHA256SUMS"
grep -E " doona(-fonts)?-${VERSION}\.tar\.gz\$" SHA256SUMS | sha256sum -c -

应当显示:

doona-0.1.0-beta.19.tar.gz: OK
doona-fonts-0.1.0-beta.19.tar.gz: OK

4. 把归档文件交给 Portage

把校验过的归档文件以 ebuild 所需的文件名复制到 distfiles 目录,再据此生成仓库的 Manifest。

sudo

DISTDIR=$(portageq distdir)
sudo cp "doona-${VERSION}.tar.gz" "$DISTDIR/doona-$PV.tar.gz"
sudo cp "doona-fonts-${VERSION}.tar.gz" "$DISTDIR/doona-$PV-fonts.tar.gz"
sudo ebuild "$REPO/net-proxy/doona/doona-$PV.ebuild" manifest

root

DISTDIR=$(portageq distdir)
cp "doona-${VERSION}.tar.gz" "$DISTDIR/doona-$PV.tar.gz"
cp "doona-fonts-${VERSION}.tar.gz" "$DISTDIR/doona-$PV-fonts.tar.gz"
ebuild "$REPO/net-proxy/doona/doona-$PV.ebuild" manifest

最后一条命令输出 >>> Creating Manifest for 及软件包目录,默认为 /var/db/repos/local/net-proxy/doona。

5. 安装 doona

设置 ui: embedded 时,doona beta.19 的 honk debug.2026.10.9.native-api.2 附件(提交 eac5e0c5fba5078a7ff4517a3e3851e7fa0f4f8e)提供内置的 doona 0.1.0-beta.19,无需单独安装界面软件包。也可以设置 ui: /usr/share/doona,提供此处安装的 beta.19 软件包,详见最小配置。

该 ebuild 的关键字为测试分支(~amd64、~arm64 等),需要先为这个软件包接受测试关键字。请把 ~amd64 换成本机架构的关键字。

doona lite 使用压缩包,暂不提供发行版软件包。请按安装 doona lite操作,设置 ui: /usr/share/doona-lite,然后继续本页的 honk 步骤。选择所需版本与 shell 对应的标签页。

标准版 (sudo)

sudo mkdir -p /etc/portage/package.accept_keywords
echo 'net-proxy/doona ~amd64' | sudo tee /etc/portage/package.accept_keywords/doona
sudo emerge --ask net-proxy/doona
ls -l /usr/share/doona/index.html

标准版 (root)

mkdir -p /etc/portage/package.accept_keywords
echo 'net-proxy/doona ~amd64' > /etc/portage/package.accept_keywords/doona
emerge --ask net-proxy/doona
ls -l /usr/share/doona/index.html

doona lite (sudo)

VERSION=0.1.0-beta.19
BASE=https://github.com/Zakkaus/doona/releases/download/v$VERSION
curl -fL -O "$BASE/doona-lite-${VERSION}.tar.gz" -O "$BASE/SHA256SUMS"
grep " doona-lite-${VERSION}.tar.gz\$" SHA256SUMS | sha256sum -c -
sudo mkdir -p /usr/share/doona-lite
sudo tar -xzf "doona-lite-${VERSION}.tar.gz" -C /usr/share/doona-lite
ls -l /usr/share/doona-lite/index.html

doona lite (root)

VERSION=0.1.0-beta.19
BASE=https://github.com/Zakkaus/doona/releases/download/v$VERSION
curl -fL -O "$BASE/doona-lite-${VERSION}.tar.gz" -O "$BASE/SHA256SUMS"
grep " doona-lite-${VERSION}.tar.gz\$" SHA256SUMS | sha256sum -c -
mkdir -p /usr/share/doona-lite
tar -xzf "doona-lite-${VERSION}.tar.gz" -C /usr/share/doona-lite
ls -l /usr/share/doona-lite/index.html

安装 lite 后,ls 须列出 /usr/share/doona-lite/index.html。请继续6. 选择 honk-core 构建,跳过下方的标准版结果说明与可选软件包。在最小配置中,将 ui 设为 /usr/share/doona-lite。

以下为标准版的结果与可选组件:

Portage 最后输出 Point the engine's ui setting at /usr/share/doona, or serve that directory with any web server.,ls 输出一行以 /usr/share/doona/index.html 结尾的内容。该软件包包含 doona 的网页文件与文档,不安装任何服务。如不需要 Noto Sans TC 与 SC 字体,请为 net-proxy/doona 设置 USE=-fonts。

6. 选择 honk-core 构建

uname -m

发布版本附带 8 个 honk-core 归档文件,名称为 honk-core-debug-<target>.tar.gz。根据机器类型与 C 库确定 target:

uname -m 输出 target 开头
x86_64 x86_64-unknown-linux-
aarch64 aarch64-unknown-linux-
target 结尾 适用情况
musl 无法确定,或系统使用 musl 时选择此项。静态链接,不受系统 glibc 版本限制。
gnu 系统的 glibc 为 2.39 或更高版本。
-stock 后缀 使用系统内存分配器,而非 mimalloc。

例如 x86_64-unknown-linux-musl、aarch64-unknown-linux-gnu 或 x86_64-unknown-linux-musl-stock。

7. 下载并校验 honk-core

把 TARGET 设为所选的构建,然后从同一个发布版本下载,并用同一个 SHA256SUMS 校验。

TARGET=x86_64-unknown-linux-musl
curl -fL -O "$BASE/honk-core-debug-$TARGET.tar.gz"
grep " honk-core-debug-$TARGET.tar.gz\$" SHA256SUMS | sha256sum -c -

应当显示:

honk-core-debug-x86_64-unknown-linux-musl.tar.gz: OK

8. 安装 honk-core

归档文件内有一个目录,其中包含 honk-core 二进制文件。把它安装为 /usr/local/bin/honk-core,即服务管理中的服务启动的路径。

sudo

tar -xzf honk-core-debug-$TARGET.tar.gz
sudo install -m 0755 honk-core-debug-$TARGET/honk-core /usr/local/bin/honk-core
/usr/local/bin/honk-core --version

root

tar -xzf honk-core-debug-$TARGET.tar.gz
install -m 0755 honk-core-debug-$TARGET/honk-core /usr/local/bin/honk-core
/usr/local/bin/honk-core --version

最后一条命令输出 honk 的构建版本,例如:

honk-core debug.2026.10.9.native-api.2

同一个发布版本中的 HONK-SOURCE.txt 记录 honk 构建,并提供 honk 源码与对应 doona 源码的链接。

首次启动 honk 前,请按目录与地理数据安装 geosite.dat 与 geoip.dat。

下一步:最小配置。服务相关步骤只涵盖 systemd 与 OpenWrt 的 procd;doona 与 honk 都不提供 OpenRC 脚本。使用 OpenRC 时,服务管理给出在前台运行 honk 的命令,用于完成首次登录。

遇到问题时

看到的内容 原因与处理
curl: (22) The requested URL returned error: 404 版本号或文件名有误。请对照发布页检查 VERSION 与 PV。
sha256sum: 'standard input': no properly formatted checksum lines found grep 没有找到该文件对应的行:当前终端未设置 VERSION 或 TARGET,或其中有拼写错误。
FAILED 与 WARNING: 1 computed checksum did NOT match 下载的文件损坏或不完整。删除该文件后重新下载。
emerge 找不到 net-proxy/doona portageq get_repos / 没有列出 local:请检查第 1 步写入的三个文件。
emerge 报告该软件包因 ~amd64 被屏蔽 /etc/portage/package.accept_keywords/doona 中的关键字与本机架构不符。
version 'GLIBC_2.38' not found gnu 构建需要更新的 glibc。请改用 musl 构建。

安装后遇到的问题请参阅故障排查。

doona

doona 文档

简体中文
doona 文档首次启动若只使用直连,请按快速入门操作。 快速入门使用仅直连的 honk 配置启动 doona 标准版,登录后验证网关本机的流量。 标准版与 doona lite标准版用于管理配置与观测流量。 系统要求 在 Debian 或 Ubuntu 上安装在 Debian、Ubuntu 或其他使用 APT 的系统上,从 doona-web .deb 软件包安装 doona,并从同一个发布版本安装 honk-core。 在 Fedora 或 RHEL 上安装在 Fedora、RHEL 或其他使用 DNF 的系统上,从 .rpm 软件包安装 doona,并从同一个发布版本安装 honk-core。 在 Arch Linux 上安装在 Arch Linux 或其他使用 pacman 的系统上,从 .pkg.tar.zst 软件包安装 doona,并从同一个发布版本安装 honk-core。 在 Gentoo 上安装在本地 ebuild 仓库中,用 Portage 从 doona 的 ebuild 安装 doona,并从同一个发布版本安装 honk-core。 在 OpenWrt 上安装在 OpenWrt 25.12 上,从发布软件包或归档安装 doona,并从同一个发布版本安装 honk-core。 在其他系统上安装在符合以下内核要求的 x86_64 或 aarch64 Linux 系统上,从发布归档安装 doona 与 honk-core。 安装详解先安装 honk 并编写配置,再安装 doona 并启动 honk。 最小配置本页编写能启动 honk 并提供 doona 的最小 honk 配置,然后手动启动 honk 检查配置。 服务管理本页把 honk 作为 systemd 或 OpenWrt procd 服务运行:先创建一次服务,再列出启动、停止、重启、重载 honk 以及查看日志的命令。 为第一条连接设置路由从快速启动继续,保持 honk 运行并以管理员身份登录。 首次登录本页在浏览器中打开 doona,创建管理员账户,并检查 doona 是否显示正在运行的 honk。 界面导览用导航打开页面,用顶部栏搜索或刷新,用标签页切换视图。 观测流量用「活动」与「系统状态」查看引擎健康,用「连接」「分流」与「DNS」检查流量。 路由、节点与规则策略管理组选择与成员。 配置与设置「配置」页读取、校验并应用 honk 的配置文件。 常见操作本页介绍标准版;doona lite 请参阅 doona lite。 功能各项功能的前提条件与操作被禁用的原因,见功能启用条件。 doona litedoona lite 为初学者提供较小的界面,用于编辑 honk 配置。 连接 doona lite将 doona lite 连接到 honk 原生 API,或在没有后端时打开演示。 doona lite 常见操作使用 doona lite 导入资源并编辑 honk 配置。 配置参考本页列出 doona 涉及的 honk DAE 设置、默认值及生效方式。 doona 可以修改什么doona 通过不同的控制项修改配置源、运行时状态、持久保存的地理数据设置和浏览器偏好。 功能启用条件在表中找到你要使用的标准版功能,再按对应章节检查前提并启用。 故障排查 开发提交 pull request 前先读 CONTRIBUTING.md。