<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Cookbook on Alcatraz</title><link>https://bolasblack.github.io/alcatraz/cookbook/</link><description>Recent content in Cookbook on Alcatraz</description><generator>Hugo</generator><language>en</language><atom:link href="https://bolasblack.github.io/alcatraz/cookbook/index.xml" rel="self" type="application/rss+xml"/><item><title>Transparent TCP Proxy with sing-box</title><link>https://bolasblack.github.io/alcatraz/cookbook/transparent-proxy-sing-box/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://bolasblack.github.io/alcatraz/cookbook/transparent-proxy-sing-box/</guid><description>&lt;h1 id="transparent-tcp-proxy-with-sing-box"&gt;Transparent TCP Proxy with sing-box&lt;a class="anchor" href="#transparent-tcp-proxy-with-sing-box"&gt;#&lt;/a&gt;&lt;/h1&gt;
&lt;p&gt;Route every outbound &lt;strong&gt;TCP&lt;/strong&gt; byte the container emits — any protocol, any port — through a &lt;a href="https://github.com/sagernet/sing-box"&gt;sing-box&lt;/a&gt; instance that you control, which in turn forwards to your real upstream proxy (SOCKS5, VMess, Shadowsocks, Trojan, …).&lt;/p&gt;
&lt;h2 id="scope-tcp-only"&gt;Scope: TCP only&lt;a class="anchor" href="#scope-tcp-only"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;&lt;a href="https://bolasblack.github.io/alcatraz/config/fields/#networkproxy"&gt;&lt;code&gt;network.proxy&lt;/code&gt;&lt;/a&gt; only proxies &lt;strong&gt;TCP&lt;/strong&gt;. UDP traffic (DNS, QUIC, anything else) goes out via the container&amp;rsquo;s normal network path, not through sing-box. The &lt;em&gt;why&lt;/em&gt; is non-obvious — see &lt;a href="https://bolasblack.github.io/alcatraz/config/network/#transparent-proxy"&gt;Transparent Proxy&lt;/a&gt; in the network docs and &lt;a href="https://github.com/bolasblack/alcatraz/blob/master/.agents/decisions/AGD-037_transparent-proxy-for-containers.md"&gt;AGD-037&lt;/a&gt; for the full story. Short version: there is currently no working path for transparent UDP proxying of container traffic on Linux, and making the recipe pretend otherwise would just mislead you.&lt;/p&gt;</description></item></channel></rss>