mirror of
https://github.com/p4gefau1t/trojan-go.git
synced 2024-04-21 12:21:34 +00:00
deploy: cbb447505d
This commit is contained in:
@@ -32,7 +32,7 @@
|
||||
<body><div class="container"><header>
|
||||
<h1>Trojan-Go Docs</h1>
|
||||
|
||||
<span class="version">Version 0.4.7</span>
|
||||
<span class="version">Version 0.4.8</span>
|
||||
<a href="https://github.com/p4gefau1t/trojan-go" class="github"><i class="fab fa-github"></i></a>
|
||||
<p class="description">An unidentifiable mechanism that helps you bypass GFW. </p>
|
||||
|
||||
|
||||
@@ -39,7 +39,7 @@
|
||||
<body><div class="container"><header>
|
||||
<h1>Trojan-Go Docs</h1>
|
||||
|
||||
<span class="version">Version 0.4.7</span>
|
||||
<span class="version">Version 0.4.8</span>
|
||||
<a href="https://github.com/p4gefau1t/trojan-go" class="github"><i class="fab fa-github"></i></a>
|
||||
<p class="description">An unidentifiable mechanism that helps you bypass GFW. </p>
|
||||
|
||||
|
||||
+1
-1
@@ -32,7 +32,7 @@
|
||||
<body><div class="container"><header>
|
||||
<h1>Trojan-Go Docs</h1>
|
||||
|
||||
<span class="version">Version 0.4.7</span>
|
||||
<span class="version">Version 0.4.8</span>
|
||||
<a href="https://github.com/p4gefau1t/trojan-go" class="github"><i class="fab fa-github"></i></a>
|
||||
<p class="description">An unidentifiable mechanism that helps you bypass GFW. </p>
|
||||
|
||||
|
||||
@@ -30,7 +30,7 @@
|
||||
<meta itemprop="name" content="启用多路复用提升并发性能">
|
||||
<meta itemprop="description" content="注意,Trojan-GFW版本不支持这个特性 Trojan-Go支持使用多路复用提升并发性能。 Trojan协议基于TLS。在一个TLS安全连接">
|
||||
|
||||
<meta itemprop="wordCount" content="807">
|
||||
<meta itemprop="wordCount" content="810">
|
||||
<meta itemprop="image" content="https://p4gefau1t.github.io/trojan-go/images/og-image.png"/>
|
||||
|
||||
|
||||
@@ -39,7 +39,7 @@
|
||||
<body><div class="container"><header>
|
||||
<h1>Trojan-Go Docs</h1>
|
||||
|
||||
<span class="version">Version 0.4.7</span>
|
||||
<span class="version">Version 0.4.8</span>
|
||||
<a href="https://github.com/p4gefau1t/trojan-go" class="github"><i class="fab fa-github"></i></a>
|
||||
<p class="description">An unidentifiable mechanism that helps you bypass GFW. </p>
|
||||
|
||||
@@ -56,9 +56,9 @@
|
||||
<h3 id="注意trojan-gfw版本不支持这个特性">注意,Trojan-GFW版本不支持这个特性</h3>
|
||||
<p>Trojan-Go支持使用多路复用提升并发性能。</p>
|
||||
<p>Trojan协议基于TLS。在一个TLS安全连接建立之前,连接双方需要进行密钥协商和交换等步骤确保后续通讯的安全性。这个过程即为TLS握手。</p>
|
||||
<p>目前GFW对于TLS握手有审查和干扰,同时由于出口网络拥塞的原因,普通的线路完成TLS握手通常需要将近一秒甚至更长的时间。这可能会使得浏览网页和观看视频的延迟提高。</p>
|
||||
<p>Trojan-Go使用多路复用的方式解决这一问题。每个建立的TLS连接将承载多个TCP连接。当新的代理请求到来时,不需要和服务器握手发起一个新的TLS连接,而是尽可能重复使用已有的TLS连接。以此减少频繁TLS握手的带来的延迟。</p>
|
||||
<p>启用多路复用功能不会增加你的链路速度(甚至会有所减少),而且可能会增加服务器和客户端的计算负担。但在高并发的情况下,如浏览含有大量图片的网页时,或者发送大量UDP请求时,可以提升使用体验。</p>
|
||||
<p>目前GFW对于TLS握手有审查和干扰,同时由于出口网络拥塞的原因,普通的线路完成TLS握手通常需要将近一秒甚至更长的时间。这可能导致浏览网页和观看视频的延迟提高。</p>
|
||||
<p>Trojan-Go使用多路复用的方式解决这一问题。每个建立的TLS连接将承载多个TCP连接。当新的代理请求到来时,不需要和服务器握手发起一个新的TLS连接,而是尽可能重复使用已有的TLS连接。以此减少频繁TLS握手和TCP握手的带来的延迟。</p>
|
||||
<p>启用多路复用功能不会增加你的链路速度(甚至会有所减少),而且可能会增加服务器和客户端的计算负担。但在高并发的情景下,如浏览含有大量图片的网页时,或者发送大量UDP请求时,可以提升使用体验。</p>
|
||||
<p>激活<code>mux</code>模块,只需要将<code>mux</code>选项中<code>enabled</code>字段设为true即可,下面是一个客户端的例子</p>
|
||||
<div class="highlight"><pre style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code class="language-json" data-lang="json">{
|
||||
<span style="color:#f92672">"run_type"</span>: <span style="color:#e6db74">"client"</span>,
|
||||
@@ -80,8 +80,8 @@
|
||||
<span style="color:#f92672">"concurrency"</span>: <span style="color:#ae81ff">8</span>,
|
||||
<span style="color:#f92672">"idle_timeout"</span>: <span style="color:#ae81ff">60</span>
|
||||
}
|
||||
</code></pre></div><p><code>concurrency</code>是每个TLS连接最多可以承载的TCP连接数。这个数值越大,TLS连接被复用的比例就更高,握手导致的延迟越低,但服务器和客户端的计算负担也会越大,这有可能使你的网络吞吐量降低。如果你的线路的TLS握手极端缓慢,你可以将这个数值设置为-1,Trojan-Go将只进行一次TLS握手,只使用唯一的一条TLS连接进行传输。</p>
|
||||
<p><code>idle_timeout</code>指的是每个TLS连接空闲多长时间后关闭。设置超时时间,<strong>可能</strong>有助于减少不必要的长连接存活确认(Keep Alive)流量传输引发GFW的探测。你可以将这个数值设置为-1,TLS连接将不会因为长时间空闲而被关闭。</p>
|
||||
</code></pre></div><p><code>concurrency</code>是每个TLS连接最多可以承载的TCP连接数。这个数值越大,每个TLS连接被复用的程度就更高,握手导致的延迟越低。但服务器和客户端的计算负担也会越大,这有可能使你的网络吞吐量降低。如果你的线路的TLS握手极端缓慢,你可以将这个数值设置为-1,Trojan-Go将只进行一次TLS握手,只使用唯一的一条TLS连接进行传输。</p>
|
||||
<p><code>idle_timeout</code>指的是每个TLS连接空闲多长时间后关闭。设置超时时间,<strong>可能</strong>有助于减少不必要的长连接存活确认(Keep Alive)流量传输引发GFW的探测。你可以将这个数值设置为-1,TLS连接在空闲时将被立即关闭。</p>
|
||||
<div class="edit-meta">
|
||||
|
||||
<br><a href="https://github.com/p4gefau1t/trojan-go/docs/edit/master/content/advance/mux.md" class="edit-page"><i class="fas fa-pen-square"></i> Edit on GitHub</a></div><nav class="pagination"><a class="nav nav-prev" href="https://p4gefau1t.github.io/trojan-go/advance/" title="高级配置"><i class="fas fa-arrow-left" aria-hidden="true"></i> Prev - 高级配置</a>
|
||||
|
||||
@@ -39,7 +39,7 @@
|
||||
<body><div class="container"><header>
|
||||
<h1>Trojan-Go Docs</h1>
|
||||
|
||||
<span class="version">Version 0.4.7</span>
|
||||
<span class="version">Version 0.4.8</span>
|
||||
<a href="https://github.com/p4gefau1t/trojan-go" class="github"><i class="fab fa-github"></i></a>
|
||||
<p class="description">An unidentifiable mechanism that helps you bypass GFW. </p>
|
||||
|
||||
|
||||
@@ -30,7 +30,7 @@
|
||||
<meta itemprop="name" content="流量中继">
|
||||
<meta itemprop="description" content="注意,Trojan-GFW版本不支持这个特性 Trojan-Go支持进行流量转发。一个典型的使用场景是,你所使用的ISP提供的网络服务,出境的">
|
||||
|
||||
<meta itemprop="wordCount" content="300">
|
||||
<meta itemprop="wordCount" content="301">
|
||||
<meta itemprop="image" content="https://p4gefau1t.github.io/trojan-go/images/og-image.png"/>
|
||||
|
||||
|
||||
@@ -39,7 +39,7 @@
|
||||
<body><div class="container"><header>
|
||||
<h1>Trojan-Go Docs</h1>
|
||||
|
||||
<span class="version">Version 0.4.7</span>
|
||||
<span class="version">Version 0.4.8</span>
|
||||
<a href="https://github.com/p4gefau1t/trojan-go" class="github"><i class="fab fa-github"></i></a>
|
||||
<p class="description">An unidentifiable mechanism that helps you bypass GFW. </p>
|
||||
|
||||
@@ -63,9 +63,8 @@
|
||||
<span style="color:#f92672">"remote_addr"</span>: <span style="color:#e6db74">"your_trojan_server"</span>,
|
||||
<span style="color:#f92672">"remote_port"</span>: <span style="color:#ae81ff">443</span>,
|
||||
}
|
||||
|
||||
</code></pre></div><p>中继启动后,客户端连接该主机的1234端口,和直接连接Trojan服务器443端口是等效的。中继只做简单的流量转发,本地不需要任何的证书文件和密钥文件。你也可以使用socat或者iptables实现上述功能。</p>
|
||||
<p>你可以使用多个中继链接起来作为多重跳板,如果你忍受这种做法带来的延迟升高和吞吐量下降的话。</p>
|
||||
<p>你可以使用多个中继链接起来作为多重跳板,如果你能忍受这种做法带来的延迟升高和吞吐量下降的话。</p>
|
||||
<div class="edit-meta">
|
||||
|
||||
<br><a href="https://github.com/p4gefau1t/trojan-go/docs/edit/master/content/advance/relay.md" class="edit-page"><i class="fas fa-pen-square"></i> Edit on GitHub</a></div><nav class="pagination"><a class="nav nav-prev" href="https://p4gefau1t.github.io/trojan-go/advance/router/" title="国内直连和广告屏蔽"><i class="fas fa-arrow-left" aria-hidden="true"></i> Prev - 国内直连和广告屏蔽</a>
|
||||
|
||||
@@ -30,7 +30,7 @@
|
||||
<meta itemprop="name" content="国内直连和广告屏蔽">
|
||||
<meta itemprop="description" content="注意,Trojan-GFW版本不支持这个特性 Trojan-Go内建的路由模块可以帮助你实现国内直连,即国内网站不经过代理,直接连接。 路由模块">
|
||||
|
||||
<meta itemprop="wordCount" content="803">
|
||||
<meta itemprop="wordCount" content="780">
|
||||
<meta itemprop="image" content="https://p4gefau1t.github.io/trojan-go/images/og-image.png"/>
|
||||
|
||||
|
||||
@@ -39,7 +39,7 @@
|
||||
<body><div class="container"><header>
|
||||
<h1>Trojan-Go Docs</h1>
|
||||
|
||||
<span class="version">Version 0.4.7</span>
|
||||
<span class="version">Version 0.4.8</span>
|
||||
<a href="https://github.com/p4gefau1t/trojan-go" class="github"><i class="fab fa-github"></i></a>
|
||||
<p class="description">An unidentifiable mechanism that helps you bypass GFW. </p>
|
||||
|
||||
@@ -100,9 +100,9 @@
|
||||
<span style="color:#e6db74">"geoip:private"</span>
|
||||
],
|
||||
<span style="color:#f92672">"block"</span>: [
|
||||
<span style="color:#e6db74">"test_list.txt"</span><span style="color:#960050;background-color:#1e0010">,</span>
|
||||
<span style="color:#e6db74">"test_list.txt"</span>,
|
||||
<span style="color:#e6db74">"geosite:category-ads"</span>
|
||||
]
|
||||
],
|
||||
}
|
||||
</code></pre></div><p>下面是完整的路由策略设置</p>
|
||||
<p>路由策略有三种</p>
|
||||
|
||||
@@ -30,7 +30,7 @@
|
||||
<meta itemprop="name" content="使用Websocket进行CDN转发和抵抗中间人攻击">
|
||||
<meta itemprop="description" content="注意,Trojan-GFW版本不支持这个特性 Trojan-Go支持使用TLS+Websocket承载Trojan协议,使得利用CDN进行流量">
|
||||
|
||||
<meta itemprop="wordCount" content="1554">
|
||||
<meta itemprop="wordCount" content="1730">
|
||||
<meta itemprop="image" content="https://p4gefau1t.github.io/trojan-go/images/og-image.png"/>
|
||||
|
||||
|
||||
@@ -39,7 +39,7 @@
|
||||
<body><div class="container"><header>
|
||||
<h1>Trojan-Go Docs</h1>
|
||||
|
||||
<span class="version">Version 0.4.7</span>
|
||||
<span class="version">Version 0.4.8</span>
|
||||
<a href="https://github.com/p4gefau1t/trojan-go" class="github"><i class="fab fa-github"></i></a>
|
||||
<p class="description">An unidentifiable mechanism that helps you bypass GFW. </p>
|
||||
|
||||
@@ -65,13 +65,14 @@
|
||||
}
|
||||
</code></pre></div><p><code>hostname</code>是主机名,一般填写域名。客户端<code>hostname</code>是可选的,填写你的域名。如果留空,将会使用<code>remote_addr</code>填充,服务端必须填写<code>hostname</code>,Trojan-Go可以以此转发Websocket请求,以抵抗针对Websocket的主动检测。</p>
|
||||
<p><code>path</code>指的是websocket所在的URL路径,必须以斜杠("/")开始。路径并无特别要求,满足URL基本格式即可,但要保证客户端和服务端的<code>path</code>一致。<code>path</code>应当选择较长的字符串,以避免遭到GFW直接的主动探测。</p>
|
||||
<p>服务器开启Websocket支持后可以同时支持Websocket和一般Trojan流量,未配置Websocket选项的客户端依然可以正常使用。</p>
|
||||
<p>由于Trojan-GFW版本并不支持Websocket,因此,虽然开启了Websocket支持的服务端仍然可以兼容原版Trojan客户端,但是如果要使用Websocket承载流量进行CDN中转等,请确保双方都使用Trojan-Go。</p>
|
||||
<p><code>double_tls</code>表示是否开启双重TLS,如果省略,默认设置为true。因为Trojan-Go与CDN进行了TLS握手,对于CDN而言,TLS流量内容是明文。为了保证安全性,Trojan-Go默认将在Websocket连接上再建立一次TLS连接(双重TLS)。此时传输实际上经过了两次TLS握手,并且这个TLS隧道的证书校验被<strong>强制开启</strong>。</p>
|
||||
<p><code>obfuscation_password</code>为Websocket流量混淆密码。如果你使用了国内的CDN,建议设置<code>obfuscation_password</code>字段进行流量混淆。Trojan-Go将对Websocket承载的流量再进行一次加密(AES-128-CTR)。注意这个字段的主要目的仅仅是<strong>混淆</strong>上层流量的特征(TLS/Trojan),防止被国内的CDN识别和封锁,<strong>它无法确保传输数据安全性</strong>。安全性应该由第二层TLS隧道保证。</p>
|
||||
<p>服务器开启Websocket支持后可以同时支持Websocket和一般Trojan流量,未配置Websocket选项的客户端依然可以正常使用。</p>
|
||||
<p>由于Trojan-GFW版本并不支持Websocket,因此,虽然开启了Websocket支持的服务端仍然可以兼容原版Trojan客户端,但是如果要使用Websocket承载流量进行CDN中转等,请确保双方都使用Trojan-Go。</p>
|
||||
<p>如果你想提高传输的性能和吞吐量,可以将<code>double_tls</code>设为false或者将<code>obfuscation_password</code>设为空,此时websocket将会直接承载Trojan协议。但是出于安全性考虑,还是建议至少开启混淆和双重TLS中的至少一项。</p>
|
||||
<p><strong>如果你使用的是国内的CDN,务必保证两者均开启。最坏情况下也应当保持混淆和双重TLS之一是打开的。</strong></p>
|
||||
<p>CDN转发的场景,和GFW在2020年3月29日进行的对包括github pages等站点进行的HTTPS流量劫持和中间人攻击,是类似的。它们的共同点是,第一层TLS承载的流量明文均可以被第三者窃听(CDN或GFW)。<strong>如果你使用了Websocket模式</strong>,你可以将客户端的<code>verify</code>字段填写为false,并指定<code>cert</code>字段。在这样的设置下,即使第一层TLS传输的明文遭到审查或攻击,由于第二层TLS的保护(证书校验被强制开启),传输的内容依旧安全。</p>
|
||||
<p>Trojan-Go同样具有针对Websocket的主动探测的欺骗能力。当一个合法的Webosocket握手完成,但密码不匹配或内容不合法时,将会尝试与<code>http://remote_addr:remote_port/path</code>的HTTP服务器进行Websocket握手,并将连入的Websocket连接代理给它。如果连接失败,Websocket会被直接关闭。</p>
|
||||
<p>下面是一个客户端配置文件的例子</p>
|
||||
<div class="highlight"><pre style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code class="language-json" data-lang="json">{
|
||||
<span style="color:#f92672">"run_type"</span>: <span style="color:#e6db74">"client"</span>,
|
||||
@@ -85,8 +86,8 @@
|
||||
<span style="color:#f92672">"websocket"</span>: {
|
||||
<span style="color:#f92672">"enabled"</span>: <span style="color:#66d9ef">true</span>,
|
||||
<span style="color:#f92672">"path"</span>: <span style="color:#e6db74">"/imaurlpath"</span>,
|
||||
<span style="color:#f92672">"hostname"</span>: <span style="color:#e6db74">"www.your_awesome_domain_name.com"</span>
|
||||
<span style="color:#e6db74">"obfuscation_password"</span>: <span style="color:#e6db74">"another_password"</span>,
|
||||
<span style="color:#f92672">"hostname"</span>: <span style="color:#e6db74">"www.your_awesome_domain_name.com"</span>,
|
||||
<span style="color:#f92672">"obfuscation_password"</span>: <span style="color:#e6db74">"another_password"</span>,
|
||||
<span style="color:#f92672">"double_tls"</span>: <span style="color:#66d9ef">true</span>
|
||||
}
|
||||
}
|
||||
|
||||
+21
-12
@@ -17,7 +17,7 @@
|
||||
:root {}
|
||||
</style>
|
||||
<meta property="og:title" content="正确配置Trojan-Go" />
|
||||
<meta property="og:description" content="下面将介绍如何正确配置Trojan-Go以完全隐藏你的代理节点特征 在开始之前,你需要 一个服务器,且未被GFW封锁 一个域名,可以使用免费的域名" />
|
||||
<meta property="og:description" content="下面将介绍如何正确配置Trojan-Go以完全隐藏你的代理节点特征。 在开始之前,你需要 一个服务器,且未被GFW封锁 一个域名,可以使用免费的域" />
|
||||
<meta property="og:type" content="article" />
|
||||
<meta property="og:url" content="https://p4gefau1t.github.io/trojan-go/basic/config/" />
|
||||
<meta property="og:image" content="https://p4gefau1t.github.io/trojan-go/images/og-image.png"/>
|
||||
@@ -26,11 +26,11 @@
|
||||
<meta name="twitter:image" content="https://p4gefau1t.github.io/trojan-go/images/og-image.png"/>
|
||||
|
||||
<meta name="twitter:title" content="正确配置Trojan-Go"/>
|
||||
<meta name="twitter:description" content="下面将介绍如何正确配置Trojan-Go以完全隐藏你的代理节点特征 在开始之前,你需要 一个服务器,且未被GFW封锁 一个域名,可以使用免费的域名"/>
|
||||
<meta name="twitter:description" content="下面将介绍如何正确配置Trojan-Go以完全隐藏你的代理节点特征。 在开始之前,你需要 一个服务器,且未被GFW封锁 一个域名,可以使用免费的域"/>
|
||||
<meta itemprop="name" content="正确配置Trojan-Go">
|
||||
<meta itemprop="description" content="下面将介绍如何正确配置Trojan-Go以完全隐藏你的代理节点特征 在开始之前,你需要 一个服务器,且未被GFW封锁 一个域名,可以使用免费的域名">
|
||||
<meta itemprop="description" content="下面将介绍如何正确配置Trojan-Go以完全隐藏你的代理节点特征。 在开始之前,你需要 一个服务器,且未被GFW封锁 一个域名,可以使用免费的域">
|
||||
|
||||
<meta itemprop="wordCount" content="2145">
|
||||
<meta itemprop="wordCount" content="2278">
|
||||
<meta itemprop="image" content="https://p4gefau1t.github.io/trojan-go/images/og-image.png"/>
|
||||
|
||||
|
||||
@@ -39,7 +39,7 @@
|
||||
<body><div class="container"><header>
|
||||
<h1>Trojan-Go Docs</h1>
|
||||
|
||||
<span class="version">Version 0.4.7</span>
|
||||
<span class="version">Version 0.4.8</span>
|
||||
<a href="https://github.com/p4gefau1t/trojan-go" class="github"><i class="fab fa-github"></i></a>
|
||||
<p class="description">An unidentifiable mechanism that helps you bypass GFW. </p>
|
||||
|
||||
@@ -53,7 +53,7 @@
|
||||
</div>
|
||||
<div class="content-container">
|
||||
<main><h1>正确配置Trojan-Go</h1>
|
||||
<p>下面将介绍如何正确配置Trojan-Go以完全隐藏你的代理节点特征</p>
|
||||
<p>下面将介绍如何正确配置Trojan-Go以完全隐藏你的代理节点特征。</p>
|
||||
<p>在开始之前,你需要</p>
|
||||
<ul>
|
||||
<li>
|
||||
@@ -108,10 +108,19 @@
|
||||
<span style="color:#f92672">"fallback_port"</span>: <span style="color:#ae81ff">1234</span>
|
||||
}
|
||||
}
|
||||
</code></pre></div><p>这个配置文件使Trojan-Go在服务器的所有网卡上(0.0.0.0)监听443端口,使用server.crt和server.key作为证书和密钥进行TLS握手。你应该使用尽可能复杂的密码,同时确保客户端和服务端<code>password</code>是一致的。</p>
|
||||
<p>如果TLS连接建立后,检测到TLS的内容非法,将TLS连接代理到本地127.0.0.1:80上的HTTP服务,这时远端看起来,Trojan-Go就是一个HTTPS的网站。</p>
|
||||
<p>如果TLS握手失败了,说明对方使用的不是TLS协议进行主动探测,此时Trojan-Go将连接代理到本地127.0.0.1:1234上运行的HTTPS服务,本地HTTPS服务器也会检测到连接不是TLS连接,返回一个400 Bad Reqeust的HTTP页面。<code>fallback_port</code>是一个可选选项,如果没有填写,Trojan-Go会直接终止连接。虽然是可选的,但是还是强烈建议填写。</p>
|
||||
<p>如果TLS连接建立,并且确认是Trojan协议,而且密码正确,那么服务器将解析来自客户端的请求并进行代理。</p>
|
||||
</code></pre></div><p>这个配置文件使Trojan-Go在服务器的所有IP地址上(0.0.0.0)监听443端口,分别使用server.crt和server.key作为证书和密钥进行TLS握手。你应该使用尽可能复杂的密码,同时确保客户端和服务端<code>password</code>是一致的。</p>
|
||||
<p>当一个连接试图连接Trojan-Go的监听端口时,会发生下面的事情:</p>
|
||||
<ul>
|
||||
<li>
|
||||
<p>如果TLS握手成功,检测到TLS的内容非Trojan协议(有可能是HTTP请求,或者来自GFW的主动探测)。Trojan-Go将TLS连接代理到本地127.0.0.1:80上的HTTP服务。这时在远端看来,Trojan-Go服务就是一个HTTPS网站。</p>
|
||||
</li>
|
||||
<li>
|
||||
<p>如果TLS握手成功,并且被确认是Trojan协议头部,并且其中的密码正确,那么服务器将解析来自客户端的请求并进行代理,否则和上一步的处理方法相同。</p>
|
||||
</li>
|
||||
<li>
|
||||
<p>如果TLS握手失败了,说明对方使用的不是TLS协议进行主动连接。此时Trojan-Go将这个TCP连接代理到本地127.0.0.1:1234上运行的HTTPS服务,本地HTTPS服务器也会检测到连接不是TLS连接,返回一个400 Bad Reqeust的HTTP页面。<code>fallback_port</code>是一个可选选项,如果没有填写,Trojan-Go会直接终止连接。虽然是可选的,但是还是强烈建议填写。</p>
|
||||
</li>
|
||||
</ul>
|
||||
<p>你可以通过使用浏览器访问你的域名<code>https://your_domain_name</code>来验证。如果工作正常,你的浏览器会显示一个正常的HTTPS保护的Web页面,页面内容与服务器本机80端口上的页面一致。你还可以使用<code>http://your_domain_name:443</code>验证<code>fallback_port</code>工作是否正常。</p>
|
||||
<p>事实上,你甚至可以将Trojan-Go当作你的HTTPS服务器,用来给你的网站提供HTTPS服务。访客可以正常地通过Trojan-Go浏览你的网站,而和代理流量互不影响。</p>
|
||||
<h3 id="客户端配置">客户端配置</h3>
|
||||
@@ -131,8 +140,8 @@
|
||||
}
|
||||
}
|
||||
</code></pre></div><p>这个客户端配置使Trojan-Go开启一个监听在本地1080端口的socks5/http代理(自动识别),远端服务器为your_awesome_server:443,your_awesome_server可以是IP或者域名。</p>
|
||||
<p>如果你在<code>remote_addr</code>中填写的是域名,<code>sni</code>可以省略。<code>sni</code>字段应当填写你申请证书的对应域名,或者你自己签发证书时证书的Common Name,而且必须一致。注意,<code>sni</code>字段目前的在TLS协议中是规定<strong>明文传送</strong>的(目的是使服务器提供相应证书),所以不要填写类似google.com等已经被封锁的域名,否则很有可能导致你的服务器也被封锁。</p>
|
||||
<p><code>fingerprint</code>将设置Trojan-Go伪造Firefox浏览器的TLS请求指纹,使得Trojan-Go的流量混杂在正常的HTTPS流量中无法被识别。还可以设置为<code>ios</code>,<code>chrome</code>等。</p>
|
||||
<p>如果你在<code>remote_addr</code>中填写的是域名,<code>sni</code>可以省略。<code>sni</code>字段应当填写你申请证书的对应域名,或者你自己签发的证书的Common Name,而且必须一致。注意,<code>sni</code>字段目前的在TLS协议中是<strong>明文传送</strong>的(目的是使服务器提供相应证书)。GFW已经被证实具有SNI探测和阻断能力,所以不要填写类似<code>google.com</code>等已经被封锁的域名,否则很有可能导致你的服务器也被封锁。</p>
|
||||
<p><code>fingerprint</code>将设置Trojan-Go伪造Firefox浏览器的TLS请求指纹,使得Trojan-Go的流量混杂在正常的HTTPS流量中无法被识别。还可以设置为<code>ios</code>,<code>chrome</code>,<code>randomized</code>等。</p>
|
||||
<p>更多关于配置文件的信息,可以在左侧导航栏中找到相应介绍。</p>
|
||||
<div class="edit-meta">
|
||||
|
||||
|
||||
@@ -39,7 +39,7 @@
|
||||
<body><div class="container"><header>
|
||||
<h1>Trojan-Go Docs</h1>
|
||||
|
||||
<span class="version">Version 0.4.7</span>
|
||||
<span class="version">Version 0.4.8</span>
|
||||
<a href="https://github.com/p4gefau1t/trojan-go" class="github"><i class="fab fa-github"></i></a>
|
||||
<p class="description">An unidentifiable mechanism that helps you bypass GFW. </p>
|
||||
|
||||
|
||||
+1
-1
@@ -32,7 +32,7 @@
|
||||
<body><div class="container"><header>
|
||||
<h1>Trojan-Go Docs</h1>
|
||||
|
||||
<span class="version">Version 0.4.7</span>
|
||||
<span class="version">Version 0.4.8</span>
|
||||
<a href="https://github.com/p4gefau1t/trojan-go" class="github"><i class="fab fa-github"></i></a>
|
||||
<p class="description">An unidentifiable mechanism that helps you bypass GFW. </p>
|
||||
|
||||
|
||||
+1
-1
@@ -25,7 +25,7 @@
|
||||
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
|
||||
|
||||
<guid>https://p4gefau1t.github.io/trojan-go/basic/config/</guid>
|
||||
<description>下面将介绍如何正确配置Trojan-Go以完全隐藏你的代理节点特征 在开始之前,你需要 一个服务器,且未被GFW封锁 一个域名,可以使用免费的域名</description>
|
||||
<description>下面将介绍如何正确配置Trojan-Go以完全隐藏你的代理节点特征。 在开始之前,你需要 一个服务器,且未被GFW封锁 一个域名,可以使用免费的域</description>
|
||||
</item>
|
||||
|
||||
<item>
|
||||
|
||||
@@ -39,7 +39,7 @@
|
||||
<body><div class="container"><header>
|
||||
<h1>Trojan-Go Docs</h1>
|
||||
|
||||
<span class="version">Version 0.4.7</span>
|
||||
<span class="version">Version 0.4.8</span>
|
||||
<a href="https://github.com/p4gefau1t/trojan-go" class="github"><i class="fab fa-github"></i></a>
|
||||
<p class="description">An unidentifiable mechanism that helps you bypass GFW. </p>
|
||||
|
||||
|
||||
@@ -32,7 +32,7 @@
|
||||
<body><div class="container"><header>
|
||||
<h1>Trojan-Go Docs</h1>
|
||||
|
||||
<span class="version">Version 0.4.7</span>
|
||||
<span class="version">Version 0.4.8</span>
|
||||
<a href="https://github.com/p4gefau1t/trojan-go" class="github"><i class="fab fa-github"></i></a>
|
||||
<p class="description">An unidentifiable mechanism that helps you bypass GFW. </p>
|
||||
|
||||
|
||||
@@ -39,7 +39,7 @@
|
||||
<body><div class="container"><header>
|
||||
<h1>Trojan-Go Docs</h1>
|
||||
|
||||
<span class="version">Version 0.4.7</span>
|
||||
<span class="version">Version 0.4.8</span>
|
||||
<a href="https://github.com/p4gefau1t/trojan-go" class="github"><i class="fab fa-github"></i></a>
|
||||
<p class="description">An unidentifiable mechanism that helps you bypass GFW. </p>
|
||||
|
||||
|
||||
@@ -30,7 +30,7 @@
|
||||
<meta itemprop="name" content="编译和自定义Trojan-Go">
|
||||
<meta itemprop="description" content="编译需要Go版本号高于1.14.x,请在编译前确认你的编译器版本。推荐使用snap安装和更新go。 编译过程非常简单 go build -tags "full" #编译完整版本 bu">
|
||||
|
||||
<meta itemprop="wordCount" content="394">
|
||||
<meta itemprop="wordCount" content="407">
|
||||
<meta itemprop="image" content="https://p4gefau1t.github.io/trojan-go/images/og-image.png"/>
|
||||
|
||||
|
||||
@@ -39,7 +39,7 @@
|
||||
<body><div class="container"><header>
|
||||
<h1>Trojan-Go Docs</h1>
|
||||
|
||||
<span class="version">Version 0.4.7</span>
|
||||
<span class="version">Version 0.4.8</span>
|
||||
<a href="https://github.com/p4gefau1t/trojan-go" class="github"><i class="fab fa-github"></i></a>
|
||||
<p class="description">An unidentifiable mechanism that helps you bypass GFW. </p>
|
||||
|
||||
@@ -63,7 +63,7 @@ GOOS<span style="color:#f92672">=</span>linux GOARCH<span style="color:#f92672">
|
||||
</code></pre></div><p>你可以使用build-all.sh进行批量的多个平台的交叉编译,release版本使用了这个脚本进行构建。</p>
|
||||
<p>Trojan-Go的大多数模块是可插拔的。在build文件夹下可以找到各个模块的导入声明。如果你不需要其中某些功能,或者需要缩小可执行文件的体积,可以使用构建标签(tags)进行模块的自定义,例如</p>
|
||||
<div class="highlight"><pre style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code class="language-shell" data-lang="shell">go build -tags <span style="color:#e6db74">"full"</span> <span style="color:#75715e">#编译所有模块</span>
|
||||
go build -tags <span style="color:#e6db74">"client"</span> <span style="color:#75715e">#只有客户端功能</span>
|
||||
go build -tags <span style="color:#e6db74">"client"</span> -ldflags<span style="color:#f92672">=</span><span style="color:#e6db74">"-s -w"</span> <span style="color:#75715e">#只有客户端功能,且去除符号表缩小体积</span>
|
||||
go build -tags <span style="color:#e6db74">"server auth_mysql"</span> <span style="color:#75715e">#只有服务端和mysql支持</span>
|
||||
go build -tags <span style="color:#e6db74">"client router"</span> <span style="color:#75715e">#只有客户端和路由模块</span>
|
||||
</code></pre></div><p>使用full标签等价于</p>
|
||||
|
||||
@@ -32,7 +32,7 @@
|
||||
<body><div class="container"><header>
|
||||
<h1>Trojan-Go Docs</h1>
|
||||
|
||||
<span class="version">Version 0.4.7</span>
|
||||
<span class="version">Version 0.4.8</span>
|
||||
<a href="https://github.com/p4gefau1t/trojan-go" class="github"><i class="fab fa-github"></i></a>
|
||||
<p class="description">An unidentifiable mechanism that helps you bypass GFW. </p>
|
||||
|
||||
|
||||
@@ -39,7 +39,7 @@
|
||||
<body><div class="container"><header>
|
||||
<h1>Trojan-Go Docs</h1>
|
||||
|
||||
<span class="version">Version 0.4.7</span>
|
||||
<span class="version">Version 0.4.8</span>
|
||||
<a href="https://github.com/p4gefau1t/trojan-go" class="github"><i class="fab fa-github"></i></a>
|
||||
<p class="description">An unidentifiable mechanism that helps you bypass GFW. </p>
|
||||
|
||||
|
||||
@@ -39,7 +39,7 @@
|
||||
<body><div class="container"><header>
|
||||
<h1>Trojan-Go Docs</h1>
|
||||
|
||||
<span class="version">Version 0.4.7</span>
|
||||
<span class="version">Version 0.4.8</span>
|
||||
<a href="https://github.com/p4gefau1t/trojan-go" class="github"><i class="fab fa-github"></i></a>
|
||||
<p class="description">An unidentifiable mechanism that helps you bypass GFW. </p>
|
||||
|
||||
|
||||
@@ -39,7 +39,7 @@
|
||||
<body><div class="container"><header>
|
||||
<h1>Trojan-Go Docs</h1>
|
||||
|
||||
<span class="version">Version 0.4.7</span>
|
||||
<span class="version">Version 0.4.8</span>
|
||||
<a href="https://github.com/p4gefau1t/trojan-go" class="github"><i class="fab fa-github"></i></a>
|
||||
<p class="description">An unidentifiable mechanism that helps you bypass GFW. </p>
|
||||
|
||||
|
||||
@@ -39,7 +39,7 @@
|
||||
<body><div class="container"><header>
|
||||
<h1>Trojan-Go Docs</h1>
|
||||
|
||||
<span class="version">Version 0.4.7</span>
|
||||
<span class="version">Version 0.4.8</span>
|
||||
<a href="https://github.com/p4gefau1t/trojan-go" class="github"><i class="fab fa-github"></i></a>
|
||||
<p class="description">An unidentifiable mechanism that helps you bypass GFW. </p>
|
||||
|
||||
|
||||
@@ -30,7 +30,7 @@
|
||||
<meta itemprop="name" content="Websocket">
|
||||
<meta itemprop="description" content="由于使用CDN中转时,HTTPS对CDN透明,CDN可以审查Websocket传输内容,而Trojan协议明文的头部特征过于明显,而TLS握">
|
||||
|
||||
<meta itemprop="wordCount" content="1091">
|
||||
<meta itemprop="wordCount" content="1093">
|
||||
<meta itemprop="image" content="https://p4gefau1t.github.io/trojan-go/images/og-image.png"/>
|
||||
|
||||
|
||||
@@ -39,7 +39,7 @@
|
||||
<body><div class="container"><header>
|
||||
<h1>Trojan-Go Docs</h1>
|
||||
|
||||
<span class="version">Version 0.4.7</span>
|
||||
<span class="version">Version 0.4.8</span>
|
||||
<a href="https://github.com/p4gefau1t/trojan-go" class="github"><i class="fab fa-github"></i></a>
|
||||
<p class="description">An unidentifiable mechanism that helps you bypass GFW. </p>
|
||||
|
||||
@@ -88,11 +88,11 @@
|
||||
</tr>
|
||||
<tr>
|
||||
<td>SimpleSocks</td>
|
||||
<td>如果使用mux</td>
|
||||
<td>如果开启多路复用</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>smux</td>
|
||||
<td>如果使用mux</td>
|
||||
<td>如果开启多路复用</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Trojan</td>
|
||||
|
||||
+3
-3
@@ -32,7 +32,7 @@
|
||||
<body><div class="container"><header>
|
||||
<h1>Trojan-Go Docs</h1>
|
||||
|
||||
<span class="version">Version 0.4.7</span>
|
||||
<span class="version">Version 0.4.8</span>
|
||||
<a href="https://github.com/p4gefau1t/trojan-go" class="github"><i class="fab fa-github"></i></a>
|
||||
<p class="description">An unidentifiable mechanism that helps you bypass GFW. </p>
|
||||
|
||||
@@ -97,10 +97,10 @@
|
||||
<p>Websocket,用于支持CDN流量中转(基于WebSocket over TLS/SSL)和对抗GFW中间人攻击</p>
|
||||
</li>
|
||||
<li>
|
||||
<p>自动化HTTPS证书申请,使用ACME协议从Let’s Encrypt自动申请和更新HTTPS证书</p>
|
||||
<p>自动化证书申请,使用ACME协议从Let’s Encrypt自动申请和更新HTTPS证书</p>
|
||||
</li>
|
||||
<li>
|
||||
<p>基于grpc的API支持,支持动态用户管理和流量速度限制</p>
|
||||
<p>基于gRPC的API支持,支持动态用户管理和流量速度限制</p>
|
||||
</li>
|
||||
</ul>
|
||||
<p>如果你遇到配置方面的问题,或是遇到了软件Bug,或是有更好的想法,欢迎加入<a href="https://t.me/trojan_go_chat">Telegram交流反馈群</a></p>
|
||||
|
||||
@@ -106,7 +106,7 @@
|
||||
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
|
||||
|
||||
<guid>https://p4gefau1t.github.io/trojan-go/basic/config/</guid>
|
||||
<description>下面将介绍如何正确配置Trojan-Go以完全隐藏你的代理节点特征 在开始之前,你需要 一个服务器,且未被GFW封锁 一个域名,可以使用免费的域名</description>
|
||||
<description>下面将介绍如何正确配置Trojan-Go以完全隐藏你的代理节点特征。 在开始之前,你需要 一个服务器,且未被GFW封锁 一个域名,可以使用免费的域</description>
|
||||
</item>
|
||||
|
||||
<item>
|
||||
|
||||
+1
-1
@@ -32,7 +32,7 @@
|
||||
<body><div class="container"><header>
|
||||
<h1>Trojan-Go Docs</h1>
|
||||
|
||||
<span class="version">Version 0.4.7</span>
|
||||
<span class="version">Version 0.4.8</span>
|
||||
<a href="https://github.com/p4gefau1t/trojan-go" class="github"><i class="fab fa-github"></i></a>
|
||||
<p class="description">An unidentifiable mechanism that helps you bypass GFW. </p>
|
||||
|
||||
|
||||
Reference in New Issue
Block a user