<?xml version="1.0" encoding="utf-8"?><feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en-US"><generator uri="https://jekyllrb.com/" version="3.10.0">Jekyll</generator><link href="https://zycheng1002.github.io/feed.xml" rel="self" type="application/atom+xml" /><link href="https://zycheng1002.github.io/" rel="alternate" type="text/html" hreflang="en-US" /><updated>2026-04-27T14:26:06+08:00</updated><id>https://zycheng1002.github.io/feed.xml</id><title type="html">Zhiyuan Cheng`s Personal Site</title><subtitle>Personal notes on SLAM, VLA, and related engineering work.</subtitle><author><name>Zhiyuan Cheng</name><email>cczyy0@gmail.com</email></author><entry><title type="html">Ubuntu Server Use Proxy</title><link href="https://zycheng1002.github.io/proxy-use-in-ubuntu-server/" rel="alternate" type="text/html" title="Ubuntu Server Use Proxy" /><published>2026-03-10T11:51:20+08:00</published><updated>2026-03-10T11:51:20+08:00</updated><id>https://zycheng1002.github.io/proxy-use-in-ubuntu-server</id><content type="html" xml:base="https://zycheng1002.github.io/proxy-use-in-ubuntu-server/"><![CDATA[<h1 id="ubuntu-for-server-use-proxy">Ubuntu for Server Use Proxy</h1>

<h2 id="1-安装v2ray-core">1. 安装V2Ray Core</h2>

<div class="language-bash highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="c"># 安装依赖</span>
<span class="nb">sudo </span>apt update <span class="o">&amp;&amp;</span> <span class="nb">sudo </span>apt <span class="nb">install </span>curl unzip <span class="nt">-y</span>

<span class="c"># 下载并执行官方安装脚本</span>
bash &lt;<span class="o">(</span>curl <span class="nt">-L</span> https://raw.githubusercontent.com/v2fly/fhs-install-v2ray/master/install-release.sh<span class="o">)</span>

</code></pre></div></div>

<h2 id="2-编写配置文件">2. 编写配置文件</h2>
<p>输入指令:
<code class="language-plaintext highlighter-rouge">sudo vim /usr/local/etc/v2ray/config.json</code></p>

<p><strong>日志配置</strong>：记录 warning 级别及以上的日志到 <code class="language-plaintext highlighter-rouge">/var/log/v2ray/</code>。</p>

<p><strong>本地监听入口</strong>：</p>
<ul>
  <li>端口 <code class="language-plaintext highlighter-rouge">1080</code>：SOCKS5 代理，支持 UDP 及流量嗅探</li>
  <li>端口 <code class="language-plaintext highlighter-rouge">1081</code>：HTTP 代理</li>
  <li>两个端口均只监听 <code class="language-plaintext highlighter-rouge">127.0.0.1</code>，不对外暴露</li>
</ul>

<p><strong>流量出口</strong>：</p>
<ul>
  <li><code class="language-plaintext highlighter-rouge">proxy</code>：通过 VMess + WebSocket 协议连接远程代理服务器</li>
  <li><code class="language-plaintext highlighter-rouge">direct</code>：直连，不走代理</li>
</ul>

<p><strong>路由规则</strong>：私有 IP（局域网）走直连，其余流量走代理。</p>

<blockquote>
  <p><strong>注意</strong>：以下 <code class="language-plaintext highlighter-rouge">address</code>、<code class="language-plaintext highlighter-rouge">port</code>、<code class="language-plaintext highlighter-rouge">id</code>、<code class="language-plaintext highlighter-rouge">alterId</code>、<code class="language-plaintext highlighter-rouge">path</code>、<code class="language-plaintext highlighter-rouge">Host</code> 需要替换为自己的节点信息。</p>
</blockquote>

<div class="language-json highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="p">{</span><span class="w">
  </span><span class="nl">"log"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span><span class="w">
    </span><span class="nl">"loglevel"</span><span class="p">:</span><span class="w"> </span><span class="s2">"warning"</span><span class="p">,</span><span class="w">
    </span><span class="nl">"access"</span><span class="p">:</span><span class="w"> </span><span class="s2">"/var/log/v2ray/access.log"</span><span class="p">,</span><span class="w">
    </span><span class="nl">"error"</span><span class="p">:</span><span class="w"> </span><span class="s2">"/var/log/v2ray/error.log"</span><span class="w">
  </span><span class="p">},</span><span class="w">
  </span><span class="nl">"inbounds"</span><span class="p">:</span><span class="w"> </span><span class="p">[</span><span class="w">
    </span><span class="p">{</span><span class="w">
      </span><span class="nl">"port"</span><span class="p">:</span><span class="w"> </span><span class="mi">1080</span><span class="p">,</span><span class="w">
      </span><span class="nl">"listen"</span><span class="p">:</span><span class="w"> </span><span class="s2">"127.0.0.1"</span><span class="p">,</span><span class="w">
      </span><span class="nl">"protocol"</span><span class="p">:</span><span class="w"> </span><span class="s2">"socks"</span><span class="p">,</span><span class="w">
      </span><span class="nl">"settings"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span><span class="w">
        </span><span class="nl">"auth"</span><span class="p">:</span><span class="w"> </span><span class="s2">"noauth"</span><span class="p">,</span><span class="w">
        </span><span class="nl">"udp"</span><span class="p">:</span><span class="w"> </span><span class="kc">true</span><span class="w">
      </span><span class="p">},</span><span class="w">
      </span><span class="nl">"sniffing"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span><span class="w">
        </span><span class="nl">"enabled"</span><span class="p">:</span><span class="w"> </span><span class="kc">true</span><span class="p">,</span><span class="w">
        </span><span class="nl">"destOverride"</span><span class="p">:</span><span class="w"> </span><span class="p">[</span><span class="s2">"http"</span><span class="p">,</span><span class="w"> </span><span class="s2">"tls"</span><span class="p">]</span><span class="w">
      </span><span class="p">}</span><span class="w">
    </span><span class="p">},</span><span class="w">
    </span><span class="p">{</span><span class="w">
      </span><span class="nl">"port"</span><span class="p">:</span><span class="w"> </span><span class="mi">1081</span><span class="p">,</span><span class="w">
      </span><span class="nl">"listen"</span><span class="p">:</span><span class="w"> </span><span class="s2">"127.0.0.1"</span><span class="p">,</span><span class="w">
      </span><span class="nl">"protocol"</span><span class="p">:</span><span class="w"> </span><span class="s2">"http"</span><span class="w">
    </span><span class="p">}</span><span class="w">
  </span><span class="p">],</span><span class="w">
  </span><span class="nl">"outbounds"</span><span class="p">:</span><span class="w"> </span><span class="p">[</span><span class="w">
    </span><span class="p">{</span><span class="w">
      </span><span class="nl">"protocol"</span><span class="p">:</span><span class="w"> </span><span class="s2">"vmess"</span><span class="p">,</span><span class="w">
      </span><span class="nl">"settings"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span><span class="w">
        </span><span class="nl">"vnext"</span><span class="p">:</span><span class="w"> </span><span class="p">[</span><span class="w">
          </span><span class="p">{</span><span class="w">
            </span><span class="nl">"address"</span><span class="p">:</span><span class="w"> </span><span class="s2">"your-server-address"</span><span class="p">,</span><span class="w">
            </span><span class="nl">"port"</span><span class="p">:</span><span class="w"> </span><span class="mi">12345</span><span class="p">,</span><span class="w">
            </span><span class="nl">"users"</span><span class="p">:</span><span class="w"> </span><span class="p">[</span><span class="w">
              </span><span class="p">{</span><span class="w">
                </span><span class="nl">"id"</span><span class="p">:</span><span class="w"> </span><span class="s2">"your-uuid"</span><span class="p">,</span><span class="w">
                </span><span class="nl">"alterId"</span><span class="p">:</span><span class="w"> </span><span class="mi">0</span><span class="p">,</span><span class="w">
                </span><span class="nl">"security"</span><span class="p">:</span><span class="w"> </span><span class="s2">"auto"</span><span class="w">
              </span><span class="p">}</span><span class="w">
            </span><span class="p">]</span><span class="w">
          </span><span class="p">}</span><span class="w">
        </span><span class="p">]</span><span class="w">
      </span><span class="p">},</span><span class="w">
      </span><span class="nl">"streamSettings"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span><span class="w">
        </span><span class="nl">"network"</span><span class="p">:</span><span class="w"> </span><span class="s2">"ws"</span><span class="p">,</span><span class="w">
        </span><span class="nl">"wsSettings"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span><span class="w">
          </span><span class="nl">"path"</span><span class="p">:</span><span class="w"> </span><span class="s2">"/your-path"</span><span class="p">,</span><span class="w">
          </span><span class="nl">"headers"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span><span class="w">
            </span><span class="nl">"Host"</span><span class="p">:</span><span class="w"> </span><span class="s2">"your-server-address"</span><span class="w">
          </span><span class="p">}</span><span class="w">
        </span><span class="p">},</span><span class="w">
        </span><span class="nl">"security"</span><span class="p">:</span><span class="w"> </span><span class="s2">"none"</span><span class="w">
      </span><span class="p">},</span><span class="w">
      </span><span class="nl">"tag"</span><span class="p">:</span><span class="w"> </span><span class="s2">"proxy"</span><span class="w">
    </span><span class="p">},</span><span class="w">
    </span><span class="p">{</span><span class="w">
      </span><span class="nl">"protocol"</span><span class="p">:</span><span class="w"> </span><span class="s2">"freedom"</span><span class="p">,</span><span class="w">
      </span><span class="nl">"tag"</span><span class="p">:</span><span class="w"> </span><span class="s2">"direct"</span><span class="w">
    </span><span class="p">}</span><span class="w">
  </span><span class="p">],</span><span class="w">
  </span><span class="nl">"routing"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span><span class="w">
    </span><span class="nl">"domainStrategy"</span><span class="p">:</span><span class="w"> </span><span class="s2">"IPIfNonMatch"</span><span class="p">,</span><span class="w">
    </span><span class="nl">"rules"</span><span class="p">:</span><span class="w"> </span><span class="p">[</span><span class="w">
      </span><span class="p">{</span><span class="w">
        </span><span class="nl">"type"</span><span class="p">:</span><span class="w"> </span><span class="s2">"field"</span><span class="p">,</span><span class="w">
        </span><span class="nl">"ip"</span><span class="p">:</span><span class="w"> </span><span class="p">[</span><span class="s2">"geoip:private"</span><span class="p">],</span><span class="w">
        </span><span class="nl">"outboundTag"</span><span class="p">:</span><span class="w"> </span><span class="s2">"direct"</span><span class="w">
      </span><span class="p">}</span><span class="w">
    </span><span class="p">]</span><span class="w">
  </span><span class="p">}</span><span class="w">
</span><span class="p">}</span><span class="w">
</span></code></pre></div></div>

<h2 id="3-启动和管理v2ray">3. 启动和管理V2Ray</h2>

<div class="language-bash highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="c"># 重载 systemd 配置</span>
<span class="nb">sudo </span>systemctl daemon-reload

<span class="c"># 启动 V2Ray</span>
<span class="nb">sudo </span>systemctl start v2ray

<span class="c"># 设置开机自启</span>
<span class="nb">sudo </span>systemctl <span class="nb">enable </span>v2ray

<span class="c"># 查看运行状态（检查是否正常启动）</span>
<span class="nb">sudo </span>systemctl status v2ray
</code></pre></div></div>

<ul>
  <li>测试代理是否可用</li>
</ul>

<div class="language-bash highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="c"># 测试 HTTP 代理</span>
curl <span class="nt">--proxy</span> http://127.0.0.1:1081 https://www.google.com

<span class="c"># 测试 SOCKS5 代理</span>
curl <span class="nt">--socks5</span> 127.0.0.1:1080 https://www.google.com
</code></pre></div></div>

<ul>
  <li>常用命令</li>
</ul>

<div class="language-bash highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="c"># 停止</span>
<span class="nb">sudo </span>systemctl stop v2ray

<span class="c"># 重启（修改配置后必须执行）</span>
<span class="nb">sudo </span>systemctl restart v2ray

<span class="c"># 查看日志</span>
<span class="nb">sudo </span>journalctl <span class="nt">-u</span> v2ray <span class="nt">-f</span>
</code></pre></div></div>

<ul>
  <li>终端使用代理</li>
</ul>

<div class="language-bash highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="c"># HTTP/HTTPS 代理</span>
<span class="nb">export </span><span class="nv">http_proxy</span><span class="o">=</span>http://127.0.0.1:1081
<span class="nb">export </span><span class="nv">https_proxy</span><span class="o">=</span>http://127.0.0.1:1081

<span class="c"># 取消代理</span>
<span class="nb">unset </span>http_proxy https_proxy
</code></pre></div></div>

<h2 id="参考链接">参考链接</h2>

<ul>
  <li><a href="https://www.v2fly.org/">v2fly project</a></li>
  <li><a href="https://github.com/v2fly/v2ray-core">v2ray core</a></li>
  <li><a href="https://github.com/v2fly/fhs-install-v2ray">fhs-install-v2ray</a></li>
</ul>]]></content><author><name>Zhiyuan Cheng</name><email>cczyy0@gmail.com</email></author><category term="basic" /><category term="tutorial" /><summary type="html"><![CDATA[Ubuntu for Server Use Proxy]]></summary></entry><entry><title type="html">Thanks to Jekyll!</title><link href="https://zycheng1002.github.io/thanks-to-jekyll/" rel="alternate" type="text/html" title="Thanks to Jekyll!" /><published>2026-01-29T17:22:20+08:00</published><updated>2026-01-29T17:22:20+08:00</updated><id>https://zycheng1002.github.io/thanks-to-jekyll</id><content type="html" xml:base="https://zycheng1002.github.io/thanks-to-jekyll/"><![CDATA[<h1 id="jekyll本地安装和使用">Jekyll本地安装和使用</h1>

<h2 id="1-rubydevkit安装">1. Ruby+Devkit安装</h2>

<p>下载Ruby+Devikit的安装包<a href="https://rubyinstaller.org/downloads/">rubyinstaller.org</a>，使用默认选项进行安装</p>
<div align="center">
<img src="https://github.com/ZYCheng1002/platypus/blob/main/images/welcome-to-jekyll/ruby_installer.png?raw=true" alt="rubyinstaller.org" width="400" />
</div>

<p>最后一步，不要勾选<code class="language-plaintext highlighter-rouge">ridk install</code>的选项，选择自己安装ridk</p>

<p>检查ruby是否安装成功:<code class="language-plaintext highlighter-rouge">ruby -v</code></p>

<div align="center">
<img src="https://github.com/ZYCheng1002/platypus/blob/main/images/welcome-to-jekyll/ruby_v.png?raw=true" alt="ruby -v" width="400" />
</div>

<p>更换源:
<code class="language-plaintext highlighter-rouge">gem sources --add https://gems.ruby-china.com/ --remove https://rubygems.org/</code>
更换完成后， 使用指令<code class="language-plaintext highlighter-rouge">gem sources -l</code>确认是否成功。</p>

<p>安装 <code class="language-plaintext highlighter-rouge">MSY32</code>, 执行 <code class="language-plaintext highlighter-rouge">ridk install</code>, 执行后需要进行选择，直接选择3:</p>
<div align="center">
<img src="https://github.com/ZYCheng1002/platypus/blob/main/images/welcome-to-jekyll/ridk_install.png?raw=true" alt="ridk install" width="400" />
</div>
<p>安装结束后, 最后进行选择时, 直接回车即可:</p>
<div align="center">
<img src="https://github.com/ZYCheng1002/platypus/blob/main/images/welcome-to-jekyll/enter.png?raw=true" alt="ridk install" width="400" />
</div>

<h2 id="2-安装jekyll">2. 安装Jekyll</h2>
<p>输入指令:
<code class="language-plaintext highlighter-rouge">gem install bundler</code></p>

<p>输入指令:
<code class="language-plaintext highlighter-rouge">gem install jekyll</code><br />
检查jekyll安装是否成功: <br />
<code class="language-plaintext highlighter-rouge">jekyll -v</code></p>

<h2 id="3-安装本项目及其依赖">3. 安装本项目及其依赖</h2>

<p><code class="language-plaintext highlighter-rouge">git clone https://github.com/ZYCheng1002/ZYCheng1002.github.io</code><br />
更改Gemfile中的<code class="language-plaintext highlighter-rouge">source "https://gems.ruby-china.com/"</code>为国内源<br />
执行指令:<br />
<code class="language-plaintext highlighter-rouge">bundle install</code></p>

<p>等待安装完成后， 运行<br />
<code class="language-plaintext highlighter-rouge">bundle exec jekyll serve</code><br />
在浏览器里打开 <a href="http://127.0.0.1:4000">http://127.0.0.1:4000</a></p>

<h2 id="参考链接">参考链接</h2>

<ul>
  <li><a href="https://blog.csdn.net/qq_46207024/article/details/140456475">使用Jekyll在GitHub Pages上搭建网站个人博客</a>: 有关于如何解决错误</li>
  <li><a href="https://redketchup.io/favicon-generator">RedKetchup</a>: 生成icon</li>
  <li><a href="https://github.com/piharpi/jekyll-klise">jekyll-klise</a>: 模板链接</li>
</ul>

<h2 id="注">注</h2>

<p>Jekyll 要求博客文章文件按照以下格式命名:</p>

<p><code class="language-plaintext highlighter-rouge">YEAR-MONTH-DAY-title.MARKUP</code></p>

<p>Where <code class="language-plaintext highlighter-rouge">YEAR</code> is a four-digit number, <code class="language-plaintext highlighter-rouge">MONTH</code> and <code class="language-plaintext highlighter-rouge">DAY</code> are both two-digit numbers, and <code class="language-plaintext highlighter-rouge">MARKUP</code> is the file extension representing the format used in the file. After that, include the necessary front matter. Take a look at the source for this post to get an idea about how it works.</p>]]></content><author><name>Zhiyuan Cheng</name><email>cczyy0@gmail.com</email></author><category term="basic" /><category term="tutorial" /><summary type="html"><![CDATA[Jekyll本地安装和使用]]></summary></entry></feed>