<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Sing-Box on 李寒的小窝</title><link>http://lihan3238.github.io/tags/sing-box/</link><description>Recent content in Sing-Box on 李寒的小窝</description><generator>Hugo -- gohugo.io</generator><language>zh</language><lastBuildDate>Tue, 30 Jun 2026 17:20:00 +0800</lastBuildDate><atom:link href="http://lihan3238.github.io/tags/sing-box/index.xml" rel="self" type="application/rss+xml"/><item><title>雅典娜路由器上的 homeproxy / sing-box 代理记录</title><link>http://lihan3238.github.io/p/athena-homeproxy-sing-box-proxy/</link><pubDate>Tue, 30 Jun 2026 16:45:00 +0800</pubDate><guid>http://lihan3238.github.io/p/athena-homeproxy-sing-box-proxy/</guid><description>&lt;img src="http://lihan3238.github.io/p/athena-homeproxy-sing-box-proxy/imgs/avatar.png" alt="Featured image of post 雅典娜路由器上的 homeproxy / sing-box 代理记录" /&gt;
 &lt;blockquote&gt;
 &lt;p&gt;本文接在上一篇《京东云无线宝 AX6600 雅典娜刷 OpenWrt/LibWrt 记录》后面。刷机解决的是“这台路由器能不能被我控制”；这一篇只记录它作为常驻代理出口时，&lt;code&gt;homeproxy&lt;/code&gt; 和 &lt;code&gt;sing-box&lt;/code&gt; 这一层怎么用、怎么检查、怎么避免踩坑。&lt;/p&gt;

 &lt;/blockquote&gt;
&lt;h2 id="1-为什么放到路由器上"&gt;1. 为什么放到路由器上
&lt;/h2&gt;&lt;p&gt;我之前一直把代理看成某台电脑上的客户端：Windows 开一个，WSL 里再想办法连过去，其他设备或服务又要单独处理一遍。&lt;/p&gt;
&lt;p&gt;这在个人电脑上能用，但不够稳定：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Windows 睡眠、重启或代理客户端退出，其他设备就跟着断。&lt;/li&gt;
&lt;li&gt;&lt;code&gt;127.0.0.1:10808&lt;/code&gt; 只对当前机器有意义，换到 WSL、手机、远端机器或其他运行环境就要重新解释。&lt;/li&gt;
&lt;li&gt;很多命令行工具只是临时需要公网出口，不值得把代理写进全局配置。&lt;/li&gt;
&lt;li&gt;路由器本来就是常开设备，把轻量代理服务放在这一层更自然。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;所以现在的目标很简单：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt"&gt;1
&lt;/span&gt;&lt;span class="lnt"&gt;2
&lt;/span&gt;&lt;span class="lnt"&gt;3
&lt;/span&gt;&lt;span class="lnt"&gt;4
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-text" data-lang="text"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;雅典娜 / LibWrt
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; homeproxy -&amp;gt; sing-box mixed proxy
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; 10.77.0.3:10808 # WSL / wg_school 优先使用
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; 10.22.0.3:10808 # 同一路由器的 fallback
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;一句话：&lt;strong&gt;桌面代理可以临时用，常驻代理出口放到路由器上。&lt;/strong&gt;&lt;/p&gt;
&lt;h2 id="2-当前状态"&gt;2. 当前状态
&lt;/h2&gt;&lt;p&gt;这是写本文时的实机状态。节点、订阅、密码、私钥都不写进公开博客，也不放截图。&lt;/p&gt;
&lt;table&gt;
	&lt;thead&gt;
			&lt;tr&gt;
					&lt;th&gt;项目&lt;/th&gt;
					&lt;th&gt;当前值&lt;/th&gt;
			&lt;/tr&gt;
	&lt;/thead&gt;
	&lt;tbody&gt;
			&lt;tr&gt;
					&lt;td&gt;设备&lt;/td&gt;
					&lt;td&gt;京东云无线宝 AX6600 雅典娜&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;系统&lt;/td&gt;
					&lt;td&gt;&lt;code&gt;LibWrt SNAPSHOT&lt;/code&gt;&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;内核&lt;/td&gt;
					&lt;td&gt;&lt;code&gt;Linux 6.12.87&lt;/code&gt;，&lt;code&gt;aarch64&lt;/code&gt;&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;homeproxy&lt;/td&gt;
					&lt;td&gt;&lt;code&gt;running&lt;/code&gt;&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;sing-box&lt;/td&gt;
					&lt;td&gt;&lt;code&gt;1.12.25&lt;/code&gt;&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;LAN&lt;/td&gt;
					&lt;td&gt;&lt;code&gt;192.168.221.1/24&lt;/code&gt;&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;WireGuard/LAN 地址&lt;/td&gt;
					&lt;td&gt;&lt;code&gt;10.22.0.3/32&lt;/code&gt;&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;&lt;code&gt;wg_school&lt;/code&gt; 地址&lt;/td&gt;
					&lt;td&gt;&lt;code&gt;10.77.0.3/32&lt;/code&gt;&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;代理监听&lt;/td&gt;
					&lt;td&gt;&lt;code&gt;:::10808&lt;/code&gt;&lt;/td&gt;
			&lt;/tr&gt;
	&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;路由器上看到的关键进程类似这样：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt"&gt;1
&lt;/span&gt;&lt;span class="lnt"&gt;2
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-text" data-lang="text"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;/sbin/ujail ... sing-box-c ...
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;/usr/bin/sing-box run --config /var/run/homeproxy/sing-box-c.json
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;这里可以看出两点：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;homeproxy&lt;/code&gt; 负责生成和托管运行时配置。&lt;/li&gt;
&lt;li&gt;真正提供代理能力的是 &lt;code&gt;sing-box&lt;/code&gt;。&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="3-webui-配置思路"&gt;3. WebUI 配置思路
&lt;/h2&gt;&lt;p&gt;我这套方案不直接手写完整 &lt;code&gt;sing-box&lt;/code&gt; 配置，而是通过 LuCI 里的 &lt;code&gt;homeproxy&lt;/code&gt; 管。&lt;/p&gt;
&lt;p&gt;大体上关注这几类配置就够了：&lt;/p&gt;
&lt;table&gt;
	&lt;thead&gt;
			&lt;tr&gt;
					&lt;th&gt;配置面&lt;/th&gt;
					&lt;th&gt;关注点&lt;/th&gt;
			&lt;/tr&gt;
	&lt;/thead&gt;
	&lt;tbody&gt;
			&lt;tr&gt;
					&lt;td&gt;服务开关&lt;/td&gt;
					&lt;td&gt;启用 &lt;code&gt;homeproxy&lt;/code&gt;，确认保存并应用后服务能启动&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;节点/订阅&lt;/td&gt;
					&lt;td&gt;只在路由器本地维护，不写进文章和仓库&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;入站监听&lt;/td&gt;
					&lt;td&gt;开一个 mixed HTTP/SOCKS5 入口，端口用 &lt;code&gt;10808&lt;/code&gt;&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;访问范围&lt;/td&gt;
					&lt;td&gt;只给可信 LAN / WireGuard 侧设备访问，不对 WAN 开放&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;DNS/透明代理&lt;/td&gt;
					&lt;td&gt;不是本文重点，先保持方案收敛，按需要再单独调&lt;/td&gt;
			&lt;/tr&gt;
	&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;LuCI 登录页可以直接打开：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt"&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-text" data-lang="text"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;http://10.22.0.3/cgi-bin/luci/
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;配置时我的原则是：先把“显式代理”跑稳，也就是客户端明确使用 &lt;code&gt;http://10.77.0.3:10808&lt;/code&gt; 或 &lt;code&gt;http://10.22.0.3:10808&lt;/code&gt;。透明代理、DNS 分流、自动劫持这些能力很强，但排错面也更大，不适合一开始就全打开。&lt;/p&gt;
&lt;p&gt;如果要给文章配图，建议只截这些安全页面：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;homeproxy&lt;/code&gt; 服务状态和开关。&lt;/li&gt;
&lt;li&gt;mixed 监听端口配置。&lt;/li&gt;
&lt;li&gt;防火墙区域或接口绑定。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;不要截节点列表、订阅 URL、访问密钥、出站配置细节。&lt;/p&gt;
&lt;h2 id="4-客户端怎么用"&gt;4. 客户端怎么用
&lt;/h2&gt;&lt;p&gt;WSL 里跑 &lt;code&gt;git&lt;/code&gt;、&lt;code&gt;gh&lt;/code&gt;、&lt;code&gt;curl&lt;/code&gt;、&lt;code&gt;pip&lt;/code&gt;、&lt;code&gt;npm&lt;/code&gt; 这类命令时，优先用 one-shot 环境变量：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt"&gt;1
&lt;/span&gt;&lt;span class="lnt"&gt;2
&lt;/span&gt;&lt;span class="lnt"&gt;3
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nv"&gt;https_proxy&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;http://10.77.0.3:10808 &lt;span class="se"&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nv"&gt;http_proxy&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;http://10.77.0.3:10808 &lt;span class="se"&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;git fetch
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;如果 &lt;code&gt;10.77.0.3:10808&lt;/code&gt; 不通，再切回同一路由器的 fallback：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt"&gt;1
&lt;/span&gt;&lt;span class="lnt"&gt;2
&lt;/span&gt;&lt;span class="lnt"&gt;3
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nv"&gt;https_proxy&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;http://10.22.0.3:10808 &lt;span class="se"&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nv"&gt;http_proxy&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;http://10.22.0.3:10808 &lt;span class="se"&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;git fetch
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;不建议写：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt"&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;git config --global http.proxy ...
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;全局代理很容易在换网络、换机器、换 WireGuard 状态之后反过来坑自己。临时命令需要代理，就给这个命令加环境变量；长期服务需要代理，再写到对应服务自己的配置里。&lt;/p&gt;
&lt;h2 id="5-怎么确认代理真的工作"&gt;5. 怎么确认代理真的工作
&lt;/h2&gt;&lt;h3 id="51-从-wsl-测出口"&gt;5.1 从 WSL 测出口
&lt;/h3&gt;&lt;p&gt;测试 &lt;code&gt;generate_204&lt;/code&gt;：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt"&gt;1
&lt;/span&gt;&lt;span class="lnt"&gt;2
&lt;/span&gt;&lt;span class="lnt"&gt;3
&lt;/span&gt;&lt;span class="lnt"&gt;4
&lt;/span&gt;&lt;span class="lnt"&gt;5
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;curl -sS -o /dev/null &lt;span class="se"&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; -w &lt;span class="s1"&gt;&amp;#39;http_code=%{http_code} connect=%{http_connect} time=%{time_total}\n&amp;#39;&lt;/span&gt; &lt;span class="se"&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; --max-time &lt;span class="m"&gt;20&lt;/span&gt; &lt;span class="se"&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; --proxy http://10.77.0.3:10808 &lt;span class="se"&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; https://www.google.com/generate_204
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;本文写作时返回：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt"&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-text" data-lang="text"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;http_code=204 connect=200 time=0.726562
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;测试 GitHub：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt"&gt;1
&lt;/span&gt;&lt;span class="lnt"&gt;2
&lt;/span&gt;&lt;span class="lnt"&gt;3
&lt;/span&gt;&lt;span class="lnt"&gt;4
&lt;/span&gt;&lt;span class="lnt"&gt;5
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;curl -sS -o /dev/null &lt;span class="se"&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; -w &lt;span class="s1"&gt;&amp;#39;http_code=%{http_code} connect=%{http_connect} time=%{time_total}\n&amp;#39;&lt;/span&gt; &lt;span class="se"&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; --max-time &lt;span class="m"&gt;20&lt;/span&gt; &lt;span class="se"&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; --proxy http://10.77.0.3:10808 &lt;span class="se"&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; https://github.com
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;本文写作时返回：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt"&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-text" data-lang="text"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;http_code=200 connect=200 time=1.654275
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;如果 &lt;code&gt;10.77.0.3:10808&lt;/code&gt; 不通，把命令里的代理地址换成 &lt;code&gt;10.22.0.3:10808&lt;/code&gt; 再试一次。&lt;/p&gt;
&lt;h3 id="52-从路由器看服务"&gt;5.2 从路由器看服务
&lt;/h3&gt;&lt;p&gt;登录路由器后检查：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt"&gt;1
&lt;/span&gt;&lt;span class="lnt"&gt;2
&lt;/span&gt;&lt;span class="lnt"&gt;3
&lt;/span&gt;&lt;span class="lnt"&gt;4
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;/etc/init.d/homeproxy status
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;sing-box version
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;netstat -lntp &lt;span class="p"&gt;|&lt;/span&gt; grep &lt;span class="m"&gt;10808&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;ps w &lt;span class="p"&gt;|&lt;/span&gt; grep -E &lt;span class="s1"&gt;&amp;#39;sing-box|homeproxy&amp;#39;&lt;/span&gt; &lt;span class="p"&gt;|&lt;/span&gt; grep -v grep
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;我这次看到的核心结果：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt"&gt;1
&lt;/span&gt;&lt;span class="lnt"&gt;2
&lt;/span&gt;&lt;span class="lnt"&gt;3
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-text" data-lang="text"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;homeproxy: running
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;sing-box version 1.12.25
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;tcp 0 0 :::10808 :::* LISTEN sing-box
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;这三个结果同时成立，才说明“路由器上的代理入口”这一层是活的。&lt;/p&gt;
&lt;h2 id="6-安全边界"&gt;6. 安全边界
&lt;/h2&gt;&lt;p&gt;代理服务最重要的是边界，不是端口能通就完事。&lt;/p&gt;
&lt;p&gt;我的公开边界：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt"&gt;1
&lt;/span&gt;&lt;span class="lnt"&gt;2
&lt;/span&gt;&lt;span class="lnt"&gt;3
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-text" data-lang="text"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;不要把 10808 暴露到 WAN。
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;只给可信 LAN / WireGuard 侧设备使用。
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;节点、订阅、密码、API key、WireGuard private key 不进 Git，不进博客，不进截图。
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;特别注意 &lt;code&gt;:::10808&lt;/code&gt;。它说明 socket 层是 all-interface 监听，但这不等于公网已经可访问，也不等于一定安全。最终能不能从外部访问，还取决于 OpenWrt 防火墙、接口区域、WAN 入站规则和上游网络。&lt;/p&gt;
&lt;p&gt;我的处理方式是：监听可以统一，但防火墙边界必须明确；公开文章里也只写服务边界和验证方式，不写可复用的敏感配置。&lt;/p&gt;
&lt;h2 id="7-踩坑点"&gt;7. 踩坑点
&lt;/h2&gt;&lt;h3 id="71-不要把本机地址当成通用地址"&gt;7.1 不要把本机地址当成通用地址
&lt;/h3&gt;&lt;p&gt;&lt;code&gt;127.0.0.1:10808&lt;/code&gt; 只适合“当前这台机器自己访问自己”。一旦换到 WSL、路由器、手机或另一台电脑，它就不是同一个服务了。&lt;/p&gt;
&lt;p&gt;这也是我把常驻出口放到雅典娜的原因：内网设备统一记路由器地址，不再猜某台电脑上的本地端口。&lt;/p&gt;
&lt;h3 id="72-不要在-wsl-里用-107701110808"&gt;7.2 不要在 WSL 里用 &lt;code&gt;10.77.0.11:10808&lt;/code&gt;
&lt;/h3&gt;&lt;p&gt;&lt;code&gt;10.77.0.11&lt;/code&gt; 是这台 Windows/WSL 主机给其他 WireGuard peer 看的地址，不适合作为 WSL 自己的默认代理。&lt;/p&gt;
&lt;p&gt;WSL 里优先使用：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt"&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-text" data-lang="text"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;http://10.77.0.3:10808
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;同一路由器 fallback：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt"&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-text" data-lang="text"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;http://10.22.0.3:10808
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;只有明确知道 Windows 侧代理正在运行时，才临时用：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt"&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-text" data-lang="text"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;http://127.0.0.1:10808
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;h3 id="73-先显式代理再考虑透明代理"&gt;7.3 先显式代理，再考虑透明代理
&lt;/h3&gt;&lt;p&gt;显式代理的好处是排错直接：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt"&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-text" data-lang="text"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;客户端命令 -&amp;gt; 代理地址 -&amp;gt; 目标网站
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;透明代理一旦叠加 DNS、路由表、防火墙和分流规则，排查复杂度会高很多。我的建议是先让 &lt;code&gt;curl --proxy ...&lt;/code&gt; 稳定，再按需打开更复杂的分流能力。&lt;/p&gt;
&lt;h2 id="8-维护清单"&gt;8. 维护清单
&lt;/h2&gt;&lt;p&gt;平时按下面顺序排查：&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;LuCI 里 &lt;code&gt;homeproxy&lt;/code&gt; 是否启用。&lt;/li&gt;
&lt;li&gt;路由器上 &lt;code&gt;/etc/init.d/homeproxy status&lt;/code&gt; 是否 running。&lt;/li&gt;
&lt;li&gt;&lt;code&gt;sing-box version&lt;/code&gt; 是否正常输出。&lt;/li&gt;
&lt;li&gt;&lt;code&gt;netstat -lntp | grep 10808&lt;/code&gt; 是否能看到 &lt;code&gt;sing-box&lt;/code&gt; 监听。&lt;/li&gt;
&lt;li&gt;WSL 里用 &lt;code&gt;curl --proxy http://10.77.0.3:10808&lt;/code&gt; 测 &lt;code&gt;generate_204&lt;/code&gt; 或 GitHub。&lt;/li&gt;
&lt;li&gt;不通时切到 &lt;code&gt;10.22.0.3:10808&lt;/code&gt; 再测一次，判断是代理坏了还是某条 WireGuard/路由路径坏了。&lt;/li&gt;
&lt;li&gt;确认防火墙没有把 &lt;code&gt;10808&lt;/code&gt; 开到 WAN。&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;这篇文章以后主要给我自己看：雅典娜上的 &lt;code&gt;homeproxy&lt;/code&gt; 不是“又装了一个插件”，而是给内网可信设备提供一个稳定、可验证、不过度耦合某台电脑状态的代理出口。&lt;/p&gt;</description></item></channel></rss>