<?xml version="1.0" encoding="UTF-8"?><?xml-stylesheet href="/rss.xsl" type="text/xsl"?><rss version="2.0" xmlns:content="http://purl.org/rss/1.0/modules/content/"><channel><title>TLS | 折腾啥</title><description>Power Users/Automators 折腾/讨论/分享各种开源工具/脚本/自动化工作流👥 @zhetengsha_group📌 合集 https://t.me/zhetengsha/2🎁 恰饭 https://t.me/zhetengsha/957📢 广告投放 @xream @xream_botBuy ads: https://telega.io/c/zhetengshafeedId:55438372655431680+userId:62307599601855488</description><link>http://telegram.zhetengsha.eu.org</link><item><title>自建节点证书相关说明更新▎覆盖用于验证证书的域名，但不会改变 SNI免流等场景下, SNI 改为混淆, 不关验证, 仍然验证证书的域名 Xray: verifyPeerCertByName, URI 上叫 vcn mihomo: name-cert-verify Surge: server-cert-verify-name Sub-Store 中可按上述输入写字段, 或使用脚本操作 $server[&apos;name-cert-verify&apos;] = &apos;b.com&apos; 原消息 服务器合集  合集   恰饭推荐   群组 联系推广 #VPS #服务器 #节点 #自建 #证书 #SNI #hostname #TLS #SHA256 #自签 #指纹 #SSL</title><link>http://telegram.zhetengsha.eu.org/posts/6442</link><guid isPermaLink="true">http://telegram.zhetengsha.eu.org/posts/6442</guid><pubDate>Sat, 18 Jul 2026 04:01:42 GMT</pubDate><content:encoded>&lt;u&gt;&lt;img class=&quot;tg-emoji&quot; src=&quot;/static/https://telegram.me/i/emoji/5296369303661067030.webp&quot; alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;20&quot; height=&quot;20&quot; /&gt;&lt;/u&gt;&lt;u&gt;自建节点证书相关说明更新&lt;/u&gt;&lt;br /&gt;&lt;br /&gt;▎&lt;b&gt;覆盖用于验证证书的域名&lt;/b&gt;，但&lt;b&gt;不会改变 SNI&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;免流等场景下, SNI 改为混淆, 不关验证, 仍然&lt;b&gt;验证证书的域名&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;img class=&quot;tg-emoji&quot; src=&quot;/static/https://telegram.me/i/emoji/5170221875044811472.webp&quot; alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;20&quot; height=&quot;20&quot; /&gt; Xray: &lt;code&gt;verifyPeerCertByName&lt;/code&gt;, URI 上叫 &lt;code&gt;vcn&lt;/code&gt;&lt;br /&gt;&lt;img class=&quot;tg-emoji&quot; src=&quot;/static/https://telegram.me/i/emoji/4960853905970823886.webp&quot; alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;20&quot; height=&quot;20&quot; /&gt; mihomo: &lt;a href=&quot;https://github.com/MetaCubeX/mihomo/commit/5677fd38088efc9cc3abe7ed54fefeeb1bea0ac4#diff-06e23ea20a066a0e717b5eaa625dfd3f1d11439f4ad5bd705d16d6e1758b39c0&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; title=&quot;name-cert-verify&quot;&gt;name-cert-verify&lt;/a&gt;&lt;br /&gt;&lt;img class=&quot;tg-emoji&quot; src=&quot;/static/https://telegram.me/i/emoji/4961174074307904393.webp&quot; alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;20&quot; height=&quot;20&quot; /&gt; Surge: &lt;a href=&quot;https://t.me/SurgeTestFlight/1663&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; title=&quot;server-cert-verify-name&quot;&gt;server-cert-verify-name&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;img class=&quot;tg-emoji&quot; src=&quot;/static/https://telegram.me/i/emoji/4960754541902430862.webp&quot; alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;20&quot; height=&quot;20&quot; /&gt; Sub-Store 中可按上述输入写字段, 或使用脚本操作 &lt;code&gt;$server[&apos;name-cert-verify&apos;] = &apos;b.com&apos;&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;&lt;img class=&quot;tg-emoji&quot; src=&quot;/static/https://telegram.me/i/emoji/6327684955379862886.webp&quot; alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;20&quot; height=&quot;20&quot; /&gt; &lt;a href=&quot;https://t.me/zhetengsha/1433&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; title=&quot;原消息&quot;&gt;原消息&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;img class=&quot;tg-emoji&quot; src=&quot;/static/https://telegram.me/i/emoji/6327711622831803904.webp&quot; alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;20&quot; height=&quot;20&quot; /&gt; &lt;a href=&quot;https://t.me/zhetengsha/154&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; title=&quot;服务器合集&quot;&gt;服务器合集&lt;/a&gt; &lt;img class=&quot;tg-emoji&quot; src=&quot;/static/https://telegram.me/i/emoji/6327880277607583303.webp&quot; alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;20&quot; height=&quot;20&quot; /&gt; &lt;a href=&quot;https://t.me/zhetengsha/2&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; title=&quot;合集&quot;&gt;合集&lt;/a&gt;  &lt;img class=&quot;tg-emoji&quot; src=&quot;/static/https://telegram.me/i/emoji/6327792445526380187.webp&quot; alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;20&quot; height=&quot;20&quot; /&gt; &lt;a href=&quot;https://t.me/zhetengsha/957&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; title=&quot;恰饭推荐&quot;&gt;恰饭推荐&lt;/a&gt;  &lt;img class=&quot;tg-emoji&quot; src=&quot;/static/https://telegram.me/i/emoji/6021860481923288796.webp&quot; alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;20&quot; height=&quot;20&quot; /&gt; &lt;a href=&quot;https://t.me/zhetengsha_group&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; title=&quot;群组&quot;&gt;群组&lt;/a&gt; &lt;img class=&quot;tg-emoji&quot; src=&quot;/static/https://telegram.me/i/emoji/6330367862535884142.webp&quot; alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;20&quot; height=&quot;20&quot; /&gt;&lt;a href=&quot;https://t.me/xream_bot&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; title=&quot;联系推广&quot;&gt;联系推广&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;img class=&quot;tg-emoji&quot; src=&quot;/static/https://telegram.me/i/emoji/6327836885552991740.webp&quot; alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;20&quot; height=&quot;20&quot; /&gt; &lt;a href=&quot;https://t.me/zhetengsha/1354&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; title=&quot;#VPS #服务器 #节点 #自建 #证书 #SNI #hostname #TLS #SHA256 #自签 #指纹 #SSL&quot;&gt;#VPS #服务器 #节点 #自建 #证书 #SNI #hostname #TLS #SHA256 #自签 #指纹 #SSL&lt;/a&gt;</content:encoded></item><item><title> Sub-Store 自动设置服务端证书 SHA-256 指纹仅 Node.js 版支持这里示范的是直接从服务端取, 支持所有目标(包括  sing-box 的 certificate_public_key_sha256) 原消息相关: 自建节点证书相关说明 服务器合集   Sub-Store 合集   合集   恰饭推荐   群组 联系推广 #节点 #证书 #SNI #TLS #SHA256 #指纹 #SSL #sing-box #mihomo #surge</title><link>http://telegram.zhetengsha.eu.org/posts/6392</link><guid isPermaLink="true">http://telegram.zhetengsha.eu.org/posts/6392</guid><pubDate>Mon, 13 Jul 2026 03:59:58 GMT</pubDate><content:encoded>&lt;div class=&quot;image-list-container image-list-odd&quot;&gt;
      &lt;button type=&quot;button&quot; class=&quot;image-preview-button image-preview-wrap&quot; popovertarget=&quot;modal-6392-0&quot; popovertargetaction=&quot;show&quot; aria-label=&quot;Open image preview:  Sub-Store 自动设置服务端证书 SHA-256 指纹仅 Node.js 版支持这里示范的是直接从服务端取, 支持所有目标(包括  sing-box 的 certificate_public_key_sha256) 原消息相关: 自建节点证书相关说明 服务器合集   Sub-Store 合集   合集   恰饭推荐   群组 联系推广 #节点 #证书 #SNI #TLS #SHA256 #指纹 #SSL #sing-box #mihomo #surge&quot;&gt;
        &lt;img src=&quot;/static/https://cdn5.telesco.pe/file/bMnDGtgvyfVDdtt0Z8bWJ1533mV04hM4bRhVuolLfDcpaW_85xqKhOb3IcXrCiT5RZXqTOToT_5Nzs-0IKf4GqDN9GJXZxJk5NFUHVW17z7GtLElAQGQ-Ho-p3JKrftsUBd0y5wGE4Iu2UDdGBMCdCD3gSoShV-xt0nX1JbsdVtkPd6ZevfgASEaqZcqUe2SkTKtGhqG7FSQtfuposqXbO4rfp3txtlwXq7_BpVGGOn1L3sDGeLGO7D1iNheT5-SOZsIYvGHiI0BSiEX_ks8T2T_goGt67r4j_Qek6W-dJ3DbgFXx9DW5VBIbafRZl1q3I6h9ATmTOYaQIn0ec2uVg.jpg&quot; alt=&quot; Sub-Store 自动设置服务端证书 SHA-256 指纹仅 Node.js 版支持这里示范的是直接从服务端取, 支持所有目标(包括  sing-box 的 certificate_public_key_sha256) 原消息相关: 自建节点证书相关说明 服务器合集   Sub-Store 合集   合集   恰饭推荐   群组 联系推广 #节点 #证书 #SNI #TLS #SHA256 #指纹 #SSL #sing-box #mihomo #surge&quot; width=&quot;800&quot; height=&quot;259&quot; loading=&quot;eager&quot; /&gt;
      &lt;/button&gt;
      &lt;div class=&quot;modal&quot; id=&quot;modal-6392-0&quot; popover=&quot;auto&quot; aria-label=&quot;Image preview&quot;&gt;
        &lt;button type=&quot;button&quot; class=&quot;modal__backdrop&quot; popovertarget=&quot;modal-6392-0&quot; popovertargetaction=&quot;hide&quot; aria-label=&quot;Close image preview&quot;&gt;&lt;/button&gt;
        &lt;button type=&quot;button&quot; class=&quot;modal__close&quot; popovertarget=&quot;modal-6392-0&quot; popovertargetaction=&quot;hide&quot; aria-label=&quot;Close image preview&quot;&gt;×&lt;/button&gt;
        &lt;div class=&quot;modal__surface&quot;&gt;
          
        &lt;/div&gt;
      &lt;/div&gt;
    &lt;/div&gt;&lt;img class=&quot;tg-emoji&quot; src=&quot;/static/https://telegram.me/i/emoji/4960754541902430862.webp&quot; alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;20&quot; height=&quot;20&quot; /&gt; &lt;u&gt;Sub-Store 自动设置服务端证书 SHA-256 指纹&lt;/u&gt;&lt;br /&gt;&lt;br /&gt;仅 Node.js 版支持&lt;br /&gt;这里示范的是直接从服务端取, 支持所有目标(包括 &lt;img class=&quot;tg-emoji&quot; src=&quot;/static/https://telegram.me/i/emoji/5154930575995306994.webp&quot; alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;20&quot; height=&quot;20&quot; /&gt; sing-box 的 &lt;code&gt;certificate_public_key_sha256&lt;/code&gt;)&lt;br /&gt;&lt;br /&gt;&lt;img class=&quot;tg-emoji&quot; src=&quot;/static/https://telegram.me/i/emoji/6327684955379862886.webp&quot; alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;20&quot; height=&quot;20&quot; /&gt; &lt;a href=&quot;https://t.me/zhetengsha/1434&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; title=&quot;原消息&quot;&gt;原消息&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;相关: &lt;u&gt;&lt;img class=&quot;tg-emoji&quot; src=&quot;/static/https://telegram.me/i/emoji/5296369303661067030.webp&quot; alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;20&quot; height=&quot;20&quot; /&gt;&lt;/u&gt;&lt;a href=&quot;https://t.me/zhetengsha/1433&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; title=&quot;自建节点证书相关说明&quot;&gt;自建节点证书相关说明&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;img class=&quot;tg-emoji&quot; src=&quot;/static/https://telegram.me/i/emoji/6327711622831803904.webp&quot; alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;20&quot; height=&quot;20&quot; /&gt; &lt;a href=&quot;https://t.me/zhetengsha/154&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; title=&quot;服务器合集&quot;&gt;服务器合集&lt;/a&gt;  &lt;img class=&quot;tg-emoji&quot; src=&quot;/static/https://telegram.me/i/emoji/6327711622831803904.webp&quot; alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;20&quot; height=&quot;20&quot; /&gt; &lt;a href=&quot;https://t.me/zhetengsha/214&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; title=&quot;Sub-Store 合集&quot;&gt;Sub-Store 合集&lt;/a&gt;  &lt;img class=&quot;tg-emoji&quot; src=&quot;/static/https://telegram.me/i/emoji/6327880277607583303.webp&quot; alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;20&quot; height=&quot;20&quot; /&gt; &lt;a href=&quot;https://t.me/zhetengsha/2&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; title=&quot;合集&quot;&gt;合集&lt;/a&gt;  &lt;img class=&quot;tg-emoji&quot; src=&quot;/static/https://telegram.me/i/emoji/6327792445526380187.webp&quot; alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;20&quot; height=&quot;20&quot; /&gt; &lt;a href=&quot;https://t.me/zhetengsha/957&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; title=&quot;恰饭推荐&quot;&gt;恰饭推荐&lt;/a&gt;  &lt;img class=&quot;tg-emoji&quot; src=&quot;/static/https://telegram.me/i/emoji/6021860481923288796.webp&quot; alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;20&quot; height=&quot;20&quot; /&gt; &lt;a href=&quot;https://t.me/zhetengsha_group&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; title=&quot;群组&quot;&gt;群组&lt;/a&gt; &lt;img class=&quot;tg-emoji&quot; src=&quot;/static/https://telegram.me/i/emoji/6330367862535884142.webp&quot; alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;20&quot; height=&quot;20&quot; /&gt;&lt;a href=&quot;https://t.me/xream_bot&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; title=&quot;联系推广&quot;&gt;联系推广&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;img class=&quot;tg-emoji&quot; src=&quot;/static/https://telegram.me/i/emoji/6327836885552991740.webp&quot; alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;20&quot; height=&quot;20&quot; /&gt; &lt;a href=&quot;https://t.me/zhetengsha/1354&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; title=&quot;#节点 #证书 #SNI #TLS #SHA256 #指纹 #SSL&quot;&gt;#节点 #证书 #SNI #TLS #SHA256 #指纹 #SSL&lt;/a&gt; &lt;a href=&quot;/search/result?q=%23sing&quot; title=&quot;#sing&quot;&gt;#sing&lt;/a&gt;-box &lt;a href=&quot;/search/result?q=%23mihomo&quot; title=&quot;#mihomo&quot;&gt;#mihomo&lt;/a&gt; &lt;a href=&quot;/search/result?q=%23surge&quot; title=&quot;#surge&quot;&gt;#surge&lt;/a&gt;</content:encoded></item><item><title>Caddy 配置保留带下划线的请求头如果使用 Nginx 反代 Sub2API 需要保留带下划线的请求头（如 session_id、conversation_id、thread_id），否则多账号环境下的粘性会话（Sticky Session）会失效</title><link>http://telegram.zhetengsha.eu.org/posts/6320</link><guid isPermaLink="true">http://telegram.zhetengsha.eu.org/posts/6320</guid><pubDate>Tue, 07 Jul 2026 09:59:58 GMT</pubDate><content:encoded>&lt;u&gt;Caddy 配置保留带下划线的请求头&lt;/u&gt;&lt;br /&gt;&lt;br /&gt;如果使用 &lt;b&gt;Nginx&lt;/b&gt; 反代 &lt;b&gt;Sub2API&lt;/b&gt; 需要保留带下划线的请求头（如 &lt;code&gt;session_id&lt;/code&gt;、&lt;code&gt;conversation_id&lt;/code&gt;、&lt;code&gt;thread_id&lt;/code&gt;），否则多账号环境下的粘性会话（Sticky Session）会失效。&lt;br /&gt;&lt;b&gt;Nginx&lt;/b&gt;&lt;br /&gt;&lt;pre class=&quot;code&quot;&gt;&lt;code class=&quot;language-c&quot;&gt;http &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
    underscores_in_headers on&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;&lt;b&gt;Caddy（需最新 master）&lt;/b&gt;&lt;br /&gt;&lt;pre class=&quot;code&quot;&gt;&lt;code class=&quot;language-lua&quot;&gt;xcaddy build master &lt;span class=&quot;token comment&quot;&gt;--output /usr/bin/caddy&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;&lt;pre class=&quot;code&quot;&gt;&lt;code class=&quot;language-text&quot;&gt;servers :443 {
    expected_underscore_headers session_id conversation_id thread_id
}&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;Sub2API：&lt;a href=&quot;https://github.com/Wei-Shaw/sub2api/issues/2784&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; title=&quot;https://github.com/Wei-Shaw/sub2api/issues/2784&quot;&gt;https://github.com/Wei-Shaw/sub2api/issues/2784&lt;/a&gt;&lt;br /&gt;Caddy：&lt;a href=&quot;https://github.com/caddyserver/caddy/issues/7808&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; title=&quot;https://github.com/caddyserver/caddy/issues/7808&quot;&gt;https://github.com/caddyserver/caddy/issues/7808&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;img class=&quot;tg-emoji&quot; src=&quot;/static/https://telegram.me/i/emoji/6327711622831803904.webp&quot; alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;20&quot; height=&quot;20&quot; /&gt; &lt;a href=&quot;https://t.me/zhetengsha/154&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; title=&quot;服务器合集&quot;&gt;服务器合集&lt;/a&gt;  &lt;img class=&quot;tg-emoji&quot; src=&quot;/static/https://telegram.me/i/emoji/6327880277607583303.webp&quot; alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;20&quot; height=&quot;20&quot; /&gt; &lt;a href=&quot;https://t.me/zhetengsha/2&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; title=&quot;合集&quot;&gt;合集&lt;/a&gt; &lt;img class=&quot;tg-emoji&quot; src=&quot;/static/https://telegram.me/i/emoji/6021860481923288796.webp&quot; alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;20&quot; height=&quot;20&quot; /&gt; &lt;a href=&quot;https://t.me/zhetengsha_group&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; title=&quot;群组&quot;&gt;群组&lt;/a&gt; &lt;img class=&quot;tg-emoji&quot; src=&quot;/static/https://telegram.me/i/emoji/6327792445526380187.webp&quot; alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;20&quot; height=&quot;20&quot; /&gt; &lt;a href=&quot;https://t.me/zhetengsha/957&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; title=&quot;恰饭&quot;&gt;恰饭&lt;/a&gt; &lt;img class=&quot;tg-emoji&quot; src=&quot;/static/https://telegram.me/i/emoji/6330367862535884142.webp&quot; alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;20&quot; height=&quot;20&quot; /&gt;&lt;a href=&quot;https://t.me/xream_bot&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; title=&quot;联系推广&quot;&gt;联系推广&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;img class=&quot;tg-emoji&quot; src=&quot;/static/https://telegram.me/i/emoji/6327836885552991740.webp&quot; alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;20&quot; height=&quot;20&quot; /&gt; &lt;a href=&quot;/search/result?q=%23redis&quot; title=&quot;#redis&quot;&gt;#redis&lt;/a&gt; &lt;a href=&quot;/search/result?q=%23caddy&quot; title=&quot;#caddy&quot;&gt;#caddy&lt;/a&gt; &lt;a href=&quot;/search/result?q=%23%E6%9C%8D%E5%8A%A1%E5%99%A8&quot; title=&quot;#服务器&quot;&gt;#服务器&lt;/a&gt; &lt;a href=&quot;/search/result?q=%23%E8%AF%81%E4%B9%A6&quot; title=&quot;#证书&quot;&gt;#证书&lt;/a&gt; &lt;a href=&quot;/search/result?q=%23tls&quot; title=&quot;#tls&quot;&gt;#tls&lt;/a&gt; &lt;a href=&quot;/search/result?q=%23%E6%95%B0%E6%8D%AE%E5%BA%93&quot; title=&quot;#数据库&quot;&gt;#数据库&lt;/a&gt;</content:encoded></item><item><title>Caddy 使用 Redis 共享 storage共享 storage 的实例会自动共享资源并协调证书管理▎mise官方文档curl </title><link>http://telegram.zhetengsha.eu.org/posts/6311</link><guid isPermaLink="true">http://telegram.zhetengsha.eu.org/posts/6311</guid><pubDate>Mon, 06 Jul 2026 12:59:58 GMT</pubDate><content:encoded>&lt;u&gt;Caddy 使用 Redis 共享 storage&lt;/u&gt;&lt;br /&gt;&lt;br /&gt;共享 storage 的实例会自动共享资源并协调证书管理&lt;br /&gt;&lt;br /&gt;▎mise&lt;br /&gt;&lt;br /&gt;&lt;img class=&quot;tg-emoji&quot; src=&quot;/static/https://telegram.me/i/emoji/6329896824882597500.webp&quot; alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;20&quot; height=&quot;20&quot; /&gt;&lt;a href=&quot;https://mise.jdx.dev/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; title=&quot;官方文档&quot;&gt;官方文档&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre class=&quot;code&quot;&gt;&lt;code class=&quot;language-yaml&quot;&gt;curl https&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt;//mise.run &lt;span class=&quot;token punctuation&quot;&gt;|&lt;/span&gt; sh&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;&lt;pre class=&quot;code&quot;&gt;&lt;code class=&quot;language-text&quot;&gt;echo &apos;eval &quot;$(~/.local/bin/mise activate bash)&quot;&apos; &amp;gt;&amp;gt; ~/.bashrc&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;fish:&lt;br /&gt;&lt;pre class=&quot;code&quot;&gt;&lt;code class=&quot;language-text&quot;&gt;echo &apos;~/.local/bin/mise activate fish | source&apos; &amp;gt;&amp;gt; ~/.config/fish/config.fish&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;重启你的 shell 会话, 安装 &lt;code&gt;go&lt;/code&gt;&lt;br /&gt;&lt;pre class=&quot;code&quot;&gt;&lt;code class=&quot;language-text&quot;&gt;mise use -g go&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;▎caddy&lt;br /&gt;&lt;br /&gt;caddy 安装: &lt;a href=&quot;https://caddyserver.com/docs/install&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; title=&quot;官方文档&quot;&gt;官方文档&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;xcaddy 安装:&lt;br /&gt;&lt;pre class=&quot;code&quot;&gt;&lt;code class=&quot;language-lua&quot;&gt;go install github&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;com&lt;span class=&quot;token operator&quot;&gt;/&lt;/span&gt;caddyserver&lt;span class=&quot;token operator&quot;&gt;/&lt;/span&gt;xcaddy&lt;span class=&quot;token operator&quot;&gt;/&lt;/span&gt;cmd&lt;span class=&quot;token operator&quot;&gt;/&lt;/span&gt;xcaddy@latest&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;pberkel/caddy-storage-redis 安装:&lt;br /&gt;补充一点 如果想用最新的特性 可以用 &lt;code&gt;xcaddy build master&lt;/code&gt; 但是可能也有新鲜的 bug &lt;i class=&quot;emoji&quot;&gt;&lt;b&gt;🐶&lt;/b&gt;&lt;/i&gt;&lt;br /&gt;&lt;pre class=&quot;code&quot;&gt;&lt;code class=&quot;language-lua&quot;&gt;xcaddy build latest &lt;span class=&quot;token comment&quot;&gt;--with github.com/pberkel/caddy-storage-redis --output /usr/bin/caddy&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;&lt;img class=&quot;tg-emoji&quot; src=&quot;/static/https://telegram.me/i/emoji/6329896824882597500.webp&quot; alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;20&quot; height=&quot;20&quot; /&gt; &lt;a href=&quot;https://github.com/pberkel/caddy-storage-redis&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; title=&quot;pberkel/caddy-storage-redis 文档&quot;&gt;pberkel/caddy-storage-redis 文档&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;注册一个 &lt;a href=&quot;http://upstash.com/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; title=&quot;upstash.com&quot;&gt;upstash.com&lt;/a&gt; 的免费 Redis 或准备一个自己的&lt;br /&gt;&lt;br /&gt;caddy 配置(省略其他的部分)&lt;br /&gt;&lt;code&gt;/etc/caddy/Caddyfile&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;&lt;code&gt;encryption_key&lt;/code&gt; 开启加密&lt;br /&gt;&lt;code&gt;compression&lt;/code&gt; 开启压缩&lt;br /&gt;&lt;div class=&quot;tg-expandable&quot;&gt;
      &lt;input type=&quot;checkbox&quot; id=&quot;expand-7-0&quot; class=&quot;tg-expandable__checkbox&quot; aria-label=&quot;Toggle hidden content&quot; aria-controls=&quot;expand-7-0-content&quot; /&gt;
      &lt;div id=&quot;expand-7-0-content&quot; class=&quot;tg-expandable__content&quot;&gt;{&lt;br /&gt;  storage redis {&lt;br /&gt;    address &lt;a href=&quot;http://xxxxxxxxxx.upstash.io:6379/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; title=&quot;xxxxxxxxxx.upstash.io:6379&quot;&gt;xxxxxxxxxx.upstash.io:6379&lt;/a&gt;&lt;br /&gt;    username default&lt;br /&gt;    password xxxxxxxxxx&lt;br /&gt;    encryption_key MwhAhPKhr687n94Jd9TiPRcwHaVReLsv&lt;br /&gt;    compression true&lt;br /&gt;    tls_enabled true&lt;br /&gt;  }&lt;br /&gt;}&lt;br /&gt;&lt;/div&gt;
      &lt;label for=&quot;expand-7-0&quot; class=&quot;tg-expandable__toggle&quot;&gt;&lt;span class=&quot;sr-only&quot;&gt;Toggle hidden content&lt;/span&gt;&lt;/label&gt;
    &lt;/div&gt;&lt;br /&gt;▎相关阅读&lt;br /&gt;&lt;br /&gt;&lt;a href=&quot;https://t.me/zhetengsha/2579&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; title=&quot;从 0 搭建一个 AnyTLS 节点(Caddy 分流, 自动维护证书)&quot;&gt;从 0 搭建一个 AnyTLS 节点(Caddy 分流, 自动维护证书)&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;img class=&quot;tg-emoji&quot; src=&quot;/static/https://telegram.me/i/emoji/6327711622831803904.webp&quot; alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;20&quot; height=&quot;20&quot; /&gt; &lt;a href=&quot;https://t.me/zhetengsha/154&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; title=&quot;服务器合集&quot;&gt;服务器合集&lt;/a&gt;  &lt;img class=&quot;tg-emoji&quot; src=&quot;/static/https://telegram.me/i/emoji/6327880277607583303.webp&quot; alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;20&quot; height=&quot;20&quot; /&gt; &lt;a href=&quot;https://t.me/zhetengsha/2&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; title=&quot;合集&quot;&gt;合集&lt;/a&gt; &lt;img class=&quot;tg-emoji&quot; src=&quot;/static/https://telegram.me/i/emoji/6021860481923288796.webp&quot; alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;20&quot; height=&quot;20&quot; /&gt; &lt;a href=&quot;https://t.me/zhetengsha_group&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; title=&quot;群组&quot;&gt;群组&lt;/a&gt; &lt;img class=&quot;tg-emoji&quot; src=&quot;/static/https://telegram.me/i/emoji/6327792445526380187.webp&quot; alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;20&quot; height=&quot;20&quot; /&gt; &lt;a href=&quot;https://t.me/zhetengsha/957&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; title=&quot;恰饭&quot;&gt;恰饭&lt;/a&gt; &lt;img class=&quot;tg-emoji&quot; src=&quot;/static/https://telegram.me/i/emoji/6330367862535884142.webp&quot; alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;20&quot; height=&quot;20&quot; /&gt;&lt;a href=&quot;https://t.me/xream_bot&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; title=&quot;联系推广&quot;&gt;联系推广&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;img class=&quot;tg-emoji&quot; src=&quot;/static/https://telegram.me/i/emoji/6327836885552991740.webp&quot; alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;20&quot; height=&quot;20&quot; /&gt; &lt;a href=&quot;/search/result?q=%23redis&quot; title=&quot;#redis&quot;&gt;#redis&lt;/a&gt; &lt;a href=&quot;/search/result?q=%23caddy&quot; title=&quot;#caddy&quot;&gt;#caddy&lt;/a&gt; &lt;a href=&quot;/search/result?q=%23%E6%9C%8D%E5%8A%A1%E5%99%A8&quot; title=&quot;#服务器&quot;&gt;#服务器&lt;/a&gt; &lt;a href=&quot;/search/result?q=%23%E8%AF%81%E4%B9%A6&quot; title=&quot;#证书&quot;&gt;#证书&lt;/a&gt; &lt;a href=&quot;/search/result?q=%23tls&quot; title=&quot;#tls&quot;&gt;#tls&lt;/a&gt; &lt;a href=&quot;/search/result?q=%23%E6%95%B0%E6%8D%AE%E5%BA%93&quot; title=&quot;#数据库&quot;&gt;#数据库&lt;/a&gt;</content:encoded></item><item><title>鸣鹤 (MingHe) 最小化安全 SIP 语音通信服务器 — 纯 Rust 编写来自作者自荐 @KtieMark57替代语音电话的自建方案，没有诈骗和推销</title><link>http://telegram.zhetengsha.eu.org/posts/6204</link><guid isPermaLink="true">http://telegram.zhetengsha.eu.org/posts/6204</guid><pubDate>Sat, 27 Jun 2026 02:04:18 GMT</pubDate><content:encoded>&lt;div class=&quot;image-list-container image-list-odd&quot;&gt;
      &lt;button type=&quot;button&quot; class=&quot;image-preview-button image-preview-wrap&quot; popovertarget=&quot;modal-6204-0&quot; popovertargetaction=&quot;show&quot; aria-label=&quot;Open image preview: 鸣鹤 (MingHe) 最小化安全 SIP 语音通信服务器 — 纯 Rust 编写来自作者自荐 @KtieMark57替代语音电话的自建方案，没有诈骗和推销&quot;&gt;
        &lt;img src=&quot;/static/https://cdn5.telesco.pe/file/rYRafqUoS0TmxHo_21krkH9qshn9og1D4kKsEBHR-_TfqKrMyApghizgdHaoX9QtvzelCseQ2BWj7Ssx7g-63LV8aiujwGEBvxWJ9uZ82qW0mFJjb-ZE7KtdVXjItLf1z5nE6HHOS2vTR6-4rUOEMFt7BN43zGdn40S32rVzdlKGhxRBMD1nPoKe89gAX5f5m8gZI816jGNGTMq-aUtdR-LKsdwdlUtY_Cn3ZeFenmpsnH4qS3hkY3ptnJYbcksnBDIzv0O1dloK_LI1PKhb4ZyGBaBH7sHR9Mlf8T-Nv8CnGw2XslR--CKunaQOQIvZgA5SfvSZVGrFdHyDsxGnHQ.jpg&quot; alt=&quot;鸣鹤 (MingHe) 最小化安全 SIP 语音通信服务器 — 纯 Rust 编写来自作者自荐 @KtieMark57替代语音电话的自建方案，没有诈骗和推销&quot; width=&quot;450&quot; height=&quot;600&quot; loading=&quot;eager&quot; /&gt;
      &lt;/button&gt;
      &lt;div class=&quot;modal&quot; id=&quot;modal-6204-0&quot; popover=&quot;auto&quot; aria-label=&quot;Image preview&quot;&gt;
        &lt;button type=&quot;button&quot; class=&quot;modal__backdrop&quot; popovertarget=&quot;modal-6204-0&quot; popovertargetaction=&quot;hide&quot; aria-label=&quot;Close image preview&quot;&gt;&lt;/button&gt;
        &lt;button type=&quot;button&quot; class=&quot;modal__close&quot; popovertarget=&quot;modal-6204-0&quot; popovertargetaction=&quot;hide&quot; aria-label=&quot;Close image preview&quot;&gt;×&lt;/button&gt;
        &lt;div class=&quot;modal__surface&quot;&gt;
          
        &lt;/div&gt;
      &lt;/div&gt;
    &lt;/div&gt;&lt;u&gt;鸣鹤 (MingHe) 最小化安全 SIP 语音通信服务器 — 纯 Rust 编写&lt;/u&gt;&lt;br /&gt;&lt;br /&gt;来自作者自荐 &lt;a href=&quot;https://t.me/KtieMark57&quot; target=&quot;_blank&quot; title=&quot;@KtieMark57&quot;&gt;@KtieMark57&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;替代语音电话的自建方案，没有诈骗和推销。&lt;br /&gt;&lt;br /&gt;&lt;a href=&quot;https://github.com/619dev/minghe&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; title=&quot;https://github.com/619dev/minghe&quot;&gt;https://github.com/619dev/minghe&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;i class=&quot;emoji&quot;&gt;&lt;b&gt;🔒&lt;/b&gt;&lt;/i&gt; &lt;mark class=&quot;highlight&quot;&gt;TLS&lt;/mark&gt; 信令加密 — SIP over &lt;mark class=&quot;highlight&quot;&gt;TLS&lt;/mark&gt; (SIPS)，端口 5061 ，支持 &lt;mark class=&quot;highlight&quot;&gt;TLS&lt;/mark&gt; 1.2/1.3&lt;br /&gt;&lt;i class=&quot;emoji&quot;&gt;&lt;b&gt;🎵&lt;/b&gt;&lt;/i&gt; SRTP 媒体加密 — AES_CM_128_HMAC_SHA1_80 ，SDES 密钥交换&lt;br /&gt;&lt;i class=&quot;emoji&quot;&gt;&lt;b&gt;🔑&lt;/b&gt;&lt;/i&gt; SIP Digest 认证 — MD5 摘要认证，支持默认密码和分机独立密码&lt;br /&gt;&lt;i class=&quot;emoji&quot;&gt;&lt;b&gt;📡&lt;/b&gt;&lt;/i&gt; RTP 媒体中继 — 服务器侧透明中继，地址学习，隐藏内部拓扑&lt;br /&gt;&lt;i class=&quot;emoji&quot;&gt;&lt;b&gt;📱&lt;/b&gt;&lt;/i&gt; 内部分机 — 1000–2000 号段（可配置），支持 INVITE/BYE/CANCEL/ACK&lt;br /&gt;&lt;i class=&quot;emoji&quot;&gt;&lt;b&gt;🌐&lt;/b&gt;&lt;/i&gt; IP 证书 — 无需域名，支持 IP 地址直接签发 &lt;mark class=&quot;highlight&quot;&gt;TLS&lt;/mark&gt; 证书&lt;br /&gt;&lt;i class=&quot;emoji&quot;&gt;&lt;b&gt;🔄&lt;/b&gt;&lt;/i&gt; 证书自动续期 — 自签名证书到期前 30 天自动重新生成，热重载不中断服务&lt;br /&gt;&lt;i class=&quot;emoji&quot;&gt;&lt;b&gt;🐳&lt;/b&gt;&lt;/i&gt; Docker 就绪 — 多架构镜像 (amd64/arm64)，一键 compose 部署&lt;br /&gt;&lt;i class=&quot;emoji&quot;&gt;&lt;b&gt;🦀&lt;/b&gt;&lt;/i&gt; 纯 Rust — 异步高性能 (tokio)，内存安全，无 GC&lt;br /&gt;&lt;br /&gt;推荐客户端：&lt;br /&gt;iOS / Android：Bria Mobile app&lt;br /&gt;桌面电话机：方位 Linkvil W610W / W620W&lt;br /&gt;&lt;br /&gt;&lt;img class=&quot;tg-emoji&quot; src=&quot;/static/https://telegram.me/i/emoji/6327880277607583303.webp&quot; alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;20&quot; height=&quot;20&quot; /&gt; &lt;a href=&quot;https://t.me/zhetengsha/2&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; title=&quot;合集&quot;&gt;合集&lt;/a&gt; &lt;img class=&quot;tg-emoji&quot; src=&quot;/static/https://telegram.me/i/emoji/6021860481923288796.webp&quot; alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;20&quot; height=&quot;20&quot; /&gt; &lt;a href=&quot;https://t.me/zhetengsha_group&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; title=&quot;群组&quot;&gt;群组&lt;/a&gt; &lt;img class=&quot;tg-emoji&quot; src=&quot;/static/https://telegram.me/i/emoji/6327792445526380187.webp&quot; alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;20&quot; height=&quot;20&quot; /&gt; &lt;a href=&quot;https://t.me/zhetengsha/957&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; title=&quot;恰饭&quot;&gt;恰饭&lt;/a&gt; &lt;img class=&quot;tg-emoji&quot; src=&quot;/static/https://telegram.me/i/emoji/6330367862535884142.webp&quot; alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;20&quot; height=&quot;20&quot; /&gt;&lt;a href=&quot;https://t.me/xream_bot&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; title=&quot;联系推广&quot;&gt;联系推广&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;img class=&quot;tg-emoji&quot; src=&quot;/static/https://telegram.me/i/emoji/6327836885552991740.webp&quot; alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;20&quot; height=&quot;20&quot; /&gt;&lt;a href=&quot;/search/result?q=%23SIP&quot; title=&quot;#SIP&quot;&gt;#SIP&lt;/a&gt; &lt;a href=&quot;/search/result?q=%23Rust&quot; title=&quot;#Rust&quot;&gt;#Rust&lt;/a&gt; &lt;a href=&quot;/search/result?q=%23Docker&quot; title=&quot;#Docker&quot;&gt;#Docker&lt;/a&gt; &lt;a href=&quot;/search/result?q=%23TLS&quot; title=&quot;#TLS&quot;&gt;#TLS&lt;/a&gt; &lt;a href=&quot;/search/result?q=%23SRTP&quot; title=&quot;#SRTP&quot;&gt;#SRTP&lt;/a&gt; &lt;a href=&quot;/search/result?q=%23VoIP&quot; title=&quot;#VoIP&quot;&gt;#VoIP&lt;/a&gt; &lt;a href=&quot;/search/result?q=%23Linux&quot; title=&quot;#Linux&quot;&gt;#Linux&lt;/a&gt;</content:encoded></item><item><title>Tunnl.gg: 轻量化 SSH 隧道服务，单命令即可暴露本地应用 公开的服务是 </title><link>http://telegram.zhetengsha.eu.org/posts/4903</link><guid isPermaLink="true">http://telegram.zhetengsha.eu.org/posts/4903</guid><pubDate>Tue, 24 Feb 2026 04:05:04 GMT</pubDate><content:encoded>&lt;div class=&quot;image-list-container image-list-odd&quot;&gt;
      &lt;button type=&quot;button&quot; class=&quot;image-preview-button image-preview-wrap&quot; popovertarget=&quot;modal-4903-0&quot; popovertargetaction=&quot;show&quot; aria-label=&quot;Open image preview: Tunnl.gg: 轻量化 SSH 隧道服务，单命令即可暴露本地应用 公开的服务是 &quot;&gt;
        &lt;img src=&quot;/static/https://cdn5.telesco.pe/file/RnwpSAzuB3VyVG7Vk3rMVnlPz65sGo-jtum7hTtWZ_EojzZ8TS1MxCPmPHSreOoBGElbiOBViJk_db04bRfz-hmBEpBzE4h7Baz-eHs2CZd_bIcEMEnwTXrq4tD91RiHSHOchTBgFZyzUMPN0gYLtKN7_vbYbZQP_BU9Sq9eh7dsbqrXGyHz4Pbr-4s1ZnMFgIif8dOL7n22XxHg74IlsoVqsCZkqqTni_7TxaSLNZ0dc-0_7hTbcr2rj9h4whUB4hTgAy319_LbGOecg8ISf6DwWGXR1qNLmvm3BfcjySDRiH4UdDCU-qm57WFVKyyS759FUo6aFsonNDqBm27SYg.jpg&quot; alt=&quot;Tunnl.gg: 轻量化 SSH 隧道服务，单命令即可暴露本地应用 公开的服务是 &quot; width=&quot;800&quot; height=&quot;526&quot; loading=&quot;eager&quot; /&gt;
      &lt;/button&gt;
      &lt;div class=&quot;modal&quot; id=&quot;modal-4903-0&quot; popover=&quot;auto&quot; aria-label=&quot;Image preview&quot;&gt;
        &lt;button type=&quot;button&quot; class=&quot;modal__backdrop&quot; popovertarget=&quot;modal-4903-0&quot; popovertargetaction=&quot;hide&quot; aria-label=&quot;Close image preview&quot;&gt;&lt;/button&gt;
        &lt;button type=&quot;button&quot; class=&quot;modal__close&quot; popovertarget=&quot;modal-4903-0&quot; popovertargetaction=&quot;hide&quot; aria-label=&quot;Close image preview&quot;&gt;×&lt;/button&gt;
        &lt;div class=&quot;modal__surface&quot;&gt;
          
        &lt;/div&gt;
      &lt;/div&gt;
    &lt;/div&gt;&lt;a href=&quot;http://Tunnl.gg/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; title=&quot;Tunnl.gg&quot;&gt;&lt;u&gt;Tunnl.gg&lt;/u&gt;&lt;/a&gt;&lt;u&gt;: 轻量化 SSH 隧道服务，单命令即可暴露本地应用 &lt;/u&gt;&lt;br /&gt;&lt;br /&gt;公开的服务是 &lt;a href=&quot;https://tunnl.gg/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; title=&quot;https://tunnl.gg&quot;&gt;https://tunnl.gg&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;• 记忆式子域名，每次连接自动生成唯一 URL  &lt;br /&gt;• 自动通过 Let’s Encrypt 颁发 HTTPS，零配置即启用 SSL  &lt;br /&gt;• 完整的速率限制与滥用防护，保障服务安全  &lt;br /&gt;&lt;br /&gt;&lt;a href=&quot;https://github.com/klipitkas/tunnl.gg&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; title=&quot;https://github.com/klipitkas/tunnl.gg&quot;&gt;https://github.com/klipitkas/tunnl.gg&lt;/a&gt;  &lt;br /&gt;&lt;br /&gt;&lt;a href=&quot;/search/result?q=%23%E9%9A%A7%E9%81%93&quot; title=&quot;#隧道&quot;&gt;#隧道&lt;/a&gt; &lt;a href=&quot;/search/result?q=%23SSH&quot; title=&quot;#SSH&quot;&gt;#SSH&lt;/a&gt; &lt;a href=&quot;/search/result?q=%23%E8%87%AA%E5%8A%A8SSL&quot; title=&quot;#自动SSL&quot;&gt;#自动SSL&lt;/a&gt; &lt;a href=&quot;/search/result?q=%23%E6%97%A0%E9%85%8D%E7%BD%AE&quot; title=&quot;#无配置&quot;&gt;#无配置&lt;/a&gt; &lt;a href=&quot;/search/result?q=%23GitHub&quot; title=&quot;#GitHub&quot;&gt;#GitHub&lt;/a&gt; &lt;a href=&quot;/search/result?q=%23TLS&quot; title=&quot;#TLS&quot;&gt;#TLS&lt;/a&gt; &lt;a href=&quot;/search/result?q=%23WebSocket&quot; title=&quot;#WebSocket&quot;&gt;#WebSocket&lt;/a&gt;</content:encoded></item><item><title>从 0 搭建一个 Shadowsocks 2022 + ShadowTLS V3 节点1. Shadowsocks 2022自己搭, 假设 TCP 和 UDP 都监听的是 0.0.0.0:12446, 加密 2022-blake3-aes-256-gcm, 密码 SaAj4IC+cHEyWoCaUXeNBE+A8DcqKRsOELe4FOuuNJE=2. ShadowTLSx64:curl -L </title><link>http://telegram.zhetengsha.eu.org/posts/1798</link><guid isPermaLink="true">http://telegram.zhetengsha.eu.org/posts/1798</guid><pubDate>Sun, 27 Oct 2024 11:26:53 GMT</pubDate><content:encoded>&lt;u&gt;从 0 搭建一个 Shadowsocks 2022 + ShadowTLS V3 节点&lt;/u&gt;&lt;br /&gt;&lt;br /&gt;1. Shadowsocks 2022&lt;br /&gt;&lt;br /&gt;自己搭, 假设 TCP 和 UDP 都监听的是 &lt;code&gt;0.0.0.0:12446&lt;/code&gt;, 加密 &lt;code&gt;2022-blake3-aes-256-gcm&lt;/code&gt;, 密码 &lt;code&gt;SaAj4IC+cHEyWoCaUXeNBE+A8DcqKRsOELe4FOuuNJE=&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;2. ShadowTLS&lt;br /&gt;&lt;br /&gt;x64:&lt;br /&gt;&lt;pre class=&quot;code&quot;&gt;&lt;code class=&quot;language-css&quot;&gt;curl -L &lt;span class=&quot;token property&quot;&gt;https&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt;//github.com/ihciah/shadow-tls/releases/download/v0.2.25/shadow-tls-x86_64-unknown-linux-musl -o /usr/local/bin/shadow-tls&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt; chmod a+x /usr/local/bin/shadow-tls&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;arm:&lt;br /&gt;&lt;pre class=&quot;code&quot;&gt;&lt;code class=&quot;language-css&quot;&gt;curl -L &lt;span class=&quot;token property&quot;&gt;https&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt;//github.com/ihciah/shadow-tls/releases/download/v0.2.25/shadow-tls-arm-unknown-linux-musleabi -o /usr/local/bin/shadow-tls&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt; chmod a+x /usr/local/bin/shadow-tls&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;编辑 &lt;code&gt;/etc/systemd/system/shadow-&lt;mark class=&quot;highlight&quot;&gt;tls&lt;/mark&gt;.service &lt;/code&gt;抄了下 snell 的服务 微调了下&lt;br /&gt;&lt;br /&gt;&lt;pre class=&quot;code&quot;&gt;&lt;code class=&quot;language-python&quot;&gt;&lt;span class=&quot;token punctuation&quot;&gt;[&lt;/span&gt;Unit&lt;span class=&quot;token punctuation&quot;&gt;]&lt;/span&gt;
Description&lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt;Shadow&lt;span class=&quot;token operator&quot;&gt;-&lt;/span&gt;TLS Server Service
After&lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt;network&lt;span class=&quot;token operator&quot;&gt;-&lt;/span&gt;online&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;target
Wants&lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt;network&lt;span class=&quot;token operator&quot;&gt;-&lt;/span&gt;online&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;target systemd&lt;span class=&quot;token operator&quot;&gt;-&lt;/span&gt;networkd&lt;span class=&quot;token operator&quot;&gt;-&lt;/span&gt;wait&lt;span class=&quot;token operator&quot;&gt;-&lt;/span&gt;online&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;service
&lt;span class=&quot;token punctuation&quot;&gt;[&lt;/span&gt;Service&lt;span class=&quot;token punctuation&quot;&gt;]&lt;/span&gt;
LimitNOFILE&lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;token number&quot;&gt;32767&lt;/span&gt; 
Type&lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt;simple
User&lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt;root
Restart&lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt;on&lt;span class=&quot;token operator&quot;&gt;-&lt;/span&gt;failure
RestartSec&lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt;5s
ExecStartPre&lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;token builtin&quot;&gt;bin&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;/&lt;/span&gt;sh &lt;span class=&quot;token operator&quot;&gt;-&lt;/span&gt;c ulimit &lt;span class=&quot;token operator&quot;&gt;-&lt;/span&gt;n &lt;span class=&quot;token number&quot;&gt;51200&lt;/span&gt;
ExecStart&lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt;shadow&lt;span class=&quot;token operator&quot;&gt;-&lt;/span&gt;tls &lt;span class=&quot;token operator&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;-&lt;/span&gt;fastopen &lt;span class=&quot;token operator&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;-&lt;/span&gt;v3 &lt;span class=&quot;token operator&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;-&lt;/span&gt;strict server &lt;span class=&quot;token operator&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;-&lt;/span&gt;wildcard&lt;span class=&quot;token operator&quot;&gt;-&lt;/span&gt;sni&lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt;authed &lt;span class=&quot;token operator&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;-&lt;/span&gt;listen &lt;span class=&quot;token punctuation&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;]&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;token number&quot;&gt;443&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;-&lt;/span&gt;server &lt;span class=&quot;token number&quot;&gt;127.0&lt;/span&gt;&lt;span class=&quot;token number&quot;&gt;.0&lt;/span&gt;&lt;span class=&quot;token number&quot;&gt;.1&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;token number&quot;&gt;12446&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;-&lt;/span&gt;tls p11&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;douyinpic&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;com&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;token number&quot;&gt;443&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;-&lt;/span&gt;password MVlWnwyr9vEOK8hL 
&lt;span class=&quot;token punctuation&quot;&gt;[&lt;/span&gt;Install&lt;span class=&quot;token punctuation&quot;&gt;]&lt;/span&gt;
WantedBy&lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt;multi&lt;span class=&quot;token operator&quot;&gt;-&lt;/span&gt;user&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;target&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;这里的 &lt;code&gt;12446&lt;/code&gt; 是 TCP 端口. 如果你的 SS TCP 监听的是其他端口, 这里自己改&lt;br /&gt;&lt;br /&gt;3. 重载服务&amp;amp;启动&lt;br /&gt;&lt;br /&gt;&lt;pre class=&quot;code&quot;&gt;&lt;code class=&quot;language-lua&quot;&gt;systemctl daemon&lt;span class=&quot;token operator&quot;&gt;-&lt;/span&gt;reload
systemctl enable &lt;span class=&quot;token comment&quot;&gt;--now shadow-tls&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;4. 查看服务&amp;amp;日志&lt;br /&gt;&lt;br /&gt;&lt;pre class=&quot;code&quot;&gt;&lt;code class=&quot;language-text&quot;&gt;systemctl status shadow-tls
journalctl -f  -o cat -n 100 -u shadow-tls&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;5. 使用&lt;br /&gt;&lt;br /&gt;&lt;pre class=&quot;code&quot;&gt;&lt;code class=&quot;language-markdown&quot;&gt;vps &lt;span class=&quot;token url&quot;&gt;[&lt;span class=&quot;token content&quot;&gt;ss2022&lt;/span&gt;][&lt;span class=&quot;token variable&quot;&gt;shadow-tls-v3&lt;/span&gt;]&lt;/span&gt; = ss, 服务器地址, 443, encrypt-method=2022-blake3-aes-256-gcm, password=SaAj4IC+cHEyWoCaUXeNBE+A8DcqKRsOELe4FOuuNJE=, shadow-tls-password=MVlWnwyr9vEOK8hL, shadow-tls-sni=p11.douyinpic.com, shadow-tls-version=3, udp-relay=true, udp-port=12446&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;这里的 &lt;code&gt;12446&lt;/code&gt; 是 UDP 端口. 如果你的 SS UDP 监听的是其他端口, 这里自己改&lt;br /&gt;&lt;br /&gt;Surge, Loon, Egern 支持 &lt;code&gt;udp-port&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;shadowsocks 协议支持配置 udp-port 参数，用于单独指定 UDP 模式的服务端端口号，可在使用 ShadowTLS 时使用原端口号。&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;详见 &lt;a href=&quot;https://t.me/SurgeTestFlightFeed/259&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; title=&quot;https://t.me/SurgeTestFlightFeed/259&quot;&gt;https://t.me/SurgeTestFlightFeed/259&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;重新解释一下:&lt;br /&gt;&lt;br /&gt;tcp 流量 -&amp;gt; shadow-&lt;mark class=&quot;highlight&quot;&gt;tls&lt;/mark&gt; 监听公网 443 -&amp;gt; ss 监听的 tcp 端口(不需要监听公网)&lt;br /&gt;udp 流量 -&amp;gt;  &lt;code&gt;udp-port&lt;/code&gt;(ss 监听的 udp 端口 需要监听公网)&lt;br /&gt;&lt;br /&gt;因为我们在 Shadow &lt;mark class=&quot;highlight&quot;&gt;TLS&lt;/mark&gt; 开启了 &lt;code&gt;--wildcard-sni=authed&lt;/code&gt; 所以 可以在客户端改 &lt;code&gt;shadow-&lt;mark class=&quot;highlight&quot;&gt;tls&lt;/mark&gt;-sni &lt;/code&gt;不用跟服务端设置的相同&lt;br /&gt;&lt;br /&gt;可能降低了安全性(?) 但是方便&lt;br /&gt;&lt;br /&gt;&lt;code&gt;p11.douyinpic.com&lt;/code&gt; 是混淆&lt;br /&gt;&lt;br /&gt;&lt;i class=&quot;emoji&quot;&gt;&lt;b&gt;📃&lt;/b&gt;&lt;/i&gt; 相关内容&lt;br /&gt;&lt;br /&gt;&lt;a href=&quot;https://t.me/zhetengsha/1484&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; title=&quot;从 0 搭建一个 Snell + ShadowTLS V3 免流节点(当然过墙也是杠杠的) mihomo 服务端版&quot;&gt;从 0 搭建一个 Snell + ShadowTLS V3 免流节点(当然过墙也是杠杠的) mihomo 服务端版&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href=&quot;https://t.me/zhetengsha/1479&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; title=&quot;从 0 搭建一个 Snell + ShadowTLS V3 免流节点(当然过墙也是杠杠的) 独立版&quot;&gt;从 0 搭建一个 Snell + ShadowTLS V3 免流节点(当然过墙也是杠杠的) 独立版&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href=&quot;https://github.com/ihciah/shadow-tls/wiki/V3-Protocol&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; title=&quot;TLS 1.3 相关的文档&quot;&gt;&lt;mark class=&quot;highlight&quot;&gt;TLS&lt;/mark&gt; 1.3 相关的文档&lt;/a&gt; &lt;i class=&quot;emoji&quot;&gt;&lt;b&gt;👆🏻&lt;/b&gt;&lt;/i&gt;上面的配置里开了 &lt;code&gt;--strict&lt;/code&gt; 具体可以看这个文档&lt;br /&gt;&lt;br /&gt;&lt;a href=&quot;https://github.com/ihciah/shadow-tls/issues/109&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; title=&quot;⚠️ 有些人可能需要看这个：shadow-tls CPU 占用高&quot;&gt;&lt;i class=&quot;emoji&quot;&gt;&lt;b&gt;⚠️&lt;/b&gt;&lt;/i&gt; 有些人可能需要看这个：shadow-&lt;mark class=&quot;highlight&quot;&gt;tls&lt;/mark&gt; CPU 占用高&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;img class=&quot;tg-emoji&quot; src=&quot;/static/https://telegram.me/i/emoji/6327711622831803904.webp&quot; alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;20&quot; height=&quot;20&quot; /&gt; &lt;a href=&quot;https://t.me/zhetengsha/208&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; title=&quot;免流合集&quot;&gt;免流合集&lt;/a&gt; &lt;a href=&quot;https://t.me/zhetengsha/154&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; title=&quot;服务器合集&quot;&gt;服务器合集&lt;/a&gt;  &lt;img class=&quot;tg-emoji&quot; src=&quot;/static/https://telegram.me/i/emoji/6327880277607583303.webp&quot; alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;20&quot; height=&quot;20&quot; /&gt; &lt;a href=&quot;https://t.me/zhetengsha/2&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; title=&quot;频道资源合集&quot;&gt;频道资源合集&lt;/a&gt;  &lt;img class=&quot;tg-emoji&quot; src=&quot;/static/https://telegram.me/i/emoji/6327792445526380187.webp&quot; alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;20&quot; height=&quot;20&quot; /&gt; &lt;a href=&quot;https://t.me/zhetengsha/957&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; title=&quot;恰饭推荐&quot;&gt;恰饭推荐&lt;/a&gt;  &lt;img class=&quot;tg-emoji&quot; src=&quot;/static/https://telegram.me/i/emoji/6021860481923288796.webp&quot; alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;20&quot; height=&quot;20&quot; /&gt; &lt;a href=&quot;https://t.me/zhetengsha_group&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; title=&quot;群组&quot;&gt;群组&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;img class=&quot;tg-emoji&quot; src=&quot;/static/https://telegram.me/i/emoji/6327836885552991740.webp&quot; alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;20&quot; height=&quot;20&quot; /&gt; &lt;a href=&quot;/search/result?q=%23SS&quot; title=&quot;#SS&quot;&gt;#SS&lt;/a&gt; &lt;a href=&quot;/search/result?q=%23Shadowsocks&quot; title=&quot;#Shadowsocks&quot;&gt;#Shadowsocks&lt;/a&gt; &lt;a href=&quot;/search/result?q=%23SS2022&quot; title=&quot;#SS2022&quot;&gt;#SS2022&lt;/a&gt; &lt;a href=&quot;/search/result?q=%23Shadowsocks2022&quot; title=&quot;#Shadowsocks2022&quot;&gt;#Shadowsocks2022&lt;/a&gt; &lt;a href=&quot;/search/result?q=%23TLS&quot; title=&quot;#TLS&quot;&gt;#TLS&lt;/a&gt; &lt;a href=&quot;/search/result?q=%23ShadowTLS&quot; title=&quot;#ShadowTLS&quot;&gt;#ShadowTLS&lt;/a&gt; &lt;a href=&quot;/search/result?q=%23Shadow&quot; title=&quot;#Shadow&quot;&gt;#Shadow&lt;/a&gt;-&lt;mark class=&quot;highlight&quot;&gt;TLS&lt;/mark&gt; &lt;a href=&quot;/search/result?q=%23%E8%8A%82%E7%82%B9&quot; title=&quot;#节点&quot;&gt;#节点&lt;/a&gt; &lt;a href=&quot;/search/result?q=%23%E6%9C%8D%E5%8A%A1%E5%99%A8&quot; title=&quot;#服务器&quot;&gt;#服务器&lt;/a&gt; &lt;a href=&quot;/search/result?q=%23UDP&quot; title=&quot;#UDP&quot;&gt;#UDP&lt;/a&gt;</content:encoded></item><item><title>从 0 搭建一个 Snell + ShadowTLS V3 免流节点之前发的 独立版(官方 Snell + ShadowTLS)本次示范的是 mihomo 版1. 服务端mihomo 官方文档中的 创建运行服务配置示例proxies:</title><link>http://telegram.zhetengsha.eu.org/posts/1484</link><guid isPermaLink="true">http://telegram.zhetengsha.eu.org/posts/1484</guid><pubDate>Fri, 07 Jun 2024 18:43:27 GMT</pubDate><content:encoded>&lt;u&gt;从 0 搭建一个 Snell + ShadowTLS V3 免流节点&lt;/u&gt;&lt;br /&gt;&lt;br /&gt;之前发的 &lt;a href=&quot;https://t.me/zhetengsha/1479&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; title=&quot;独立版(官方 Snell + ShadowTLS)&quot;&gt;独立版(官方 Snell + ShadowTLS)&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;本次示范的是 mihomo 版&lt;br /&gt;&lt;br /&gt;1. 服务端&lt;br /&gt;&lt;br /&gt;mihomo 官方文档中的 &lt;a href=&quot;https://wiki.metacubex.one/startup/service&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; title=&quot;创建运行服务&quot;&gt;创建运行服务&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;配置示例&lt;br /&gt;&lt;br /&gt;&lt;pre class=&quot;code&quot;&gt;&lt;code class=&quot;language-yaml&quot;&gt;&lt;span class=&quot;token key atrule&quot;&gt;proxies&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt;
  &lt;span class=&quot;token punctuation&quot;&gt;-&lt;/span&gt; &lt;span class=&quot;token key atrule&quot;&gt;name&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&quot;direct&quot;&lt;/span&gt;
    &lt;span class=&quot;token key atrule&quot;&gt;type&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; direct
    &lt;span class=&quot;token key atrule&quot;&gt;udp&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token boolean important&quot;&gt;true&lt;/span&gt;
    &lt;span class=&quot;token key atrule&quot;&gt;ip-version&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; ipv4&lt;span class=&quot;token punctuation&quot;&gt;-&lt;/span&gt;prefer
&lt;span class=&quot;token key atrule&quot;&gt;listeners&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt;
  &lt;span class=&quot;token punctuation&quot;&gt;-&lt;/span&gt; &lt;span class=&quot;token key atrule&quot;&gt;name&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; snell&lt;span class=&quot;token punctuation&quot;&gt;-&lt;/span&gt;in
    &lt;span class=&quot;token key atrule&quot;&gt;type&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; snell
    &lt;span class=&quot;token key atrule&quot;&gt;port&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;443&lt;/span&gt;
    &lt;span class=&quot;token key atrule&quot;&gt;listen&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&quot;::&quot;&lt;/span&gt;
    &lt;span class=&quot;token key atrule&quot;&gt;psk&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; vgyCqVVztA9fNVYB4ZfW
    &lt;span class=&quot;token key atrule&quot;&gt;proxy&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; direct
    &lt;span class=&quot;token key atrule&quot;&gt;version&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;4&lt;/span&gt;
    &lt;span class=&quot;token key atrule&quot;&gt;udp&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token boolean important&quot;&gt;true&lt;/span&gt;
    &lt;span class=&quot;token key atrule&quot;&gt;shadow-tls&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt;
      &lt;span class=&quot;token key atrule&quot;&gt;enable&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token boolean important&quot;&gt;true&lt;/span&gt;
      &lt;span class=&quot;token key atrule&quot;&gt;version&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;3&lt;/span&gt;
      &lt;span class=&quot;token key atrule&quot;&gt;users&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt;
        &lt;span class=&quot;token punctuation&quot;&gt;-&lt;/span&gt; &lt;span class=&quot;token key atrule&quot;&gt;name&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; user
          &lt;span class=&quot;token key atrule&quot;&gt;password&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; zdYFc1fSSi6oBZeon84ojA
      &lt;span class=&quot;token key atrule&quot;&gt;handshake&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt;
        &lt;span class=&quot;token key atrule&quot;&gt;dest&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; p11.douyinpic.com&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;token number&quot;&gt;443&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;2. 客户端&lt;br /&gt;&lt;br /&gt;&lt;pre class=&quot;code&quot;&gt;&lt;code class=&quot;language-html&quot;&gt;1 [snell][shadow-tls]=snell,xxxx,443,version=4,psk=&quot;vgyCqVVztA9fNVYB4ZfW&quot;,udp-relay=true,shadow-tls-password=&quot;zdYFc1fSSi6oBZeon84ojA&quot;,shadow-tls-sni=p11.douyinpic.com,shadow-tls-version=3,reuse=true&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;img class=&quot;tg-emoji&quot; src=&quot;/static/https://telegram.me/i/emoji/6327711622831803904.webp&quot; alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;20&quot; height=&quot;20&quot; /&gt; &lt;a href=&quot;https://t.me/zhetengsha/154&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; title=&quot;服务器合集&quot;&gt;服务器合集&lt;/a&gt;  &lt;img class=&quot;tg-emoji&quot; src=&quot;/static/https://telegram.me/i/emoji/6327880277607583303.webp&quot; alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;20&quot; height=&quot;20&quot; /&gt; &lt;a href=&quot;https://t.me/zhetengsha/2&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; title=&quot;合集&quot;&gt;合集&lt;/a&gt; &lt;img class=&quot;tg-emoji&quot; src=&quot;/static/https://telegram.me/i/emoji/6021860481923288796.webp&quot; alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;20&quot; height=&quot;20&quot; /&gt; &lt;a href=&quot;https://t.me/zhetengsha_group&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; title=&quot;群组&quot;&gt;群组&lt;/a&gt; &lt;img class=&quot;tg-emoji&quot; src=&quot;/static/https://telegram.me/i/emoji/6327792445526380187.webp&quot; alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;20&quot; height=&quot;20&quot; /&gt; &lt;a href=&quot;https://t.me/zhetengsha/957&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; title=&quot;恰饭&quot;&gt;恰饭&lt;/a&gt; &lt;img class=&quot;tg-emoji&quot; src=&quot;/static/https://telegram.me/i/emoji/6330367862535884142.webp&quot; alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;20&quot; height=&quot;20&quot; /&gt;&lt;a href=&quot;https://t.me/xream_bot&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; title=&quot;联系推广&quot;&gt;联系推广&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;img class=&quot;tg-emoji&quot; src=&quot;/static/https://telegram.me/i/emoji/6327836885552991740.webp&quot; alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;20&quot; height=&quot;20&quot; /&gt; &lt;a href=&quot;/search/result?q=%23Surge&quot; title=&quot;#Surge&quot;&gt;#Surge&lt;/a&gt; &lt;a href=&quot;/search/result?q=%23%E5%85%8D%E6%B5%81&quot; title=&quot;#免流&quot;&gt;#免流&lt;/a&gt; &lt;a href=&quot;/search/result?q=%23%E6%B7%B7%E6%B7%86&quot; title=&quot;#混淆&quot;&gt;#混淆&lt;/a&gt; &lt;a href=&quot;/search/result?q=%23TLS&quot; title=&quot;#TLS&quot;&gt;#TLS&lt;/a&gt; &lt;a href=&quot;/search/result?q=%23Snell&quot; title=&quot;#Snell&quot;&gt;#Snell&lt;/a&gt; &lt;a href=&quot;/search/result?q=%23ShadowTLS&quot; title=&quot;#ShadowTLS&quot;&gt;#ShadowTLS&lt;/a&gt; &lt;a href=&quot;/search/result?q=%23Shadow&quot; title=&quot;#Shadow&quot;&gt;#Shadow&lt;/a&gt;-&lt;mark class=&quot;highlight&quot;&gt;TLS&lt;/mark&gt; &lt;a href=&quot;/search/result?q=%23%E8%8A%82%E7%82%B9&quot; title=&quot;#节点&quot;&gt;#节点&lt;/a&gt; &lt;a href=&quot;/search/result?q=%23%E6%9C%8D%E5%8A%A1%E5%99%A8&quot; title=&quot;#服务器&quot;&gt;#服务器&lt;/a&gt;</content:encoded></item><item><title>从 0 搭建一个 Snell + ShadowTLS V3 免流节点(当然过墙也是杠杠的)🆕 mihomo 服务端版1. 安装 snell v4(随便找的脚本, 自行搭建)wget -O snell.sh --no-check-certificate </title><link>http://telegram.zhetengsha.eu.org/posts/1479</link><guid isPermaLink="true">http://telegram.zhetengsha.eu.org/posts/1479</guid><pubDate>Wed, 05 Jun 2024 14:47:22 GMT</pubDate><content:encoded>&lt;u&gt;从 0 搭建一个 Snell + ShadowTLS V3 免流节点(当然过墙也是杠杠的)&lt;/u&gt;&lt;br /&gt;&lt;br /&gt;&lt;i class=&quot;emoji&quot;&gt;&lt;b&gt;🆕&lt;/b&gt;&lt;/i&gt; &lt;a href=&quot;https://t.me/zhetengsha/1484&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; title=&quot;mihomo 服务端版&quot;&gt;mihomo 服务端版&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;1. 安装 snell v4(随便找的脚本, 自行搭建)&lt;br /&gt;&lt;code&gt;&lt;br /&gt;wget -O snell.sh --no-check-certificate https://git.io/Snell.sh &amp;amp;&amp;amp; chmod +x snell.sh &amp;amp;&amp;amp; ./snell.sh&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;可只监听 &lt;code&gt;127.0.0.1&lt;/code&gt;, 假设你监听的端口为 &lt;code&gt;63000&lt;/code&gt;, 密码为 &lt;code&gt;oKObPL9BuHcU2c5c&lt;/code&gt; 不开 &lt;code&gt;obfs&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;&lt;code&gt;/etc/snell/config.conf&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre class=&quot;code&quot;&gt;&lt;code class=&quot;language-python&quot;&gt;&lt;span class=&quot;token punctuation&quot;&gt;[&lt;/span&gt;snell&lt;span class=&quot;token operator&quot;&gt;-&lt;/span&gt;server&lt;span class=&quot;token punctuation&quot;&gt;]&lt;/span&gt;
listen &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;127.0&lt;/span&gt;&lt;span class=&quot;token number&quot;&gt;.0&lt;/span&gt;&lt;span class=&quot;token number&quot;&gt;.1&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;token number&quot;&gt;63000&lt;/span&gt;
ipv6 &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; true
psk &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; oKObPL9BuHcU2c5c
tfo &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; true
version &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;4&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre class=&quot;code&quot;&gt;&lt;code class=&quot;language-text&quot;&gt;systemctl restart snell-server
systemctl status snell-server&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;2. 安装 ShadowTLS&lt;br /&gt;&lt;br /&gt;x64:&lt;br /&gt;&lt;pre class=&quot;code&quot;&gt;&lt;code class=&quot;language-css&quot;&gt;curl -L &lt;span class=&quot;token property&quot;&gt;https&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt;//github.com/ihciah/shadow-tls/releases/download/v0.2.25/shadow-tls-x86_64-unknown-linux-musl -o /usr/local/bin/shadow-tls&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt; chmod a+x /usr/local/bin/shadow-tls&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;arm:&lt;br /&gt;&lt;pre class=&quot;code&quot;&gt;&lt;code class=&quot;language-css&quot;&gt;curl -L &lt;span class=&quot;token property&quot;&gt;https&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt;//github.com/ihciah/shadow-tls/releases/download/v0.2.25/shadow-tls-arm-unknown-linux-musleabi -o /usr/local/bin/shadow-tls&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt; chmod a+x /usr/local/bin/shadow-tls&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;编辑 &lt;code&gt;/etc/systemd/system/shadow-&lt;mark class=&quot;highlight&quot;&gt;tls&lt;/mark&gt;.service &lt;/code&gt;抄了下 snell 的服务 微调了下&lt;br /&gt;&lt;br /&gt;&lt;pre class=&quot;code&quot;&gt;&lt;code class=&quot;language-python&quot;&gt;&lt;span class=&quot;token punctuation&quot;&gt;[&lt;/span&gt;Unit&lt;span class=&quot;token punctuation&quot;&gt;]&lt;/span&gt;
Description&lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt;Shadow&lt;span class=&quot;token operator&quot;&gt;-&lt;/span&gt;TLS Server Service
After&lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt;network&lt;span class=&quot;token operator&quot;&gt;-&lt;/span&gt;online&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;target
Wants&lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt;network&lt;span class=&quot;token operator&quot;&gt;-&lt;/span&gt;online&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;target systemd&lt;span class=&quot;token operator&quot;&gt;-&lt;/span&gt;networkd&lt;span class=&quot;token operator&quot;&gt;-&lt;/span&gt;wait&lt;span class=&quot;token operator&quot;&gt;-&lt;/span&gt;online&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;service
&lt;span class=&quot;token punctuation&quot;&gt;[&lt;/span&gt;Service&lt;span class=&quot;token punctuation&quot;&gt;]&lt;/span&gt;
LimitNOFILE&lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;token number&quot;&gt;32767&lt;/span&gt; 
Type&lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt;simple
User&lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt;root
Restart&lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt;on&lt;span class=&quot;token operator&quot;&gt;-&lt;/span&gt;failure
RestartSec&lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt;5s
ExecStartPre&lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;token builtin&quot;&gt;bin&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;/&lt;/span&gt;sh &lt;span class=&quot;token operator&quot;&gt;-&lt;/span&gt;c ulimit &lt;span class=&quot;token operator&quot;&gt;-&lt;/span&gt;n &lt;span class=&quot;token number&quot;&gt;51200&lt;/span&gt;
ExecStart&lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt;shadow&lt;span class=&quot;token operator&quot;&gt;-&lt;/span&gt;tls &lt;span class=&quot;token operator&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;-&lt;/span&gt;fastopen &lt;span class=&quot;token operator&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;-&lt;/span&gt;v3 &lt;span class=&quot;token operator&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;-&lt;/span&gt;strict server &lt;span class=&quot;token operator&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;-&lt;/span&gt;wildcard&lt;span class=&quot;token operator&quot;&gt;-&lt;/span&gt;sni&lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt;authed &lt;span class=&quot;token operator&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;-&lt;/span&gt;listen &lt;span class=&quot;token punctuation&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;]&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;token number&quot;&gt;443&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;-&lt;/span&gt;server &lt;span class=&quot;token number&quot;&gt;127.0&lt;/span&gt;&lt;span class=&quot;token number&quot;&gt;.0&lt;/span&gt;&lt;span class=&quot;token number&quot;&gt;.1&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;token number&quot;&gt;63000&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;-&lt;/span&gt;tls p11&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;douyinpic&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;com&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;token number&quot;&gt;443&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;-&lt;/span&gt;password MVlWnwyr9vEOK8hL 
&lt;span class=&quot;token punctuation&quot;&gt;[&lt;/span&gt;Install&lt;span class=&quot;token punctuation&quot;&gt;]&lt;/span&gt;
WantedBy&lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt;multi&lt;span class=&quot;token operator&quot;&gt;-&lt;/span&gt;user&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;target&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;3. 重载服务&amp;amp;启动&lt;br /&gt;&lt;br /&gt;&lt;pre class=&quot;code&quot;&gt;&lt;code class=&quot;language-lua&quot;&gt;systemctl daemon&lt;span class=&quot;token operator&quot;&gt;-&lt;/span&gt;reload
systemctl enable &lt;span class=&quot;token comment&quot;&gt;--now shadow-tls&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;4. 查看服务&amp;amp;日志&lt;br /&gt;&lt;br /&gt;&lt;pre class=&quot;code&quot;&gt;&lt;code class=&quot;language-text&quot;&gt;systemctl status shadow-tls
journalctl -f  -o cat -n 100 -u shadow-tls&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;5. 使用&lt;br /&gt;&lt;br /&gt;&lt;pre class=&quot;code&quot;&gt;&lt;code class=&quot;language-markdown&quot;&gt;vps &lt;span class=&quot;token url&quot;&gt;[&lt;span class=&quot;token content&quot;&gt;snell&lt;/span&gt;][&lt;span class=&quot;token variable&quot;&gt;shadow-tls-v3&lt;/span&gt;]&lt;/span&gt; = snell, 服务器IP , 443, psk=oKObPL9BuHcU2c5c, version=4, reuse=true, tfo=true, shadow-tls-password=MVlWnwyr9vEOK8hL, shadow-tls-version=3, shadow-tls-sni=p11.douyinpic.com&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;因为我们在 Shadow &lt;mark class=&quot;highlight&quot;&gt;TLS&lt;/mark&gt; 开启了 &lt;code&gt;--wildcard-sni=authed&lt;/code&gt; 所以 可以在客户端改 &lt;code&gt;shadow-&lt;mark class=&quot;highlight&quot;&gt;tls&lt;/mark&gt;-sni &lt;/code&gt;不用跟服务端设置的相同&lt;br /&gt;&lt;br /&gt;可能降低了安全性(?) 但是方便&lt;br /&gt;&lt;br /&gt;&lt;code&gt;p11.douyinpic.com&lt;/code&gt; 是混淆, 需要你的套餐支持. 一般需要 443 端口&lt;br /&gt;&lt;br /&gt;&lt;i class=&quot;emoji&quot;&gt;&lt;b&gt;📃&lt;/b&gt;&lt;/i&gt; 相关内容&lt;br /&gt;&lt;br /&gt;&lt;a href=&quot;https://t.me/zhetengsha/1798&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; title=&quot;从 0 搭建一个 Shadowsocks 2022 + ShadowTLS V3 节点&quot;&gt;从 0 搭建一个 Shadowsocks 2022 + ShadowTLS V3 节点&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href=&quot;https://t.me/zhetengsha/1388&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; title=&quot;免流混淆零跳总结&quot;&gt;免流混淆零跳总结&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href=&quot;https://t.me/zhetengsha_group/604993&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; title=&quot;流邦支持 TLS 443 的混淆&quot;&gt;流邦支持 &lt;mark class=&quot;highlight&quot;&gt;TLS&lt;/mark&gt; 443 的混淆&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href=&quot;https://github.com/ihciah/shadow-tls/wiki/V3-Protocol&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; title=&quot;TLS 1.3 相关的文档&quot;&gt;&lt;mark class=&quot;highlight&quot;&gt;TLS&lt;/mark&gt; 1.3 相关的文档&lt;/a&gt; &lt;i class=&quot;emoji&quot;&gt;&lt;b&gt;👆🏻&lt;/b&gt;&lt;/i&gt;上面的配置里开了 &lt;code&gt;--strict&lt;/code&gt; 具体可以看这个文档&lt;br /&gt;&lt;br /&gt;&lt;a href=&quot;https://github.com/ihciah/shadow-tls/issues/109&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; title=&quot;⚠️ 有些人可能需要看这个：shadow-tls CPU 占用高&quot;&gt;&lt;i class=&quot;emoji&quot;&gt;&lt;b&gt;⚠️&lt;/b&gt;&lt;/i&gt; 有些人可能需要看这个：shadow-&lt;mark class=&quot;highlight&quot;&gt;tls&lt;/mark&gt; CPU 占用高&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;img class=&quot;tg-emoji&quot; src=&quot;/static/https://telegram.me/i/emoji/6327711622831803904.webp&quot; alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;20&quot; height=&quot;20&quot; /&gt; &lt;a href=&quot;https://t.me/zhetengsha/208&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; title=&quot;免流合集&quot;&gt;免流合集&lt;/a&gt; &lt;a href=&quot;https://t.me/zhetengsha/154&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; title=&quot;服务器合集&quot;&gt;服务器合集&lt;/a&gt;   &lt;img class=&quot;tg-emoji&quot; src=&quot;/static/https://telegram.me/i/emoji/6327880277607583303.webp&quot; alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;20&quot; height=&quot;20&quot; /&gt; &lt;a href=&quot;https://t.me/zhetengsha/2&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; title=&quot;频道资源合集&quot;&gt;频道资源合集&lt;/a&gt;  &lt;img class=&quot;tg-emoji&quot; src=&quot;/static/https://telegram.me/i/emoji/6327792445526380187.webp&quot; alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;20&quot; height=&quot;20&quot; /&gt; &lt;a href=&quot;https://t.me/zhetengsha/957&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; title=&quot;恰饭推荐&quot;&gt;恰饭推荐&lt;/a&gt;  &lt;img class=&quot;tg-emoji&quot; src=&quot;/static/https://telegram.me/i/emoji/6021860481923288796.webp&quot; alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;20&quot; height=&quot;20&quot; /&gt; &lt;a href=&quot;https://t.me/zhetengsha_group&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; title=&quot;群组&quot;&gt;群组&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;img class=&quot;tg-emoji&quot; src=&quot;/static/https://telegram.me/i/emoji/6327836885552991740.webp&quot; alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;20&quot; height=&quot;20&quot; /&gt; &lt;a href=&quot;/search/result?q=%23Surge&quot; title=&quot;#Surge&quot;&gt;#Surge&lt;/a&gt; &lt;a href=&quot;/search/result?q=%23%E5%85%8D%E6%B5%81&quot; title=&quot;#免流&quot;&gt;#免流&lt;/a&gt; &lt;a href=&quot;/search/result?q=%23%E6%B7%B7%E6%B7%86&quot; title=&quot;#混淆&quot;&gt;#混淆&lt;/a&gt; &lt;a href=&quot;/search/result?q=%23TLS&quot; title=&quot;#TLS&quot;&gt;#TLS&lt;/a&gt; &lt;a href=&quot;/search/result?q=%23Snell&quot; title=&quot;#Snell&quot;&gt;#Snell&lt;/a&gt; &lt;a href=&quot;/search/result?q=%23ShadowTLS&quot; title=&quot;#ShadowTLS&quot;&gt;#ShadowTLS&lt;/a&gt; &lt;a href=&quot;/search/result?q=%23Shadow&quot; title=&quot;#Shadow&quot;&gt;#Shadow&lt;/a&gt;-&lt;mark class=&quot;highlight&quot;&gt;TLS&lt;/mark&gt; &lt;a href=&quot;/search/result?q=%23%E8%8A%82%E7%82%B9&quot; title=&quot;#节点&quot;&gt;#节点&lt;/a&gt; &lt;a href=&quot;/search/result?q=%23%E6%9C%8D%E5%8A%A1%E5%99%A8&quot; title=&quot;#服务器&quot;&gt;#服务器&lt;/a&gt;</content:encoded></item><item><title> Sub-Store 自动设置服务端证书 SHA-256 指纹仅 Node.js 版支持优先使用 sni, 其次节点服务端其他需求可以让 AI 改改. 比如哪些节点需要加之类的.这里示范的是直接从服务端取, 支持所有目标(包括  sing-box 的 certificate_public_key_sha256)</title><link>http://telegram.zhetengsha.eu.org/posts/1434</link><guid isPermaLink="true">http://telegram.zhetengsha.eu.org/posts/1434</guid><pubDate>Tue, 21 May 2024 04:38:25 GMT</pubDate><content:encoded>&lt;div class=&quot;image-list-container image-list-odd&quot;&gt;
      &lt;button type=&quot;button&quot; class=&quot;image-preview-button image-preview-wrap&quot; popovertarget=&quot;modal-1434-0&quot; popovertargetaction=&quot;show&quot; aria-label=&quot;Open image preview:  Sub-Store 自动设置服务端证书 SHA-256 指纹仅 Node.js 版支持优先使用 sni, 其次节点服务端其他需求可以让 AI 改改. 比如哪些节点需要加之类的.这里示范的是直接从服务端取, 支持所有目标(包括  sing-box 的 certificate_public_key_sha256)&quot;&gt;
        &lt;img src=&quot;/static/https://cdn5.telesco.pe/file/MrKMrbt2wn12Mvk3g_J5yMsl-y7R3KI8aO6kfcCRi4tCQ5fnSmUPnNLR7fEKnPVajoFqVGVy_-8ZBRbUwiO-KDvBgqcfoK8n2LjKymxXjhxNPdXW8-DFpxE5hyBg3xZJJAfNjBGGc5_G6Eoswoxtslp8NH7jOzEC9KYsjqtdMNqGkK-vXAYcze9E0eouzEsjX4SrYgxQxoRgjjGECeIyypts2ZU6olIvmMNvKwZ3Z_8J0UnnF3oSydlPyYPl98qHEzxZvx3PKzj2UdxJf4XQUTcrfDse0ai3c6gSXjDfaKgXt4OUO_dsdzV0O25GrDobPotqmN7bfarV3nh0f7_pQA.jpg&quot; alt=&quot; Sub-Store 自动设置服务端证书 SHA-256 指纹仅 Node.js 版支持优先使用 sni, 其次节点服务端其他需求可以让 AI 改改. 比如哪些节点需要加之类的.这里示范的是直接从服务端取, 支持所有目标(包括  sing-box 的 certificate_public_key_sha256)&quot; width=&quot;800&quot; height=&quot;259&quot; loading=&quot;eager&quot; /&gt;
      &lt;/button&gt;
      &lt;div class=&quot;modal&quot; id=&quot;modal-1434-0&quot; popover=&quot;auto&quot; aria-label=&quot;Image preview&quot;&gt;
        &lt;button type=&quot;button&quot; class=&quot;modal__backdrop&quot; popovertarget=&quot;modal-1434-0&quot; popovertargetaction=&quot;hide&quot; aria-label=&quot;Close image preview&quot;&gt;&lt;/button&gt;
        &lt;button type=&quot;button&quot; class=&quot;modal__close&quot; popovertarget=&quot;modal-1434-0&quot; popovertargetaction=&quot;hide&quot; aria-label=&quot;Close image preview&quot;&gt;×&lt;/button&gt;
        &lt;div class=&quot;modal__surface&quot;&gt;
          
        &lt;/div&gt;
      &lt;/div&gt;
    &lt;/div&gt;&lt;img class=&quot;tg-emoji&quot; src=&quot;/static/https://telegram.me/i/emoji/4960754541902430862.webp&quot; alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;20&quot; height=&quot;20&quot; /&gt; &lt;u&gt;Sub-Store 自动设置服务端证书 SHA-256 指纹&lt;/u&gt;&lt;br /&gt;&lt;br /&gt;仅 Node.js 版支持&lt;br /&gt;&lt;br /&gt;优先使用 &lt;code&gt;sni&lt;/code&gt;, 其次节点服务端&lt;br /&gt;其他需求可以让 AI 改改. 比如哪些节点需要加之类的.&lt;br /&gt;这里示范的是直接从服务端取, 支持所有目标(包括 &lt;img class=&quot;tg-emoji&quot; src=&quot;/static/https://telegram.me/i/emoji/5154930575995306994.webp&quot; alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;20&quot; height=&quot;20&quot; /&gt; sing-box 的 &lt;code&gt;certificate_public_key_sha256&lt;/code&gt;)&lt;br /&gt;&lt;br /&gt;&lt;div class=&quot;tg-expandable&quot;&gt;
      &lt;input type=&quot;checkbox&quot; id=&quot;expand-1-0&quot; class=&quot;tg-expandable__checkbox&quot; aria-label=&quot;Toggle hidden content&quot; aria-controls=&quot;expand-1-0-content&quot; /&gt;
      &lt;div id=&quot;expand-1-0-content&quot; class=&quot;tg-expandable__content&quot;&gt;const &lt;mark class=&quot;highlight&quot;&gt;tls&lt;/mark&gt; = require(&quot;&lt;mark class=&quot;highlight&quot;&gt;tls&lt;/mark&gt;&quot;);&lt;br /&gt;const crypto = require(&quot;crypto&quot;);&lt;br /&gt;&lt;br /&gt;function getCertificateInfo(host, port = 443) {&lt;br /&gt;  return new Promise((resolve) =&amp;gt; {&lt;br /&gt;    const socket = &lt;mark class=&quot;highlight&quot;&gt;tls&lt;/mark&gt;.connect(&lt;br /&gt;      {&lt;br /&gt;        host,&lt;br /&gt;        port,&lt;br /&gt;        servername: host,&lt;br /&gt;        rejectUnauthorized: false,&lt;br /&gt;      },&lt;br /&gt;      () =&amp;gt; {&lt;br /&gt;        try {&lt;br /&gt;          const cert = socket.getPeerCertificate(true);&lt;br /&gt;&lt;br /&gt;          if (!cert || !cert.raw) {&lt;br /&gt;            socket.end();&lt;br /&gt;            return resolve({&lt;br /&gt;              fingerprint: &quot;&quot;,&lt;br /&gt;              publicKeySha256: &quot;&quot;,&lt;br /&gt;            });&lt;br /&gt;          }&lt;br /&gt;&lt;br /&gt;          const x509 = new crypto.X509Certificate(cert.raw);&lt;br /&gt;&lt;br /&gt;          // SHA256 证书指纹&lt;br /&gt;          const fingerprint = cert.fingerprint256 || &quot;&quot;;&lt;br /&gt;&lt;br /&gt;          // SHA256 公钥（SPKI）&lt;br /&gt;          const publicKeyDer = x509.publicKey.export({&lt;br /&gt;            type: &quot;spki&quot;,&lt;br /&gt;            format: &quot;der&quot;,&lt;br /&gt;          });&lt;br /&gt;&lt;br /&gt;          const publicKeySha256 = crypto&lt;br /&gt;            .createHash(&quot;sha256&quot;)&lt;br /&gt;            .update(publicKeyDer)&lt;br /&gt;            .digest(&quot;base64&quot;);&lt;br /&gt;&lt;br /&gt;          socket.end();&lt;br /&gt;&lt;br /&gt;          resolve({&lt;br /&gt;            fingerprint,&lt;br /&gt;            publicKeySha256,&lt;br /&gt;          });&lt;br /&gt;        } catch {&lt;br /&gt;          socket.end();&lt;br /&gt;          resolve({&lt;br /&gt;            fingerprint: &quot;&quot;,&lt;br /&gt;            publicKeySha256: &quot;&quot;,&lt;br /&gt;          });&lt;br /&gt;        }&lt;br /&gt;      }&lt;br /&gt;    );&lt;br /&gt;&lt;br /&gt;    socket.on(&quot;error&quot;, () =&amp;gt; {&lt;br /&gt;      resolve({&lt;br /&gt;        fingerprint: &quot;&quot;,&lt;br /&gt;        publicKeySha256: &quot;&quot;,&lt;br /&gt;      });&lt;br /&gt;    });&lt;br /&gt;  });&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;async function operator(proxies, targetPlatform, context) {&lt;br /&gt;  console.log(`[证书] INFO: 开始处理 ${proxies.length} 个节点`);&lt;br /&gt;&lt;br /&gt;  for await (const proxy of proxies) {&lt;br /&gt;    const host = proxy.sni || proxy.server;&lt;br /&gt;&lt;br /&gt;    if (!host || ProxyUtils.isIP(host)) {&lt;br /&gt;      console.log(&lt;br /&gt;        `[证书] WARN: [${&lt;a href=&quot;http://proxy.name/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; title=&quot;proxy.name&quot;&gt;proxy.name&lt;/a&gt;}] 跳过，目标为 IP 或为空 (${host || &quot;-&quot;})`&lt;br /&gt;      );&lt;br /&gt;      continue;&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;    console.log(&lt;br /&gt;      `[证书] INFO: [${&lt;a href=&quot;http://proxy.name/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; title=&quot;proxy.name&quot;&gt;proxy.name&lt;/a&gt;}] 正在获取 ${host} 的证书信息`&lt;br /&gt;    );&lt;br /&gt;&lt;br /&gt;    const cert = await getCertificateInfo(host);&lt;br /&gt;&lt;br /&gt;    proxy.fingerprint = cert.fingerprint;&lt;br /&gt;&lt;br /&gt;    if (cert.publicKeySha256) {&lt;br /&gt;      proxy._certificate_public_key_sha256 = [cert.publicKeySha256];&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;    if (cert.fingerprint) {&lt;br /&gt;      console.log(&lt;br /&gt;        `[证书] LOG: [${&lt;a href=&quot;http://proxy.name/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; title=&quot;proxy.name&quot;&gt;proxy.name&lt;/a&gt;}] fingerprint=${cert.fingerprint}, public_key_sha256=${cert.publicKeySha256}`&lt;br /&gt;      );&lt;br /&gt;    } else {&lt;br /&gt;      console.log(`[证书] WARN: [${&lt;a href=&quot;http://proxy.name/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; title=&quot;proxy.name&quot;&gt;proxy.name&lt;/a&gt;}] 获取证书失败`);&lt;br /&gt;    }&lt;br /&gt;  }&lt;br /&gt;&lt;br /&gt;  console.log(`[证书] INFO: 全部节点处理完成`);&lt;br /&gt;&lt;br /&gt;  return proxies;&lt;br /&gt;}&lt;/div&gt;
      &lt;label for=&quot;expand-1-0&quot; class=&quot;tg-expandable__toggle&quot;&gt;&lt;span class=&quot;sr-only&quot;&gt;Toggle hidden content&lt;/span&gt;&lt;/label&gt;
    &lt;/div&gt;&lt;br /&gt;&lt;br /&gt;相关: &lt;u&gt;&lt;img class=&quot;tg-emoji&quot; src=&quot;/static/https://telegram.me/i/emoji/5296369303661067030.webp&quot; alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;20&quot; height=&quot;20&quot; /&gt;&lt;/u&gt;&lt;a href=&quot;https://t.me/zhetengsha/1433&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; title=&quot;自建节点证书相关说明&quot;&gt;自建节点证书相关说明&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;img class=&quot;tg-emoji&quot; src=&quot;/static/https://telegram.me/i/emoji/6327711622831803904.webp&quot; alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;20&quot; height=&quot;20&quot; /&gt; &lt;a href=&quot;https://t.me/zhetengsha/154&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; title=&quot;服务器合集&quot;&gt;服务器合集&lt;/a&gt;  &lt;img class=&quot;tg-emoji&quot; src=&quot;/static/https://telegram.me/i/emoji/6327711622831803904.webp&quot; alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;20&quot; height=&quot;20&quot; /&gt; &lt;a href=&quot;https://t.me/zhetengsha/214&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; title=&quot;Sub-Store 合集&quot;&gt;Sub-Store 合集&lt;/a&gt;  &lt;img class=&quot;tg-emoji&quot; src=&quot;/static/https://telegram.me/i/emoji/6327880277607583303.webp&quot; alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;20&quot; height=&quot;20&quot; /&gt; &lt;a href=&quot;https://t.me/zhetengsha/2&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; title=&quot;合集&quot;&gt;合集&lt;/a&gt;  &lt;img class=&quot;tg-emoji&quot; src=&quot;/static/https://telegram.me/i/emoji/6327792445526380187.webp&quot; alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;20&quot; height=&quot;20&quot; /&gt; &lt;a href=&quot;https://t.me/zhetengsha/957&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; title=&quot;恰饭推荐&quot;&gt;恰饭推荐&lt;/a&gt;  &lt;img class=&quot;tg-emoji&quot; src=&quot;/static/https://telegram.me/i/emoji/6021860481923288796.webp&quot; alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;20&quot; height=&quot;20&quot; /&gt; &lt;a href=&quot;https://t.me/zhetengsha_group&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; title=&quot;群组&quot;&gt;群组&lt;/a&gt; &lt;img class=&quot;tg-emoji&quot; src=&quot;/static/https://telegram.me/i/emoji/6330367862535884142.webp&quot; alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;20&quot; height=&quot;20&quot; /&gt;&lt;a href=&quot;https://t.me/xream_bot&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; title=&quot;联系推广&quot;&gt;联系推广&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;img class=&quot;tg-emoji&quot; src=&quot;/static/https://telegram.me/i/emoji/6327836885552991740.webp&quot; alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;20&quot; height=&quot;20&quot; /&gt; &lt;a href=&quot;/search/result?q=%23%E8%8A%82%E7%82%B9&quot; title=&quot;#节点&quot;&gt;#节点&lt;/a&gt; &lt;a href=&quot;/search/result?q=%23%E8%AF%81%E4%B9%A6&quot; title=&quot;#证书&quot;&gt;#证书&lt;/a&gt; &lt;a href=&quot;/search/result?q=%23SNI&quot; title=&quot;#SNI&quot;&gt;#SNI&lt;/a&gt; &lt;a href=&quot;/search/result?q=%23TLS&quot; title=&quot;#TLS&quot;&gt;#TLS&lt;/a&gt; &lt;a href=&quot;/search/result?q=%23SHA256&quot; title=&quot;#SHA256&quot;&gt;#SHA256&lt;/a&gt; &lt;a href=&quot;/search/result?q=%23%E6%8C%87%E7%BA%B9&quot; title=&quot;#指纹&quot;&gt;#指纹&lt;/a&gt; &lt;a href=&quot;/search/result?q=%23SSL&quot; title=&quot;#SSL&quot;&gt;#SSL&lt;/a&gt; &lt;a href=&quot;/search/result?q=%23sing&quot; title=&quot;#sing&quot;&gt;#sing&lt;/a&gt;-box &lt;a href=&quot;/search/result?q=%23mihomo&quot; title=&quot;#mihomo&quot;&gt;#mihomo&lt;/a&gt; &lt;a href=&quot;/search/result?q=%23surge&quot; title=&quot;#surge&quot;&gt;#surge&lt;/a&gt;</content:encoded></item><item><title>自建节点证书相关说明抛砖引玉 留个备忘▎服务端验证客户端 SNI, 几个例子:Trojan-Go : verify_hostname 表示服务端是否校验客户端提供的SNI与服务端设置的一致性 文档Xray : rejectUnknownSni 服务端接收到的 SNI 与证书域名不匹配即拒绝 TLS 握手 文档sing-box: 问了下薄荷佬, 官版没有，fork 有  fork 有▎客户端验证服务端证书, 几个例子: Stash : server-cert-fingerprint TLS 握手时验证服务器证书 SHA256 指纹 文档 Surge:  server-cert-fingerprint-sha256 文档skip-cert-verify=true :Surge will not verify the server&apos;s certificate.sni=off :turn off SNI completely mihomo: sni 为 IP 时, 也不发 sni▎覆盖用于验证证书的域名，但不会改变 SNI免流等场景下, SNI 改为混淆, 不关验证, 仍然验证证书的域名 Xray: verifyPeerCertByName, URI 上叫 vcn mihomo: name-cert-verify Surge: server-cert-verify-name sing-box(风佬版) certificate_server_name QX tls-verification Sub-Store 中(mihomo/Surge/QX)可按上述输入写字段, 或使用脚本操作 $server[&apos;name-cert-verify&apos;] = &apos;b.com&apos;▎备忘1. 在当前目录生成 10 年的 bing.com 自签证书:openssl req -x509 -nodes -newkey ec:&lt;(openssl ecparam -name prime256v1) -keyout private.key -out certificate.pem -subj &quot;/CN=bing.com&quot; -days 365002. 获取服务器证书 SHA256 指纹:openssl x509 -noout -fingerprint -sha256 -inform pem -in certificate.pem对于远程服务器 openssl s_client -connect foo.com:443 -servername foo.com &lt;/dev/null 2&gt;/dev/null | openssl x509 -noout -fingerprint -sha256 | cut -d= -f2▎如果想自动从服务端读取并设置 Sub-Store 自动设置服务端证书 SHA-256 指纹▎手动设置Sub-Store 中直接在输入里写对应的字段, 或使用脚本操作设置内部字段 tls-fingerprint 可自动转其他客户端, 但是 sing-box 的不一样, 没法直接转, 所以开放了字段让你自己设例如使用单行 JSON 的方式, 把俩字段都写上:{ &quot;name&quot;: &quot;节点名&quot;, &quot;type&quot;: &quot;anytls&quot;, &quot;server&quot;: &quot;服务器&quot;, &quot;port&quot;: 443, &quot;password&quot;: &quot;xYbpwdF9vIELWoLmdC&quot;, &quot;udp&quot;: true, &quot;sni&quot;: &quot;a.foo.com&quot;, &quot;fingerprint&quot;: &quot;SHA256 指纹&quot;, &quot;_certificate_public_key_sha256&quot;: [ &quot;SHA-256 哈希&quot; ] }  sing-box 中的 certificate_public_key_sha256 ，使用以下命令生成openssl x509 -in certificate.pem -pubkey -noout | openssl pkey -pubin -outform der | openssl dgst -sha256 -binary | openssl enc -base64对于远程服务器 echo | openssl s_client -servername foo.com -connect foo.com:443 2&gt;/dev/null | openssl x509 -pubkey -noout | openssl pkey -pubin -outform der | openssl dgst -sha256 -binary | openssl enc -base64 Sub-Store 中需要使用脚本操作 $server._certificate_public_key_sha256 = [ &quot;428F7quaQJvBhEr5TclcjPpsl1ryyNQo7oLBGhhC3UU=&quot; ]参考 Lucy 整理好的 服务器合集   Sub-Store 合集   合集   恰饭推荐   群组 联系推广 #VPS #服务器 #节点 #自建 #证书 #SNI #hostname #TLS #SHA256 #自签 #指纹 #SSL</title><link>http://telegram.zhetengsha.eu.org/posts/1433</link><guid isPermaLink="true">http://telegram.zhetengsha.eu.org/posts/1433</guid><pubDate>Tue, 21 May 2024 03:21:45 GMT</pubDate><content:encoded>&lt;u&gt;&lt;img class=&quot;tg-emoji&quot; src=&quot;/static/https://telegram.me/i/emoji/5296369303661067030.webp&quot; alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;20&quot; height=&quot;20&quot; /&gt;&lt;/u&gt;&lt;u&gt;自建节点证书相关说明&lt;/u&gt;&lt;br /&gt;&lt;br /&gt;抛砖引玉 留个备忘&lt;br /&gt;&lt;br /&gt;▎服务端&lt;br /&gt;&lt;br /&gt;验证客户端 SNI, 几个例子:&lt;br /&gt;&lt;br /&gt;&lt;code&gt;Trojan-Go&lt;/code&gt; : &lt;code&gt;verify_hostname&lt;/code&gt; 表示服务端是否校验客户端提供的SNI与服务端设置的一致性 &lt;a href=&quot;https://p4gefau1t.github.io/trojan-go/basic/full-config&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; title=&quot;文档&quot;&gt;文档&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;code&gt;Xray&lt;/code&gt; : &lt;code&gt;rejectUnknownSni&lt;/code&gt; 服务端接收到的 SNI 与证书域名不匹配即拒绝 &lt;mark class=&quot;highlight&quot;&gt;TLS&lt;/mark&gt; 握手 &lt;a href=&quot;https://xtls.github.io/config/transport.html#tlsobject&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; title=&quot;文档&quot;&gt;文档&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;code&gt;sing-box&lt;/code&gt;: 问了下薄荷佬, 官版没有，&lt;a href=&quot;https://github.com/xchacha20-poly1305/sing-box/commit/d371c230b63a6f7ee4e46a791ba6624c7f64e7f5&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; title=&quot;fork 有&quot;&gt;&lt;s&gt;fork 有&lt;/s&gt;&lt;/a&gt;  &lt;a href=&quot;https://github.com/reF1nd/sing-box/tree/reF1nd-testing#inbound-tls&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; title=&quot;fork 有&quot;&gt;fork 有&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;▎客户端&lt;br /&gt;&lt;br /&gt;验证服务端证书, 几个例子:&lt;br /&gt;&lt;br /&gt;&lt;img class=&quot;tg-emoji&quot; src=&quot;/static/https://telegram.me/i/emoji/4961275946637197948.webp&quot; alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;20&quot; height=&quot;20&quot; /&gt; Stash : &lt;code&gt;server-cert-fingerprint&lt;/code&gt; &lt;mark class=&quot;highlight&quot;&gt;TLS&lt;/mark&gt; 握手时验证服务器证书 SHA256 指纹 &lt;a href=&quot;https://stash.wiki/proxy-protocols/proxy-types.zh&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; title=&quot;文档&quot;&gt;文档&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;img class=&quot;tg-emoji&quot; src=&quot;/static/https://telegram.me/i/emoji/4961174074307904393.webp&quot; alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;20&quot; height=&quot;20&quot; /&gt; Surge:  &lt;code&gt;server-cert-fingerprint-sha256&lt;/code&gt; &lt;a href=&quot;https://manual.nssurge.com/policy/proxy.html&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; title=&quot;文档&quot;&gt;文档&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;code&gt;skip-cert-verify=true&lt;/code&gt; :&lt;br /&gt;&lt;blockquote&gt;Surge will not verify the server&apos;s certificate.&lt;/blockquote&gt;&lt;br /&gt;&lt;code&gt;sni=off&lt;/code&gt; :&lt;br /&gt;&lt;blockquote&gt;turn off SNI completely&lt;/blockquote&gt;&lt;br /&gt;&lt;img class=&quot;tg-emoji&quot; src=&quot;/static/https://telegram.me/i/emoji/4960853905970823886.webp&quot; alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;20&quot; height=&quot;20&quot; /&gt; mihomo: &lt;code&gt;sni&lt;/code&gt; 为 IP 时, 也不发 &lt;code&gt;sni&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;▎&lt;b&gt;覆盖用于验证证书的域名&lt;/b&gt;，但&lt;b&gt;不会改变 SNI&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;免流等场景下, SNI 改为混淆, 不关验证, 仍然&lt;b&gt;验证证书的域名&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;img class=&quot;tg-emoji&quot; src=&quot;/static/https://telegram.me/i/emoji/5170221875044811472.webp&quot; alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;20&quot; height=&quot;20&quot; /&gt; Xray: &lt;code&gt;verifyPeerCertByName&lt;/code&gt;, URI 上叫 &lt;code&gt;vcn&lt;/code&gt;&lt;br /&gt;&lt;img class=&quot;tg-emoji&quot; src=&quot;/static/https://telegram.me/i/emoji/4960853905970823886.webp&quot; alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;20&quot; height=&quot;20&quot; /&gt; mihomo: &lt;a href=&quot;https://github.com/MetaCubeX/mihomo/commit/5677fd38088efc9cc3abe7ed54fefeeb1bea0ac4#diff-06e23ea20a066a0e717b5eaa625dfd3f1d11439f4ad5bd705d16d6e1758b39c0&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; title=&quot;name-cert-verify&quot;&gt;name-cert-verify&lt;/a&gt;&lt;br /&gt;&lt;img class=&quot;tg-emoji&quot; src=&quot;/static/https://telegram.me/i/emoji/4961174074307904393.webp&quot; alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;20&quot; height=&quot;20&quot; /&gt; Surge: &lt;a href=&quot;https://t.me/SurgeTestFlight/1663&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; title=&quot;server-cert-verify-name&quot;&gt;server-cert-verify-name&lt;/a&gt;&lt;br /&gt;&lt;img class=&quot;tg-emoji&quot; src=&quot;/static/https://telegram.me/i/emoji/5154930575995306994.webp&quot; alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;20&quot; height=&quot;20&quot; /&gt; sing-box(风佬版) &lt;a href=&quot;https://t.me/sing_box_reF1nd/3851&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; title=&quot;certificate_server_name&quot;&gt;certificate_server_name&lt;/a&gt;&lt;br /&gt;&lt;img class=&quot;tg-emoji&quot; src=&quot;/static/https://telegram.me/i/emoji/4961270096891740895.webp&quot; alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;20&quot; height=&quot;20&quot; /&gt; QX &lt;a href=&quot;https://t.me/QuanXNews/415&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; title=&quot;tls-verification&quot;&gt;&lt;mark class=&quot;highlight&quot;&gt;tls&lt;/mark&gt;-verification&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;img class=&quot;tg-emoji&quot; src=&quot;/static/https://telegram.me/i/emoji/4960754541902430862.webp&quot; alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;20&quot; height=&quot;20&quot; /&gt; Sub-Store 中(mihomo/Surge/QX)可按上述输入写字段, 或使用脚本操作 &lt;code&gt;$server[&apos;name-cert-verify&apos;] = &apos;b.com&apos;&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;▎备忘&lt;br /&gt;&lt;br /&gt;1. 在当前目录生成 10 年的 &lt;code&gt;bing.com&lt;/code&gt; 自签证书:&lt;br /&gt;&lt;br /&gt;&lt;code&gt;openssl req -x509 -nodes -newkey ec:&amp;lt;(openssl ecparam -name prime256v1) -keyout private.key -out certificate.pem -subj &quot;/CN=bing.com&quot; -days 36500&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;2. 获取服务器证书 SHA256 指纹:&lt;br /&gt;&lt;br /&gt;&lt;code&gt;openssl x509 -noout -fingerprint -sha256 -inform pem -in certificate.pem&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;对于远程服务器 &lt;code&gt;openssl s_client -connect foo.com:443 -servername foo.com &amp;lt;/dev/null 2&amp;gt;/dev/null | openssl x509 -noout -fingerprint -sha256 | cut -d= -f2&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;▎如果想自动从服务端读取并设置&lt;br /&gt;&lt;br /&gt;&lt;img class=&quot;tg-emoji&quot; src=&quot;/static/https://telegram.me/i/emoji/4960754541902430862.webp&quot; alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;20&quot; height=&quot;20&quot; /&gt; &lt;a href=&quot;https://t.me/zhetengsha/1434&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; title=&quot;Sub-Store 自动设置服务端证书 SHA-256 指纹&quot;&gt;Sub-Store 自动设置服务端证书 SHA-256 指纹&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;▎手动设置&lt;br /&gt;&lt;br /&gt;Sub-Store 中直接在输入里写对应的字段, 或使用脚本操作设置内部字段 &lt;code&gt;&lt;mark class=&quot;highlight&quot;&gt;tls&lt;/mark&gt;-fingerprint&lt;/code&gt; 可自动转其他客户端, 但是 sing-box 的不一样, 没法直接转, 所以开放了字段让你自己设&lt;br /&gt;&lt;br /&gt;例如使用单行 JSON 的方式, 把俩字段都写上:&lt;br /&gt;&lt;pre class=&quot;code&quot;&gt;&lt;code class=&quot;language-javascript&quot;&gt;&lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt; &lt;span class=&quot;token string-property property&quot;&gt;&quot;name&quot;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&quot;节点名&quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;token string-property property&quot;&gt;&quot;type&quot;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&quot;anytls&quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;token string-property property&quot;&gt;&quot;server&quot;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&quot;服务器&quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;token string-property property&quot;&gt;&quot;port&quot;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;443&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;token string-property property&quot;&gt;&quot;password&quot;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&quot;xYbpwdF9vIELWoLmdC&quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;token string-property property&quot;&gt;&quot;udp&quot;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token boolean&quot;&gt;true&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;token string-property property&quot;&gt;&quot;sni&quot;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&quot;a.foo.com&quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;token string-property property&quot;&gt;&quot;fingerprint&quot;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&quot;SHA256 指纹&quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;token string-property property&quot;&gt;&quot;_certificate_public_key_sha256&quot;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;[&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&quot;SHA-256 哈希&quot;&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;]&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt; &lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;img class=&quot;tg-emoji&quot; src=&quot;/static/https://telegram.me/i/emoji/5154930575995306994.webp&quot; alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;20&quot; height=&quot;20&quot; /&gt; sing-box 中的 &lt;a href=&quot;https://sing-box.sagernet.org/zh/configuration/shared/tls/#certificate_public_key_sha256&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; title=&quot;certificate_public_key_sha256&quot;&gt;certificate_public_key_sha256&lt;/a&gt; ，使用以下命令生成&lt;br /&gt;&lt;code&gt;openssl x509 -in certificate.pem -pubkey -noout | openssl pkey -pubin -outform der | openssl dgst -sha256 -binary | openssl enc -base64&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;对于远程服务器 &lt;code&gt;echo | openssl s_client -servername foo.com -connect foo.com:443 2&amp;gt;/dev/null | openssl x509 -pubkey -noout | openssl pkey -pubin -outform der | openssl dgst -sha256 -binary | openssl enc -base64&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;&lt;img class=&quot;tg-emoji&quot; src=&quot;/static/https://telegram.me/i/emoji/4960754541902430862.webp&quot; alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;20&quot; height=&quot;20&quot; /&gt; Sub-Store 中需要使用脚本操作 &lt;code&gt;$server._certificate_public_key_sha256 = [ &quot;428F7quaQJvBhEr5TclcjPpsl1ryyNQo7oLBGhhC3UU=&quot; ]&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href=&quot;https://t.me/LUCYChannel_1024/4858&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; title=&quot;参考 Lucy 整理好的&quot;&gt;参考 Lucy 整理好的&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;img class=&quot;tg-emoji&quot; src=&quot;/static/https://telegram.me/i/emoji/6327711622831803904.webp&quot; alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;20&quot; height=&quot;20&quot; /&gt; &lt;a href=&quot;https://t.me/zhetengsha/154&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; title=&quot;服务器合集&quot;&gt;服务器合集&lt;/a&gt;  &lt;img class=&quot;tg-emoji&quot; src=&quot;/static/https://telegram.me/i/emoji/6327711622831803904.webp&quot; alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;20&quot; height=&quot;20&quot; /&gt; &lt;a href=&quot;https://t.me/zhetengsha/214&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; title=&quot;Sub-Store 合集&quot;&gt;Sub-Store 合集&lt;/a&gt;  &lt;img class=&quot;tg-emoji&quot; src=&quot;/static/https://telegram.me/i/emoji/6327880277607583303.webp&quot; alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;20&quot; height=&quot;20&quot; /&gt; &lt;a href=&quot;https://t.me/zhetengsha/2&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; title=&quot;合集&quot;&gt;合集&lt;/a&gt;  &lt;img class=&quot;tg-emoji&quot; src=&quot;/static/https://telegram.me/i/emoji/6327792445526380187.webp&quot; alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;20&quot; height=&quot;20&quot; /&gt; &lt;a href=&quot;https://t.me/zhetengsha/957&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; title=&quot;恰饭推荐&quot;&gt;恰饭推荐&lt;/a&gt;  &lt;img class=&quot;tg-emoji&quot; src=&quot;/static/https://telegram.me/i/emoji/6021860481923288796.webp&quot; alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;20&quot; height=&quot;20&quot; /&gt; &lt;a href=&quot;https://t.me/zhetengsha_group&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; title=&quot;群组&quot;&gt;群组&lt;/a&gt; &lt;img class=&quot;tg-emoji&quot; src=&quot;/static/https://telegram.me/i/emoji/6330367862535884142.webp&quot; alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;20&quot; height=&quot;20&quot; /&gt;&lt;a href=&quot;https://t.me/xream_bot&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; title=&quot;联系推广&quot;&gt;联系推广&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;img class=&quot;tg-emoji&quot; src=&quot;/static/https://telegram.me/i/emoji/6327836885552991740.webp&quot; alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;20&quot; height=&quot;20&quot; /&gt; &lt;a href=&quot;https://t.me/zhetengsha/1354&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; title=&quot;#VPS #服务器 #节点 #自建 #证书 #SNI #hostname #TLS #SHA256 #自签 #指纹 #SSL&quot;&gt;#VPS #服务器 #节点 #自建 #证书 #SNI #hostname #TLS #SHA256 #自签 #指纹 #SSL&lt;/a&gt;</content:encoded></item></channel></rss>