Singborg 06:透明代理优化评审
sing-box 配置优化评审 + 参考项目分析 + GUI 选型 本文所有改动都用 sing-box 1.14.2 真二进制 验证过(sing-box check exit=0,无弃用告警)。参考项目:Fanju6/NetProxy-Magisk(Magisk 模块,内置sing-box 1.15.0-alpha.8 + eBPF 透明代理 + Android App + WebUI,维护很积极)。 🕓 2026-10-02 复核追注本文写于 TUN 时代。当天中午起本机已切到 eBPF 模式:现役 sing-box-ebpf 1.14.2.ref1nd-2(fork 构建),入站是 local.cgroup + shared: packet_rewrite(挂 virbr0),配置里已没有 TUN 入站(sing-box api ebpf 实测 role=local/mechanism=cgroup +role=shared/mechanism=tcx)。所以文中凡以「你用 TUN」为前提的表述(第二节末行、第四节 tun.stack 一项、第六节)都已过时;另有两处结...
Singborg 07:daed DNS 故障诊断(历史记录)
pacman -Syy 大面积失败:诊断与修复 🕓 历史文档(2026-10-02 追注)daed 已经不在用了。 现役透明代理是 sing-box —— fork 构建 sing-box-ebpf 1.14.2.ref1nd-2,走 eBPF(local.cgroup + shared: packet_rewrite 挂 virbr0),不是 TUN、更不是 dae。实测:pacman -Q daed dae → 两个包都**”未找到”**;systemctl status daed → 无此 unit;tc qdisc show dev wlan0 → 只剩 noqueue(没有 clsact,tc filter show 为空)→ dae 的eBPF 钩子已清干净;ip -brief link 无 dae0、ip netns list 为空。 所以本文是 daed 时代的一次故障定位记录,保留它的价值在于”当时是怎么判的”:文中的结论、命令、面板地址(127.0.0.1:2023)都已不是现状。第 2 节的”立刻验证”(sudo systemctl stop daed)现...
Singborg 08:daed → sing-box 迁移计划(历史记录)
从 daed 迁移:选型结论 + 落地方案(CachyOS / 单 wlan0 / 机场订阅) 🕓 历史文档 + 待办核对(2026-10-02 追注)这是 daed 时代的迁移方案,已执行完毕 —— 但最终落地方式与文中不同:没有用 TUN,用的是 eBPF(现役 sing-box-ebpf 1.14.2.ref1nd-2,local.cgroup + shared: packet_rewrite 挂 virbr0)。逐条核对本文的待办(2026-10-02 实测): 本文的待办 现状 证据 停用 / 卸载 daed ✅ 已完成 pacman -Q daed dae → 两个包都”未找到”;systemctl status daed → 无此 unit;systemctl list-unit-files | grep -i dae → 只有 accounts-daemon 等同名干扰项 清 wlan0 上的 daed_* tc 钩子(第 3 节) ✅ 已完成 tc qdisc show dev wlan0 → 只有 noqueue(无 clsact);tc f...
Singborg 09:踩坑与经验
踩坑与经验这篇是整份记录里最该先看的:结论会过时,踩过的方式不会。分四类 ——sing-box 与内核、工具链、测量方法(我在这里犯过错)、以及流程上的经验。 一、sing-box / 内核1. ebpf 入站只存在于某个 fork,上游没有上游 SagerNet 的 sing-box 没有 ebpf 入站(文档 404):这个入站在 reF1nd/sing-box 分支里(with_ebpf 构建标签,Linux/Android)。而那个 fork 0 个 release → 想要就得自己编。判断依据不是”文档说有”,而是:拿一个带 ebpf 入站的配置去 check,上游二进制直接报unknown inbound type: ebpf。 2. 内核数据面要逐条探测,不能互相推断(我在这里推断错过一次)先看结论:官方文档写得很清楚 —— 这四条路径(local cgroup、local tc、shared packet_rewrite、shared socket_assign)不是按内核版本递进的能力层级。厂商内核可能支持其中一条,却在另一条的对象加载或挂载阶段拒绝。 实...
Singborg:脱敏配置快照与规则集结构
配置记录config.sanitized.json 是什么本机 /etc/sing-box/config.json 的脱敏快照,作用是看懂结构。 ✅ 2026-10-02 23:0x 已按现役配置重新生成,与线上一致:15 份规则集(含 adblockfilters)、inbounds[ebpf].shared = {enabled: true, data_plane: packet_rewrite, interface: ["virbr0"]}、local.bypass_rule_set = ["geoip/cn", "geoip/cn-fresh", "cncidr-mihomo"]。(早先那份 20:03 的快照缺这三项,已替换;配置一改就请重新生成,别让快照落后于线上。) 保留:inbounds / outbounds 的结构与协议字段 / dns / route / experimental,以及每个 rule_set 的 path(路径本身是最有信息量的部分:一眼看出哪几份是自建的); 换掉:代理节点的 server → <node-server>、...
Singborg:eBPF A/B 试跑套件
eBPF 试跑(A/B,可回滚) 历史记录与当前结论分开阅读。 上游 trial/README.md 保留了 2026-10-02 早期试跑时的判断:“TC 数据面与 shared 都不可用”,当时因此倾向回到 TUN。这是当时的记录,不是当前结论。后续 root 级逐条探测已修正该判断:本机 local 的 TC 数据面不可用;shared 的 packet_rewrite / TCX 实测可用,桥接 VM 流量可以接管。本文保留历史经过和原有永久链接,当前结论以 01 审计报告、09 踩坑与经验 和 2026-10-08 完整审计报告 为准。 预检已通过(preflight_passed,51 PASS / 0 fail,见 02 eBPF 可行性验证 §3.1)。注意:预检通过不等于每一种数据面都能工作,TC 与 shared 必须分开实测。这一包东西用来回答最后一个问题:换成 eBPF 后,你那套已经审计过的行为还在不在。 怎么用cd <本仓库>/trial sudo ./run-ebpf-trial.sh # 只接管...
Singborg:14 个 sing-box 运维脚本
运维脚本这些脚本的共同点:改配置一律走同一条安全管线 —— 改配置(内存里)→ sing-box check(不过就什么都不做)→ 时间戳备份 → 原子替换 → 重启 → 健康检查 → 任一环节失败就自动回滚 + 重启 所以它们可以放心重跑(幂等),也不怕”改一半失败”。这台机器上它已经自动救过一次(tc 数据面试错那次)。 脚本 干什么 要 root sing-box-why 查一个域名/IP:为什么被拦 / 走哪条规则 / 从哪个出口出去,被拦时直接给出放行片段 ❌(只读) sing-box-status 一屏体检:模式 / 入站 / 出口 / 分流 / DNS / 规则集 / 备份 ❌(只读) apply-audit-fixes.sh 审计修复:补 anti-AD 广告表、刷新 geoip/cn、清理冗余规则与 dns-local。7 个可选开关见下 ✅ switch-to-ebpf.sh TUN → eBPF;已在 eBPF 时可原地调整数据面/共享/国内绕过。开关见下 ✅ switch-to-tun.sh eBPF → TUN(TUN ...
Linux 上的 sing-box + eBPF 透明代理实践
Linux 上的 sing-box + eBPF 透明代理实践这不是只有最终配置的一篇教程,而是 Singborg 整套实验记录的总览:从 daed 时代的 DNS 故障开始,到 sing-box 网络审计、功能验收、eBPF 预检与 A/B 试跑,再到面板、安全配置管线、规则集维护、脚本化运维和最终收尾。 最终状态截至 2026-10-08 加固验收后: eBPF local.cgroup 接管本机流量 shared.packet_rewrite / TCX 接管 virbr0 上的共享流量 国内域名/IP 直连,海外流量进入 Proxy → Auto DNS 53 端口全部劫持 海外 DNS 使用代理侧 DoH,国内 DNS 使用阿里 / 腾讯 DoH DNS 广告拦截使用 predefined + NXDOMAIN 连接层继续使用规则集拦截,覆盖浏览器自带 DoH 等绕过 DNS 劫持的情况 17 份规则集,其中 8 份来自自建 sing-box-rule-sets,通过 /usr/share/sing-box-rule-sets 随包更新 自研 sing-box-pan...
Linux 本地媒体工具箱:fzf + FFmpeg 脚本体系
基于 ~/.local/bin 当前脚本体系整理的 Linux 媒体处理工具箱,覆盖转码、字幕、音频、图片、混流、质量分析与 Fish 集成。
Arch Linux 私人仓库构建流水线与 CI 体系
构建流水线与仓库维护当前仓库采用四层流水线:Build Graph Correctness、CI Builder Optimization、Repository Integration Tests、Repository Management UI。 1. Build Graph Correctnessscripts/select-packages.py 从 .SRCINFO 建立 provider → consumer 图。 直接依赖会触发下游包重建。 provides 虚拟包会参与依赖传播,例如 ffmpeg-full 提供 ffmpeg 时,依赖 ffmpeg 的包会被选中。 depends 中的版本约束会先归一化为依赖名。 Split package 的多个 pkgname 也被视为同一个 package base 的 provider。 scripts/overlays/<package>.sh 变化只触发对应 package。 scripts/build-in-arch.sh 和 config/ 变化仍会触发完整重建。 --root 参数允许在隔离的 Gi...
voicefox 使用与功能指南
voicefox 当前页面、播放、歌词、下载、本地音乐、音源、通知和平台能力说明。
VoiceFox 0.5.0 快捷键完整参考
voicefox 全局、队列、搜索、排行榜、歌单、收藏、历史、本地音乐、下载和设置页面的完整快捷键参考。














