Skip to content

Commit bcd437b

Browse files
committed
1 parent c23cc35 commit bcd437b

13 files changed

Lines changed: 330 additions & 215 deletions

File tree

fa/features/fake-tls/index.html

Lines changed: 18 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -1340,16 +1340,13 @@ <h2 id="how-it-works">How It Works<a class="headerlink" href="#how-it-works" tit
13401340
<p>Server setup — add domain configuration (must support TLS 1.3):</p>
13411341
<div class="highlight"><pre><span></span><code><a id="__codelineno-0-1" name="__codelineno-0-1" href="#__codelineno-0-1"></a>./teleproxy<span class="w"> </span>-u<span class="w"> </span>nobody<span class="w"> </span>-p<span class="w"> </span><span class="m">8888</span><span class="w"> </span>-H<span class="w"> </span><span class="m">443</span><span class="w"> </span>-S<span class="w"> </span>&lt;secret&gt;<span class="w"> </span>-D<span class="w"> </span>www.google.com<span class="w"> </span>--http-stats<span class="w"> </span>--aes-pwd<span class="w"> </span>proxy-secret<span class="w"> </span>proxy-multi.conf<span class="w"> </span>-M<span class="w"> </span><span class="m">1</span>
13421342
</code></pre></div>
1343-
<p>Get the domain hex:</p>
1344-
<div class="highlight"><pre><span></span><code><a id="__codelineno-1-1" name="__codelineno-1-1" href="#__codelineno-1-1"></a><span class="nb">echo</span><span class="w"> </span>-n<span class="w"> </span>www.google.com<span class="w"> </span><span class="p">|</span><span class="w"> </span>xxd<span class="w"> </span>-plain
1345-
<a id="__codelineno-1-2" name="__codelineno-1-2" href="#__codelineno-1-2"></a><span class="c1"># Output: 7777772e676f6f676c652e636f6d</span>
1346-
</code></pre></div>
1347-
<p>Client secret: <code>eecafe1234567890abcdef1234567890ab7777772e676f6f676c652e636f6d</code></p>
1348-
<p>Quick generation:</p>
1349-
<div class="highlight"><pre><span></span><code><a id="__codelineno-2-1" name="__codelineno-2-1" href="#__codelineno-2-1"></a><span class="nv">SECRET</span><span class="o">=</span><span class="s2">&quot;cafe1234567890abcdef1234567890ab&quot;</span>
1350-
<a id="__codelineno-2-2" name="__codelineno-2-2" href="#__codelineno-2-2"></a><span class="nv">DOMAIN</span><span class="o">=</span><span class="s2">&quot;www.google.com&quot;</span>
1351-
<a id="__codelineno-2-3" name="__codelineno-2-3" href="#__codelineno-2-3"></a><span class="nb">echo</span><span class="w"> </span>-n<span class="w"> </span><span class="s2">&quot;ee</span><span class="si">${</span><span class="nv">SECRET</span><span class="si">}</span><span class="s2">&quot;</span><span class="w"> </span><span class="o">&amp;&amp;</span><span class="w"> </span><span class="nb">echo</span><span class="w"> </span>-n<span class="w"> </span><span class="nv">$DOMAIN</span><span class="w"> </span><span class="p">|</span><span class="w"> </span>xxd<span class="w"> </span>-plain
1343+
<p>Generate the full client secret in one step:</p>
1344+
<div class="highlight"><pre><span></span><code><a id="__codelineno-1-1" name="__codelineno-1-1" href="#__codelineno-1-1"></a>teleproxy<span class="w"> </span>generate-secret<span class="w"> </span>www.google.com
1345+
<a id="__codelineno-1-2" name="__codelineno-1-2" href="#__codelineno-1-2"></a><span class="c1"># stdout: eecafe...7777772e676f6f676c652e636f6d</span>
1346+
<a id="__codelineno-1-3" name="__codelineno-1-3" href="#__codelineno-1-3"></a><span class="c1"># stderr: Secret for -S: cafe...</span>
1347+
<a id="__codelineno-1-4" name="__codelineno-1-4" href="#__codelineno-1-4"></a><span class="c1"># Domain: www.google.com</span>
13521348
</code></pre></div>
1349+
<p>Use the stdout value in <code>tg://proxy</code> links and the <code>Secret for -S</code> value with the <code>-S</code> flag.</p>
13531350
<h2 id="custom-tls-backend-tcp-splitting">Custom TLS Backend (TCP Splitting)<a class="headerlink" href="#custom-tls-backend-tcp-splitting" title="Permanent link">&para;</a></h2>
13541351
<p>Instead of mimicking a public website, run your own web server behind Teleproxy with a real TLS certificate. Non-proxy visitors see a fully functioning HTTPS website — the server is indistinguishable from a normal web server.</p>
13551352
<p>How it works:</p>
@@ -1366,22 +1363,22 @@ <h2 id="custom-tls-backend-tcp-splitting">Custom TLS Backend (TCP Splitting)<a c
13661363
<li><code>-D</code> value must be a hostname, not an IP (TLS SNI doesn't support IPs per RFC 6066)</li>
13671364
</ul>
13681365
<p>Setup example with nginx:</p>
1369-
<div class="highlight"><pre><span></span><code><a id="__codelineno-3-1" name="__codelineno-3-1" href="#__codelineno-3-1"></a><span class="k">server</span><span class="w"> </span><span class="p">{</span>
1370-
<a id="__codelineno-3-2" name="__codelineno-3-2" href="#__codelineno-3-2"></a><span class="w"> </span><span class="kn">listen</span><span class="w"> </span><span class="n">127.0.0.1</span><span class="p">:</span><span class="mi">8443</span><span class="w"> </span><span class="s">ssl</span><span class="w"> </span><span class="s">default_server</span><span class="p">;</span>
1371-
<a id="__codelineno-3-3" name="__codelineno-3-3" href="#__codelineno-3-3"></a><span class="w"> </span><span class="kn">server_name</span><span class="w"> </span><span class="s">mywebsite.com</span><span class="p">;</span>
1372-
<a id="__codelineno-3-4" name="__codelineno-3-4" href="#__codelineno-3-4"></a><span class="w"> </span><span class="kn">ssl_certificate</span><span class="w"> </span><span class="s">/etc/letsencrypt/live/mywebsite.com/fullchain.pem</span><span class="p">;</span>
1373-
<a id="__codelineno-3-5" name="__codelineno-3-5" href="#__codelineno-3-5"></a><span class="w"> </span><span class="kn">ssl_certificate_key</span><span class="w"> </span><span class="s">/etc/letsencrypt/live/mywebsite.com/privkey.pem</span><span class="p">;</span>
1374-
<a id="__codelineno-3-6" name="__codelineno-3-6" href="#__codelineno-3-6"></a><span class="w"> </span><span class="kn">ssl_protocols</span><span class="w"> </span><span class="s">TLSv1.3</span><span class="p">;</span>
1375-
<a id="__codelineno-3-7" name="__codelineno-3-7" href="#__codelineno-3-7"></a><span class="w"> </span><span class="kn">ssl_prefer_server_ciphers</span><span class="w"> </span><span class="no">off</span><span class="p">;</span>
1376-
<a id="__codelineno-3-8" name="__codelineno-3-8" href="#__codelineno-3-8"></a><span class="w"> </span><span class="kn">root</span><span class="w"> </span><span class="s">/var/www/html</span><span class="p">;</span>
1377-
<a id="__codelineno-3-9" name="__codelineno-3-9" href="#__codelineno-3-9"></a><span class="w"> </span><span class="kn">location</span><span class="w"> </span><span class="s">/</span><span class="w"> </span><span class="p">{</span><span class="w"> </span><span class="kn">try_files</span><span class="w"> </span><span class="nv">$uri</span><span class="w"> </span><span class="nv">$uri/</span><span class="w"> </span><span class="p">=</span><span class="mi">404</span><span class="p">;</span><span class="w"> </span><span class="p">}</span>
1378-
<a id="__codelineno-3-10" name="__codelineno-3-10" href="#__codelineno-3-10"></a><span class="p">}</span>
1366+
<div class="highlight"><pre><span></span><code><a id="__codelineno-2-1" name="__codelineno-2-1" href="#__codelineno-2-1"></a><span class="k">server</span><span class="w"> </span><span class="p">{</span>
1367+
<a id="__codelineno-2-2" name="__codelineno-2-2" href="#__codelineno-2-2"></a><span class="w"> </span><span class="kn">listen</span><span class="w"> </span><span class="n">127.0.0.1</span><span class="p">:</span><span class="mi">8443</span><span class="w"> </span><span class="s">ssl</span><span class="w"> </span><span class="s">default_server</span><span class="p">;</span>
1368+
<a id="__codelineno-2-3" name="__codelineno-2-3" href="#__codelineno-2-3"></a><span class="w"> </span><span class="kn">server_name</span><span class="w"> </span><span class="s">mywebsite.com</span><span class="p">;</span>
1369+
<a id="__codelineno-2-4" name="__codelineno-2-4" href="#__codelineno-2-4"></a><span class="w"> </span><span class="kn">ssl_certificate</span><span class="w"> </span><span class="s">/etc/letsencrypt/live/mywebsite.com/fullchain.pem</span><span class="p">;</span>
1370+
<a id="__codelineno-2-5" name="__codelineno-2-5" href="#__codelineno-2-5"></a><span class="w"> </span><span class="kn">ssl_certificate_key</span><span class="w"> </span><span class="s">/etc/letsencrypt/live/mywebsite.com/privkey.pem</span><span class="p">;</span>
1371+
<a id="__codelineno-2-6" name="__codelineno-2-6" href="#__codelineno-2-6"></a><span class="w"> </span><span class="kn">ssl_protocols</span><span class="w"> </span><span class="s">TLSv1.3</span><span class="p">;</span>
1372+
<a id="__codelineno-2-7" name="__codelineno-2-7" href="#__codelineno-2-7"></a><span class="w"> </span><span class="kn">ssl_prefer_server_ciphers</span><span class="w"> </span><span class="no">off</span><span class="p">;</span>
1373+
<a id="__codelineno-2-8" name="__codelineno-2-8" href="#__codelineno-2-8"></a><span class="w"> </span><span class="kn">root</span><span class="w"> </span><span class="s">/var/www/html</span><span class="p">;</span>
1374+
<a id="__codelineno-2-9" name="__codelineno-2-9" href="#__codelineno-2-9"></a><span class="w"> </span><span class="kn">location</span><span class="w"> </span><span class="s">/</span><span class="w"> </span><span class="p">{</span><span class="w"> </span><span class="kn">try_files</span><span class="w"> </span><span class="nv">$uri</span><span class="w"> </span><span class="nv">$uri/</span><span class="w"> </span><span class="p">=</span><span class="mi">404</span><span class="p">;</span><span class="w"> </span><span class="p">}</span>
1375+
<a id="__codelineno-2-10" name="__codelineno-2-10" href="#__codelineno-2-10"></a><span class="p">}</span>
13791376
</code></pre></div>
13801377
<p>Add <code>/etc/hosts</code> entry if nginx only listens on loopback:</p>
1381-
<div class="highlight"><pre><span></span><code><a id="__codelineno-4-1" name="__codelineno-4-1" href="#__codelineno-4-1"></a>127.0.0.1 mywebsite.com
1378+
<div class="highlight"><pre><span></span><code><a id="__codelineno-3-1" name="__codelineno-3-1" href="#__codelineno-3-1"></a>127.0.0.1 mywebsite.com
13821379
</code></pre></div>
13831380
<p>Run with domain and port:</p>
1384-
<div class="highlight"><pre><span></span><code><a id="__codelineno-5-1" name="__codelineno-5-1" href="#__codelineno-5-1"></a>./teleproxy<span class="w"> </span>-u<span class="w"> </span>nobody<span class="w"> </span>-p<span class="w"> </span><span class="m">8888</span><span class="w"> </span>-H<span class="w"> </span><span class="m">443</span><span class="w"> </span>-S<span class="w"> </span>&lt;secret&gt;<span class="w"> </span>-D<span class="w"> </span>mywebsite.com:8443<span class="w"> </span>--http-stats<span class="w"> </span>--aes-pwd<span class="w"> </span>proxy-secret<span class="w"> </span>proxy-multi.conf<span class="w"> </span>-M<span class="w"> </span><span class="m">1</span>
1381+
<div class="highlight"><pre><span></span><code><a id="__codelineno-4-1" name="__codelineno-4-1" href="#__codelineno-4-1"></a>./teleproxy<span class="w"> </span>-u<span class="w"> </span>nobody<span class="w"> </span>-p<span class="w"> </span><span class="m">8888</span><span class="w"> </span>-H<span class="w"> </span><span class="m">443</span><span class="w"> </span>-S<span class="w"> </span>&lt;secret&gt;<span class="w"> </span>-D<span class="w"> </span>mywebsite.com:8443<span class="w"> </span>--http-stats<span class="w"> </span>--aes-pwd<span class="w"> </span>proxy-secret<span class="w"> </span>proxy-multi.conf<span class="w"> </span>-M<span class="w"> </span><span class="m">1</span>
13851382
</code></pre></div>
13861383
<div class="admonition note">
13871384
<p class="admonition-title">Note</p>

0 commit comments

Comments
 (0)