<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/">
  <channel>
    <title>Bbr on Haoxiqiang&#39;s Blog</title>
    <link>https://blog.substitute.tech/en/tags/bbr/</link>
    <description>Recent content in Bbr on Haoxiqiang&#39;s Blog</description>
    <generator>Hugo</generator>
    <language>en</language>
    <lastBuildDate>Tue, 31 Dec 2019 20:29:27 +0000</lastBuildDate>
    <atom:link href="https://blog.substitute.tech/en/tags/bbr/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>Shadowsocks Setup and Optimization</title>
      <link>https://blog.substitute.tech/en/posts/shadowsocks/</link>
      <pubDate>Tue, 31 Dec 2019 20:29:27 +0000</pubDate>
      <guid>https://blog.substitute.tech/en/posts/shadowsocks/</guid>
      <description>&lt;p&gt;Network instability at the office was affecting work, so I set up a Shadowsocks server on my VPS for source code pulls. The steps below work on most Linux distributions and have been tested on Ubuntu 16.04 and 18.04.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;2024 Update:&lt;/strong&gt; The Python version of &lt;code&gt;shadowsocks&lt;/code&gt; used in this guide is no longer maintained. The actively maintained implementation is &lt;a href=&#34;https://github.com/shadowsocks/shadowsocks-rust&#34;&gt;shadowsocks-rust&lt;/a&gt;, which offers better performance and support for modern encryption protocols. For a fresh setup, refer to the &lt;a href=&#34;https://github.com/shadowsocks/shadowsocks-rust&#34;&gt;shadowsocks-rust documentation&lt;/a&gt;. The original Python-based steps are preserved below for reference.&lt;/p&gt;</description>
    </item>
  </channel>
</rss>
