<?xml version="1.0" encoding="UTF-8"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="zh">
    <title>🌌 Anosora233</title>
    <subtitle>Anosora233 的笔记，记录 Linux、Windows、网络服务和日常配置中的实践。</subtitle>
    <link rel="self" type="application/atom+xml" href="/atom.xml"/>
    <link rel="alternate" type="text/html" href="/"/>
    <generator uri="https://www.getzola.org/">Zola</generator>
    <updated>2025-04-12T00:00:00+00:00</updated>
    <id>/atom.xml</id>
    <entry xml:lang="zh">
        <title>在 Windows 上通过 SOCKS 代理连接 SSH</title>
        <published>2025-04-12T00:00:00+00:00</published>
        <updated>2025-04-12T00:00:00+00:00</updated>
        
        <author>
          <name>Anosora233</name>
        </author>
        
        <link rel="alternate" type="text/html" href="/blog/ssh-socks-proxy-on-windows/"/>
        <id>/blog/ssh-socks-proxy-on-windows/</id>
        
        <content type="html" xml:base="/blog/ssh-socks-proxy-on-windows/">&lt;h2 id=&quot;qian-yan&quot;&gt;前言&lt;/h2&gt;
&lt;p&gt;最近收集了一些冷门地区的服务器用作探针，这些服务器的直连网络质量通常很差。为了远程连接这些服务器，我希望在 Windows 下通过 SOCKS5 代理建立 SSH 连接。查阅资料后发现，SSH 客户端支持通过代理连接，关键是配置 &lt;code&gt;ProxyCommand&lt;/code&gt; 参数。这个参数需要调用外部程序来建立 TCP 连接，Windows 平台下可用的程序有 &lt;strong&gt;ncat&lt;/strong&gt;（&lt;strong&gt;nmap&lt;/strong&gt; 的子程序）和 &lt;strong&gt;connect&lt;/strong&gt;。&lt;/p&gt;
&lt;h2 id=&quot;ncat-fang-an&quot;&gt;ncat 方案&lt;/h2&gt;
&lt;p&gt;安装 nmap 后即可使用 ncat，推荐通过 scoop 安装：&lt;code&gt;scoop install nmap&lt;/code&gt;。&lt;/p&gt;
&lt;pre class=&quot;giallo&quot; style=&quot;color-scheme: light dark; color: light-dark(#24292E, #B392F0); background-color: light-dark(#FFFFFF, #1F1F1F);&quot; &gt;&lt;code data-lang=&quot;shellscript&quot;&gt;&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: light-dark(#6F42C1, #B392F0);&quot;&gt;ssh&lt;/span&gt;&lt;span style=&quot;color: light-dark(#2B5581, #9DB1C5);&quot;&gt; -&lt;/span&gt;&lt;span style=&quot;color: light-dark(#2B5581, #9DB1C5);&quot;&gt;o&lt;/span&gt;&lt;span style=&quot;color: light-dark(#2B5581, #9DB1C5);&quot;&gt; ProxyCommand=&lt;/span&gt;&lt;span style=&quot;color: light-dark(#22863A, #FFAB70);&quot;&gt;&amp;quot;&lt;/span&gt;&lt;span style=&quot;color: light-dark(#22863A, #FFAB70);&quot;&gt;ncat --proxy 127.0.0.1:8080 %h %p&lt;/span&gt;&lt;span style=&quot;color: light-dark(#22863A, #FFAB70);&quot;&gt;&amp;quot;&lt;/span&gt;&lt;span style=&quot;color: light-dark(#D32F2F, #F97583);&quot;&gt; &amp;lt;&lt;/span&gt;&lt;span style=&quot;color: light-dark(#2B5581, #9DB1C5);&quot;&gt;hos&lt;/span&gt;&lt;span&gt;t&lt;/span&gt;&lt;span style=&quot;color: light-dark(#D32F2F, #F97583);&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;在我的使用场景下，通过 ncat 建立的连接可能会在终端输出内容过长时断开，具体原因尚不确定。&lt;/p&gt;
&lt;h2 id=&quot;connect-fang-an&quot;&gt;connect 方案&lt;/h2&gt;
&lt;p&gt;同样推荐使用 scoop 安装：&lt;code&gt;scoop install connect&lt;/code&gt;。&lt;/p&gt;
&lt;pre class=&quot;giallo&quot; style=&quot;color-scheme: light dark; color: light-dark(#24292E, #B392F0); background-color: light-dark(#FFFFFF, #1F1F1F);&quot; &gt;&lt;code data-lang=&quot;shellscript&quot;&gt;&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: light-dark(#6F42C1, #B392F0);&quot;&gt;ssh&lt;/span&gt;&lt;span style=&quot;color: light-dark(#2B5581, #9DB1C5);&quot;&gt; -&lt;/span&gt;&lt;span style=&quot;color: light-dark(#2B5581, #9DB1C5);&quot;&gt;o&lt;/span&gt;&lt;span style=&quot;color: light-dark(#2B5581, #9DB1C5);&quot;&gt; ProxyCommand=&lt;/span&gt;&lt;span style=&quot;color: light-dark(#22863A, #FFAB70);&quot;&gt;&amp;quot;&lt;/span&gt;&lt;span style=&quot;color: light-dark(#22863A, #FFAB70);&quot;&gt;connect -S 127.0.0.1:8080 %h %p&lt;/span&gt;&lt;span style=&quot;color: light-dark(#22863A, #FFAB70);&quot;&gt;&amp;quot;&lt;/span&gt;&lt;span style=&quot;color: light-dark(#D32F2F, #F97583);&quot;&gt; &amp;lt;&lt;/span&gt;&lt;span style=&quot;color: light-dark(#2B5581, #9DB1C5);&quot;&gt;hos&lt;/span&gt;&lt;span&gt;t&lt;/span&gt;&lt;span style=&quot;color: light-dark(#D32F2F, #F97583);&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;h2 id=&quot;kuo-zhan-tong-guo-ssh-config-yu-xian-ding-yi-xing-wei&quot;&gt;扩展：通过 .ssh/config 预先定义行为&lt;/h2&gt;
&lt;p&gt;可以在主机名前加一个标记，表示需要通过代理连接。这里使用 &lt;code&gt;^&lt;/code&gt; 作为标记，编辑 &lt;code&gt;.ssh/config&lt;/code&gt;，加入以下配置：&lt;/p&gt;
&lt;pre class=&quot;giallo&quot; style=&quot;color-scheme: light dark; color: light-dark(#24292E, #B392F0); background-color: light-dark(#FFFFFF, #1F1F1F);&quot; &gt;&lt;code data-lang=&quot;plain&quot;&gt;&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;# ^[HOST]:PROXY, _[HOST]:DIRECT.&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;Host ^*&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;  ProxyCommand connect -S 127.0.0.1:8080 %h %p&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;这样，连接远程服务器时，只需在主机名前加上 &lt;code&gt;^&lt;/code&gt; 标记，即可通过代理连接。&lt;/p&gt;
</content>
        
    </entry>
    <entry xml:lang="zh">
        <title>在 Alpine 上部署 Cloudflared</title>
        <published>2025-04-02T00:00:00+00:00</published>
        <updated>2025-04-02T00:00:00+00:00</updated>
        
        <author>
          <name>Anosora233</name>
        </author>
        
        <link rel="alternate" type="text/html" href="/blog/cloudflared-on-alpine/"/>
        <id>/blog/cloudflared-on-alpine/</id>
        
        <content type="html" xml:base="/blog/cloudflared-on-alpine/">&lt;h2 id=&quot;qian-yan&quot;&gt;前言&lt;/h2&gt;
&lt;p&gt;Cloudflared 可以通过 Cloudflare 的服务器，将受严格 NAT 限制的服务器上的 Web 服务安全地开放到公网。以下是我在 Alpine 上配置 Cloudflared 的经验。&lt;/p&gt;
&lt;h2 id=&quot;an-zhuang&quot;&gt;安装&lt;/h2&gt;
&lt;p&gt;撰文时，官方仓库的 cloudflared 包还在 testing 分支。参考 Alpine 文档有关&lt;a rel=&quot;external&quot; href=&quot;https://wiki.alpinelinux.org/wiki/Repositories&quot;&gt;新增仓库的语法&lt;/a&gt;，可以考虑使用 &lt;code&gt;@&lt;/code&gt; 语法临时启用 testing 分支仓库。具体而言，将 &lt;code&gt;/etc/apk/repositories&lt;/code&gt; 修改为以下内容：&lt;/p&gt;
&lt;pre class=&quot;giallo&quot; style=&quot;color-scheme: light dark; color: light-dark(#24292E, #B392F0); background-color: light-dark(#FFFFFF, #1F1F1F);&quot; &gt;&lt;code data-lang=&quot;plain&quot;&gt;&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;https://dl-cdn.alpinelinux.org/alpine/v3.23/main&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;https://dl-cdn.alpinelinux.org/alpine/v3.23/community&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;@testing https://dl-cdn.alpinelinux.org/alpine/edge/testing&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;之后通过 &lt;code&gt;apk add cloudflared@testing&lt;/code&gt; 即可安装。这个软件包已经包含了 OpenRC 启动脚本，无需再手动编写。顺带一提，虽然 Cloudflared 本身支持生成守护进程配置文件，但这个功能仅支持使用 systemd 的发行版。&lt;/p&gt;
&lt;h2 id=&quot;yun-xing&quot;&gt;运行&lt;/h2&gt;
&lt;p&gt;查看 &lt;code&gt;/etc/conf.d/cloudflared&lt;/code&gt; 可以发现，cloudflared 启动时会读取 &lt;code&gt;/etc/cloudflared/config.yml&lt;/code&gt; 配置文件。除了修改配置文件路径，也可以直接修改启动参数，只需提供 Cloudflare Tunnel 的 token 即可。具体而言，修改 &lt;code&gt;/etc/conf.d/cloudflared&lt;/code&gt; 的启动参数为以下内容：&lt;/p&gt;
&lt;pre class=&quot;giallo&quot; style=&quot;color-scheme: light dark; color: light-dark(#24292E, #B392F0); background-color: light-dark(#FFFFFF, #1F1F1F);&quot; &gt;&lt;code data-lang=&quot;shellscript&quot;&gt;&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;command_args&lt;/span&gt;&lt;span style=&quot;color: light-dark(#D32F2F, #F97583);&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: light-dark(#22863A, #FFAB70);&quot;&gt;&amp;quot;&lt;/span&gt;&lt;span style=&quot;color: light-dark(#22863A, #FFAB70);&quot;&gt;tunnel run --token &lt;/span&gt;&lt;span style=&quot;color: light-dark(#22863A, #FFAB70);&quot;&gt;$&lt;/span&gt;&lt;span style=&quot;color: light-dark(#22863A, #FFAB70);&quot;&gt;YOUR_TOKEN&lt;/span&gt;&lt;span style=&quot;color: light-dark(#22863A, #FFAB70);&quot;&gt;&amp;quot;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;其中，&lt;code&gt;$YOUR_TOKEN&lt;/code&gt; 为你的通道令牌。如果服务器的 IPv4 网络性能不佳，也可以连接 IPv6 边缘节点：&lt;/p&gt;
&lt;pre class=&quot;giallo&quot; style=&quot;color-scheme: light dark; color: light-dark(#24292E, #B392F0); background-color: light-dark(#FFFFFF, #1F1F1F);&quot; &gt;&lt;code data-lang=&quot;shellscript&quot;&gt;&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;command_args&lt;/span&gt;&lt;span style=&quot;color: light-dark(#D32F2F, #F97583);&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: light-dark(#22863A, #FFAB70);&quot;&gt;&amp;quot;&lt;/span&gt;&lt;span style=&quot;color: light-dark(#22863A, #FFAB70);&quot;&gt;--edge-ip-version 6 tunnel run --token &lt;/span&gt;&lt;span style=&quot;color: light-dark(#22863A, #FFAB70);&quot;&gt;$&lt;/span&gt;&lt;span style=&quot;color: light-dark(#22863A, #FFAB70);&quot;&gt;YOUR_TOKEN&lt;/span&gt;&lt;span style=&quot;color: light-dark(#22863A, #FFAB70);&quot;&gt;&amp;quot;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;最后，通过以下命令启动服务并设置开机自启动：&lt;/p&gt;
&lt;pre class=&quot;giallo&quot; style=&quot;color-scheme: light dark; color: light-dark(#24292E, #B392F0); background-color: light-dark(#FFFFFF, #1F1F1F);&quot; &gt;&lt;code data-lang=&quot;shellscript&quot;&gt;&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: light-dark(#6F42C1, #B392F0);&quot;&gt;rc-service&lt;/span&gt;&lt;span style=&quot;color: light-dark(#2B5581, #9DB1C5);&quot;&gt; cloudflared&lt;/span&gt;&lt;span style=&quot;color: light-dark(#2B5581, #9DB1C5);&quot;&gt; start&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: light-dark(#6F42C1, #B392F0);&quot;&gt;rc-update&lt;/span&gt;&lt;span style=&quot;color: light-dark(#2B5581, #9DB1C5);&quot;&gt; add&lt;/span&gt;&lt;span style=&quot;color: light-dark(#2B5581, #9DB1C5);&quot;&gt; cloudflared&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;</content>
        
    </entry>
    <entry xml:lang="zh">
        <title>在 Alpine 上部署 ServerStatus-Rust</title>
        <published>2025-03-22T00:00:00+00:00</published>
        <updated>2025-03-22T00:00:00+00:00</updated>
        
        <author>
          <name>Anosora233</name>
        </author>
        
        <link rel="alternate" type="text/html" href="/blog/serverstatus-on-alpine/"/>
        <id>/blog/serverstatus-on-alpine/</id>
        
        <content type="html" xml:base="/blog/serverstatus-on-alpine/">&lt;h2 id=&quot;qian-yan&quot;&gt;前言&lt;/h2&gt;
&lt;p&gt;Alpine 是一个基于 musl libc 和 BusyBox 的小型发行版，具有镜像体积小、启动速度快、资源消耗低的特点。我在一些小型服务器（内存 ≤ 256 MB）上部署了这个发行版，体验很好。后来，为了使用 ServerStatus-Rust 监控这些服务器的运行情况，又折腾了一番，学习了如何编写 OpenRC 服务脚本。&lt;/p&gt;
&lt;h2 id=&quot;fu-wu-duan&quot;&gt;服务端&lt;/h2&gt;
&lt;p&gt;我将项目相关文件都放在 &lt;code&gt;/opt/ssr&lt;/code&gt; 目录下。由于原始二进制文件名较长，这里将其重命名为 &lt;code&gt;ssrd&lt;/code&gt;。该程序无需使用 root 用户运行，这里使用大多数 Linux 发行版内置的 daemon 用户。&lt;/p&gt;
&lt;pre class=&quot;giallo&quot; style=&quot;color-scheme: light dark; color: light-dark(#24292E, #B392F0); background-color: light-dark(#FFFFFF, #1F1F1F);&quot; &gt;&lt;code data-lang=&quot;shellscript&quot;&gt;&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: light-dark(#6F42C1, #B392F0);&quot;&gt;mkdir&lt;/span&gt;&lt;span style=&quot;color: light-dark(#2B5581, #9DB1C5);&quot;&gt; -&lt;/span&gt;&lt;span style=&quot;color: light-dark(#2B5581, #9DB1C5);&quot;&gt;p&lt;/span&gt;&lt;span style=&quot;color: light-dark(#2B5581, #9DB1C5);&quot;&gt; /opt/ssr&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: light-dark(#6F42C1, #B392F0);&quot;&gt;wget&lt;/span&gt;&lt;span style=&quot;color: light-dark(#2B5581, #9DB1C5);&quot;&gt; -&lt;/span&gt;&lt;span style=&quot;color: light-dark(#2B5581, #9DB1C5);&quot;&gt;qO-&lt;/span&gt;&lt;span style=&quot;color: light-dark(#2B5581, #9DB1C5);&quot;&gt; https://github.com/zdz/ServerStatus-Rust/releases/download/v1.8.1/server-x86_64-unknown-linux-musl.zip&lt;/span&gt;&lt;span style=&quot;color: light-dark(#D32F2F, #F97583);&quot;&gt; |&lt;/span&gt;&lt;span style=&quot;color: light-dark(#6F42C1, #B392F0);&quot;&gt; unzip&lt;/span&gt;&lt;span style=&quot;color: light-dark(#2B5581, #9DB1C5);&quot;&gt; -&lt;/span&gt;&lt;span style=&quot;color: light-dark(#2B5581, #9DB1C5);&quot;&gt;po&lt;/span&gt;&lt;span style=&quot;color: light-dark(#2B5581, #9DB1C5);&quot;&gt; -&lt;/span&gt;&lt;span style=&quot;color: light-dark(#2B5581, #9DB1C5);&quot;&gt; stat_server&lt;/span&gt;&lt;span style=&quot;color: light-dark(#D32F2F, #F97583);&quot;&gt; &amp;gt;&lt;/span&gt;&lt;span style=&quot;color: light-dark(#2B5581, #9DB1C5);&quot;&gt; /opt/ssr/ssrd&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: light-dark(#6F42C1, #B392F0);&quot;&gt;chmod&lt;/span&gt;&lt;span style=&quot;color: light-dark(#2B5581, #9DB1C5);&quot;&gt; +x&lt;/span&gt;&lt;span style=&quot;color: light-dark(#2B5581, #9DB1C5);&quot;&gt; /opt/ssr/ssrd&lt;/span&gt;&lt;span style=&quot;color: light-dark(#212121, #BBBBBB);&quot;&gt; &amp;amp;&amp;amp;&lt;/span&gt;&lt;span style=&quot;color: light-dark(#6F42C1, #B392F0);&quot;&gt; chown&lt;/span&gt;&lt;span style=&quot;color: light-dark(#2B5581, #9DB1C5);&quot;&gt; -&lt;/span&gt;&lt;span style=&quot;color: light-dark(#2B5581, #9DB1C5);&quot;&gt;R&lt;/span&gt;&lt;span style=&quot;color: light-dark(#2B5581, #9DB1C5);&quot;&gt; daemon:daemon&lt;/span&gt;&lt;span style=&quot;color: light-dark(#2B5581, #9DB1C5);&quot;&gt; /opt/ssr&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;编写配置文件，让 HTTP 和 gRPC 服务分别监听本地的 8080 和 9394 端口。之后可以通过 nginx 反向代理，并添加 SSL 支持。请将所有的 &lt;strong&gt;N&lt;/strong&gt; 替换为你的配置。&lt;/p&gt;
&lt;pre class=&quot;giallo&quot; style=&quot;color-scheme: light dark; color: light-dark(#24292E, #B392F0); background-color: light-dark(#FFFFFF, #1F1F1F);&quot; &gt;&lt;code data-lang=&quot;shellscript&quot;&gt;&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: light-dark(#6F42C1, #B392F0);&quot;&gt;cat&lt;/span&gt;&lt;span style=&quot;color: light-dark(#D32F2F, #F97583);&quot;&gt; &amp;lt;&amp;lt;&lt;/span&gt;&lt;span&gt; EOF&lt;/span&gt;&lt;span style=&quot;color: light-dark(#D32F2F, #F97583);&quot;&gt; &amp;gt;&lt;/span&gt;&lt;span style=&quot;color: light-dark(#2B5581, #9DB1C5);&quot;&gt; /opt/ssr/config.toml&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: light-dark(#2B5581, #9DB1C5);&quot;&gt;grpc_addr = &amp;quot;127.0.0.1:9394&amp;quot;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: light-dark(#2B5581, #9DB1C5);&quot;&gt;http_addr = &amp;quot;127.0.0.1:8080&amp;quot;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: light-dark(#2B5581, #9DB1C5);&quot;&gt;jwt_secret = &amp;quot;N&amp;quot;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: light-dark(#2B5581, #9DB1C5);&quot;&gt;admin_user = &amp;quot;N&amp;quot;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: light-dark(#2B5581, #9DB1C5);&quot;&gt;admin_pass = &amp;quot;N&amp;quot;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: light-dark(#2B5581, #9DB1C5);&quot;&gt;hosts_group = [&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: light-dark(#2B5581, #9DB1C5);&quot;&gt;  {gid = &amp;quot;N&amp;quot;, password = &amp;quot;N&amp;quot;}&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: light-dark(#2B5581, #9DB1C5);&quot;&gt;]&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: light-dark(#2B5581, #9DB1C5);&quot;&gt;group_gc = 3600&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;EOF&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;编写 init.d 脚本，使用 daemon 用户运行进程：&lt;/p&gt;
&lt;pre class=&quot;giallo&quot; style=&quot;color-scheme: light dark; color: light-dark(#24292E, #B392F0); background-color: light-dark(#FFFFFF, #1F1F1F);&quot; &gt;&lt;code data-lang=&quot;shellscript&quot;&gt;&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: light-dark(#6F42C1, #B392F0);&quot;&gt;cat&lt;/span&gt;&lt;span style=&quot;color: light-dark(#D32F2F, #F97583);&quot;&gt; &amp;lt;&amp;lt;&lt;/span&gt;&lt;span&gt; EOF&lt;/span&gt;&lt;span style=&quot;color: light-dark(#D32F2F, #F97583);&quot;&gt; &amp;gt;&lt;/span&gt;&lt;span style=&quot;color: light-dark(#2B5581, #9DB1C5);&quot;&gt; /etc/init.d/ssrd&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: light-dark(#2B5581, #9DB1C5);&quot;&gt;#!/sbin/openrc-run&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: light-dark(#2B5581, #9DB1C5);&quot;&gt;respawn_delay=5&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: light-dark(#2B5581, #9DB1C5);&quot;&gt;respawn_period=60&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: light-dark(#2B5581, #9DB1C5);&quot;&gt;supervisor=supervise-daemon&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: light-dark(#2B5581, #9DB1C5);&quot;&gt;directory=/opt/ssr&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: light-dark(#2B5581, #9DB1C5);&quot;&gt;command_user=daemon:daemon&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: light-dark(#2B5581, #9DB1C5);&quot;&gt;command=/opt/ssr/ssrd&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: light-dark(#2B5581, #9DB1C5);&quot;&gt;command_args=&amp;quot;-c /opt/ssr/config.toml&amp;quot;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: light-dark(#2B5581, #9DB1C5);&quot;&gt;depend() {&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: light-dark(#2B5581, #9DB1C5);&quot;&gt;  after net dns&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: light-dark(#2B5581, #9DB1C5);&quot;&gt;}&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;EOF&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: light-dark(#6F42C1, #B392F0);&quot;&gt;chmod&lt;/span&gt;&lt;span style=&quot;color: light-dark(#2B5581, #9DB1C5);&quot;&gt; +x&lt;/span&gt;&lt;span style=&quot;color: light-dark(#2B5581, #9DB1C5);&quot;&gt; /etc/init.d/ssrd&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: light-dark(#6F42C1, #B392F0);&quot;&gt;rc-service&lt;/span&gt;&lt;span style=&quot;color: light-dark(#2B5581, #9DB1C5);&quot;&gt; ssrd&lt;/span&gt;&lt;span style=&quot;color: light-dark(#2B5581, #9DB1C5);&quot;&gt; start&lt;/span&gt;&lt;span style=&quot;color: light-dark(#212121, #BBBBBB);&quot;&gt; &amp;amp;&amp;amp;&lt;/span&gt;&lt;span style=&quot;color: light-dark(#6F42C1, #B392F0);&quot;&gt; rc-update&lt;/span&gt;&lt;span style=&quot;color: light-dark(#2B5581, #9DB1C5);&quot;&gt; add&lt;/span&gt;&lt;span style=&quot;color: light-dark(#2B5581, #9DB1C5);&quot;&gt; ssrd&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;h2 id=&quot;ke-hu-duan&quot;&gt;客户端&lt;/h2&gt;
&lt;p&gt;要使 ServerStatus-Rust 客户端在 Alpine 上正常运行，还需要安装一些额外的软件包：&lt;/p&gt;
&lt;pre class=&quot;giallo&quot; style=&quot;color-scheme: light dark; color: light-dark(#24292E, #B392F0); background-color: light-dark(#FFFFFF, #1F1F1F);&quot; &gt;&lt;code data-lang=&quot;shellscript&quot;&gt;&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: light-dark(#6F42C1, #B392F0);&quot;&gt;apk&lt;/span&gt;&lt;span style=&quot;color: light-dark(#2B5581, #9DB1C5);&quot;&gt; add&lt;/span&gt;&lt;span style=&quot;color: light-dark(#2B5581, #9DB1C5);&quot;&gt; procps&lt;/span&gt;&lt;span style=&quot;color: light-dark(#2B5581, #9DB1C5);&quot;&gt; iproute2&lt;/span&gt;&lt;span style=&quot;color: light-dark(#2B5581, #9DB1C5);&quot;&gt; coreutils&lt;/span&gt;&lt;span style=&quot;color: light-dark(#2B5581, #9DB1C5);&quot;&gt; vnstat&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: light-dark(#6F42C1, #B392F0);&quot;&gt;rc-service&lt;/span&gt;&lt;span style=&quot;color: light-dark(#2B5581, #9DB1C5);&quot;&gt; vnstatd&lt;/span&gt;&lt;span style=&quot;color: light-dark(#2B5581, #9DB1C5);&quot;&gt; start&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: light-dark(#6F42C1, #B392F0);&quot;&gt;rc-update&lt;/span&gt;&lt;span style=&quot;color: light-dark(#2B5581, #9DB1C5);&quot;&gt; add&lt;/span&gt;&lt;span style=&quot;color: light-dark(#2B5581, #9DB1C5);&quot;&gt; vnstatd&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;沿用服务端的命名方式，将客户端的二进制文件重命名为 &lt;code&gt;ssr&lt;/code&gt;。&lt;/p&gt;
&lt;pre class=&quot;giallo&quot; style=&quot;color-scheme: light dark; color: light-dark(#24292E, #B392F0); background-color: light-dark(#FFFFFF, #1F1F1F);&quot; &gt;&lt;code data-lang=&quot;shellscript&quot;&gt;&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: light-dark(#6F42C1, #B392F0);&quot;&gt;mkdir&lt;/span&gt;&lt;span style=&quot;color: light-dark(#2B5581, #9DB1C5);&quot;&gt; -&lt;/span&gt;&lt;span style=&quot;color: light-dark(#2B5581, #9DB1C5);&quot;&gt;p&lt;/span&gt;&lt;span style=&quot;color: light-dark(#2B5581, #9DB1C5);&quot;&gt; /opt/ssr&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: light-dark(#6F42C1, #B392F0);&quot;&gt;wget&lt;/span&gt;&lt;span style=&quot;color: light-dark(#2B5581, #9DB1C5);&quot;&gt; -&lt;/span&gt;&lt;span style=&quot;color: light-dark(#2B5581, #9DB1C5);&quot;&gt;qO-&lt;/span&gt;&lt;span style=&quot;color: light-dark(#2B5581, #9DB1C5);&quot;&gt; https://github.com/zdz/ServerStatus-Rust/releases/download/v1.8.1/client-x86_64-unknown-linux-musl.zip&lt;/span&gt;&lt;span style=&quot;color: light-dark(#D32F2F, #F97583);&quot;&gt; |&lt;/span&gt;&lt;span style=&quot;color: light-dark(#6F42C1, #B392F0);&quot;&gt; unzip&lt;/span&gt;&lt;span style=&quot;color: light-dark(#2B5581, #9DB1C5);&quot;&gt; -&lt;/span&gt;&lt;span style=&quot;color: light-dark(#2B5581, #9DB1C5);&quot;&gt;po&lt;/span&gt;&lt;span style=&quot;color: light-dark(#2B5581, #9DB1C5);&quot;&gt; -&lt;/span&gt;&lt;span style=&quot;color: light-dark(#2B5581, #9DB1C5);&quot;&gt; stat_client&lt;/span&gt;&lt;span style=&quot;color: light-dark(#D32F2F, #F97583);&quot;&gt; &amp;gt;&lt;/span&gt;&lt;span style=&quot;color: light-dark(#2B5581, #9DB1C5);&quot;&gt; /opt/ssr/ssr&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: light-dark(#6F42C1, #B392F0);&quot;&gt;chmod&lt;/span&gt;&lt;span style=&quot;color: light-dark(#2B5581, #9DB1C5);&quot;&gt; +x&lt;/span&gt;&lt;span style=&quot;color: light-dark(#2B5581, #9DB1C5);&quot;&gt; /opt/ssr/ssr&lt;/span&gt;&lt;span style=&quot;color: light-dark(#212121, #BBBBBB);&quot;&gt; &amp;amp;&amp;amp;&lt;/span&gt;&lt;span style=&quot;color: light-dark(#6F42C1, #B392F0);&quot;&gt; chown&lt;/span&gt;&lt;span style=&quot;color: light-dark(#2B5581, #9DB1C5);&quot;&gt; -&lt;/span&gt;&lt;span style=&quot;color: light-dark(#2B5581, #9DB1C5);&quot;&gt;R&lt;/span&gt;&lt;span style=&quot;color: light-dark(#2B5581, #9DB1C5);&quot;&gt; daemon:daemon&lt;/span&gt;&lt;span style=&quot;color: light-dark(#2B5581, #9DB1C5);&quot;&gt; /opt/ssr&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;客户端参数可以通过 &lt;code&gt;.env&lt;/code&gt; 文件管理。参考这篇&lt;a rel=&quot;external&quot; href=&quot;https://stackoverflow.com/questions/19331497/set-environment-variables-from-file-of-key-value-pairs&quot;&gt;讨论&lt;/a&gt;，可以在 OpenRC 脚本中使用 &lt;code&gt;export $(xargs &amp;lt; FILE)&lt;/code&gt; 读取文件中的环境变量。不过，这种方法不支持在 &lt;code&gt;.env&lt;/code&gt; 文件中使用注释。&lt;/p&gt;
&lt;pre class=&quot;giallo&quot; style=&quot;color-scheme: light dark; color: light-dark(#24292E, #B392F0); background-color: light-dark(#FFFFFF, #1F1F1F);&quot; &gt;&lt;code data-lang=&quot;shellscript&quot;&gt;&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: light-dark(#6F42C1, #B392F0);&quot;&gt;cat&lt;/span&gt;&lt;span style=&quot;color: light-dark(#D32F2F, #F97583);&quot;&gt; &amp;lt;&amp;lt;&lt;/span&gt;&lt;span&gt; EOF&lt;/span&gt;&lt;span style=&quot;color: light-dark(#D32F2F, #F97583);&quot;&gt; &amp;gt;&lt;/span&gt;&lt;span style=&quot;color: light-dark(#2B5581, #9DB1C5);&quot;&gt; /opt/ssr/.env&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: light-dark(#2B5581, #9DB1C5);&quot;&gt;SSR_GID=N&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: light-dark(#2B5581, #9DB1C5);&quot;&gt;SSR_PASS=N&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: light-dark(#2B5581, #9DB1C5);&quot;&gt;SSR_LOC=us&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: light-dark(#2B5581, #9DB1C5);&quot;&gt;SSR_TYPE=kvm&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: light-dark(#2B5581, #9DB1C5);&quot;&gt;SSR_VNSTAT=true&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: light-dark(#2B5581, #9DB1C5);&quot;&gt;SSR_VNSTAT_MR=10&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: light-dark(#2B5581, #9DB1C5);&quot;&gt;SSR_ALIAS=N&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: light-dark(#2B5581, #9DB1C5);&quot;&gt;SSR_ADDR=N&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;EOF&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;这些环境变量的含义可以参考 ServerStatus-Rust 仓库中的说明。&lt;/p&gt;
&lt;pre class=&quot;giallo&quot; style=&quot;color-scheme: light dark; color: light-dark(#24292E, #B392F0); background-color: light-dark(#FFFFFF, #1F1F1F);&quot; &gt;&lt;code data-lang=&quot;shellscript&quot;&gt;&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: light-dark(#6F42C1, #B392F0);&quot;&gt;cat&lt;/span&gt;&lt;span style=&quot;color: light-dark(#D32F2F, #F97583);&quot;&gt; &amp;lt;&amp;lt;&lt;/span&gt;&lt;span&gt; &amp;#39;&lt;/span&gt;&lt;span&gt;EOF&lt;/span&gt;&lt;span&gt;&amp;#39;&lt;/span&gt;&lt;span style=&quot;color: light-dark(#D32F2F, #F97583);&quot;&gt; &amp;gt;&lt;/span&gt;&lt;span style=&quot;color: light-dark(#2B5581, #9DB1C5);&quot;&gt; /etc/init.d/ssr&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: light-dark(#22863A, #FFAB70);&quot;&gt;#!/sbin/openrc-run&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: light-dark(#22863A, #FFAB70);&quot;&gt;export RUST_BACKTRACE=1 $(xargs&amp;lt;/opt/ssr/.env)&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: light-dark(#22863A, #FFAB70);&quot;&gt;respawn_delay=5&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: light-dark(#22863A, #FFAB70);&quot;&gt;respawn_period=60&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: light-dark(#22863A, #FFAB70);&quot;&gt;supervisor=supervise-daemon&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: light-dark(#22863A, #FFAB70);&quot;&gt;directory=/opt/ssr&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: light-dark(#22863A, #FFAB70);&quot;&gt;command=/opt/ssr/ssr&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: light-dark(#22863A, #FFAB70);&quot;&gt;command_user=daemon:daemon&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: light-dark(#22863A, #FFAB70);&quot;&gt;depend() {&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: light-dark(#22863A, #FFAB70);&quot;&gt;  after net dns&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: light-dark(#22863A, #FFAB70);&quot;&gt;}&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;EOF&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: light-dark(#6F42C1, #B392F0);&quot;&gt;chmod&lt;/span&gt;&lt;span style=&quot;color: light-dark(#2B5581, #9DB1C5);&quot;&gt; +x&lt;/span&gt;&lt;span style=&quot;color: light-dark(#2B5581, #9DB1C5);&quot;&gt; /etc/init.d/ssr&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: light-dark(#6F42C1, #B392F0);&quot;&gt;rc-service&lt;/span&gt;&lt;span style=&quot;color: light-dark(#2B5581, #9DB1C5);&quot;&gt; ssr&lt;/span&gt;&lt;span style=&quot;color: light-dark(#2B5581, #9DB1C5);&quot;&gt; start&lt;/span&gt;&lt;span style=&quot;color: light-dark(#212121, #BBBBBB);&quot;&gt; &amp;amp;&amp;amp;&lt;/span&gt;&lt;span style=&quot;color: light-dark(#6F42C1, #B392F0);&quot;&gt; rc-update&lt;/span&gt;&lt;span style=&quot;color: light-dark(#2B5581, #9DB1C5);&quot;&gt; add&lt;/span&gt;&lt;span style=&quot;color: light-dark(#2B5581, #9DB1C5);&quot;&gt; ssr&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;</content>
        
    </entry>
    <entry xml:lang="zh">
        <title>旧配置与代码片段归档</title>
        <published>2024-08-20T00:00:00+00:00</published>
        <updated>2024-08-20T00:00:00+00:00</updated>
        
        <author>
          <name>Anosora233</name>
        </author>
        
        <link rel="alternate" type="text/html" href="/blog/archived-config-snippets/"/>
        <id>/blog/archived-config-snippets/</id>
        
        <content type="html" xml:base="/blog/archived-config-snippets/">&lt;h2 id=&quot;wsl&quot;&gt;wsl&lt;/h2&gt;
&lt;p&gt;Debian 系发行版的语言配置。&lt;/p&gt;
&lt;pre class=&quot;giallo&quot; style=&quot;color-scheme: light dark; color: light-dark(#24292E, #B392F0); background-color: light-dark(#FFFFFF, #1F1F1F);&quot; &gt;&lt;code data-lang=&quot;shellscript&quot;&gt;&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: light-dark(#6F42C1, #B392F0);&quot;&gt;localectl&lt;/span&gt;&lt;span style=&quot;color: light-dark(#2B5581, #9DB1C5);&quot;&gt; set-locale&lt;/span&gt;&lt;span style=&quot;color: light-dark(#2B5581, #9DB1C5);&quot;&gt; LANG=en_US.UTF-8&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: light-dark(#C2C3C5, #6B737C);&quot;&gt;#&lt;/span&gt;&lt;span style=&quot;color: light-dark(#C2C3C5, #6B737C);&quot;&gt; localectl set-locale LANG=zh_CN.UTF-8&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;在 TUN 模式下，WSL 可能无法正常联网，可以通过固定 WSL 的 DNS 服务器来解决。&lt;/p&gt;
&lt;pre class=&quot;giallo&quot; style=&quot;color-scheme: light dark; color: light-dark(#24292E, #B392F0); background-color: light-dark(#FFFFFF, #1F1F1F);&quot; &gt;&lt;code data-lang=&quot;shellscript&quot;&gt;&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: light-dark(#6F42C1, #B392F0);&quot;&gt;sudo&lt;/span&gt;&lt;span style=&quot;color: light-dark(#2B5581, #9DB1C5);&quot;&gt; rm&lt;/span&gt;&lt;span style=&quot;color: light-dark(#2B5581, #9DB1C5);&quot;&gt; /etc/resolv.conf&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: light-dark(#6F42C1, #B392F0);&quot;&gt;echo&lt;/span&gt;&lt;span style=&quot;color: light-dark(#22863A, #FFAB70);&quot;&gt; &amp;quot;&lt;/span&gt;&lt;span style=&quot;color: light-dark(#22863A, #FFAB70);&quot;&gt;nameserver 1.0.0.1&lt;/span&gt;&lt;span style=&quot;color: light-dark(#22863A, #FFAB70);&quot;&gt;&amp;quot;&lt;/span&gt;&lt;span style=&quot;color: light-dark(#D32F2F, #F97583);&quot;&gt; |&lt;/span&gt;&lt;span style=&quot;color: light-dark(#6F42C1, #B392F0);&quot;&gt; sudo&lt;/span&gt;&lt;span style=&quot;color: light-dark(#2B5581, #9DB1C5);&quot;&gt; tee&lt;/span&gt;&lt;span style=&quot;color: light-dark(#2B5581, #9DB1C5);&quot;&gt; /etc/resolv.conf&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: light-dark(#C2C3C5, #6B737C);&quot;&gt;#&lt;/span&gt;&lt;span style=&quot;color: light-dark(#C2C3C5, #6B737C);&quot;&gt; immutable filesystem attribute&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: light-dark(#6F42C1, #B392F0);&quot;&gt;sudo&lt;/span&gt;&lt;span style=&quot;color: light-dark(#2B5581, #9DB1C5);&quot;&gt; chattr&lt;/span&gt;&lt;span style=&quot;color: light-dark(#2B5581, #9DB1C5);&quot;&gt; +i&lt;/span&gt;&lt;span style=&quot;color: light-dark(#2B5581, #9DB1C5);&quot;&gt; /etc/resolv.conf&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;h2 id=&quot;zsh&quot;&gt;zsh&lt;/h2&gt;
&lt;p&gt;这里使用 antidote 作为 zsh 的插件管理器。&lt;/p&gt;
&lt;pre class=&quot;giallo&quot; style=&quot;color-scheme: light dark; color: light-dark(#24292E, #B392F0); background-color: light-dark(#FFFFFF, #1F1F1F);&quot; &gt;&lt;code data-lang=&quot;shellscript&quot;&gt;&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: light-dark(#6F42C1, #B392F0);&quot;&gt;git&lt;/span&gt;&lt;span style=&quot;color: light-dark(#2B5581, #9DB1C5);&quot;&gt; clone&lt;/span&gt;&lt;span style=&quot;color: light-dark(#2B5581, #9DB1C5);&quot;&gt; -&lt;/span&gt;&lt;span style=&quot;color: light-dark(#2B5581, #9DB1C5);&quot;&gt;-depth=1&lt;/span&gt;&lt;span style=&quot;color: light-dark(#2B5581, #9DB1C5);&quot;&gt; https://github.com/mattmc3/antidote.git&lt;/span&gt;&lt;span&gt; $&lt;/span&gt;&lt;span&gt;{&lt;/span&gt;&lt;span&gt;ZDOTDIR&lt;/span&gt;&lt;span style=&quot;color: light-dark(#D32F2F, #F97583);&quot;&gt;:-&lt;/span&gt;&lt;span&gt;$&lt;/span&gt;&lt;span&gt;HOME&lt;/span&gt;&lt;span&gt;}&lt;/span&gt;&lt;span style=&quot;color: light-dark(#2B5581, #9DB1C5);&quot;&gt;/.antidote&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;具体的 &lt;code&gt;.zshrc&lt;/code&gt; 配置如下：&lt;/p&gt;
&lt;pre class=&quot;giallo&quot; style=&quot;color-scheme: light dark; color: light-dark(#24292E, #B392F0); background-color: light-dark(#FFFFFF, #1F1F1F);&quot; &gt;&lt;code data-lang=&quot;shellscript&quot;&gt;&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: light-dark(#6F42C1, #B392F0);&quot;&gt;cat&lt;/span&gt;&lt;span style=&quot;color: light-dark(#D32F2F, #F97583);&quot;&gt; &amp;lt;&amp;lt;&lt;/span&gt;&lt;span&gt; &amp;#39;&lt;/span&gt;&lt;span&gt;EOF&lt;/span&gt;&lt;span&gt;&amp;#39;&lt;/span&gt;&lt;span style=&quot;color: light-dark(#D32F2F, #F97583);&quot;&gt; &amp;gt;&lt;/span&gt;&lt;span style=&quot;color: light-dark(#2B5581, #9DB1C5);&quot;&gt; .zshrc&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: light-dark(#22863A, #FFAB70);&quot;&gt;# Lines configured by zsh-newuser-install&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: light-dark(#22863A, #FFAB70);&quot;&gt;HISTFILE=~/.histfile&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: light-dark(#22863A, #FFAB70);&quot;&gt;HISTSIZE=1000&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: light-dark(#22863A, #FFAB70);&quot;&gt;SAVEHIST=1000&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: light-dark(#22863A, #FFAB70);&quot;&gt;# End of lines configured by zsh-newuser-install&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: light-dark(#22863A, #FFAB70);&quot;&gt;# The following lines were added by compinstall&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: light-dark(#22863A, #FFAB70);&quot;&gt;zstyle :compinstall filename ${HOME}/.zshrc&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: light-dark(#22863A, #FFAB70);&quot;&gt;autoload -Uz compinit&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: light-dark(#22863A, #FFAB70);&quot;&gt;compinit&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: light-dark(#22863A, #FFAB70);&quot;&gt;# End of lines added by compinstall&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: light-dark(#22863A, #FFAB70);&quot;&gt;# antidote&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: light-dark(#22863A, #FFAB70);&quot;&gt;source ${ZDOTDIR:-$HOME}/.antidote/antidote.zsh&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: light-dark(#22863A, #FFAB70);&quot;&gt;antidote load ${ZDOTDIR:-$HOME}/.zsh_plugins.txt&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: light-dark(#22863A, #FFAB70);&quot;&gt;if [ -d &amp;quot;${HOME}/.acme.sh&amp;quot; ]; then&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: light-dark(#22863A, #FFAB70);&quot;&gt;. &amp;quot;${HOME}/.acme.sh/acme.sh.env&amp;quot;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: light-dark(#22863A, #FFAB70);&quot;&gt;fi&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: light-dark(#22863A, #FFAB70);&quot;&gt;zstyle &amp;#39;:prompt:pure:path&amp;#39; color yellow&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: light-dark(#22863A, #FFAB70);&quot;&gt;zstyle &amp;#39;:prompt:pure:prompt:success&amp;#39; color cyan&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: light-dark(#22863A, #FFAB70);&quot;&gt;zstyle &amp;#39;:completion:*&amp;#39; rehash true&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: light-dark(#22863A, #FFAB70);&quot;&gt;bindkey &amp;#39;^H&amp;#39; backward-kill-word&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;EOF&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: light-dark(#6F42C1, #B392F0);&quot;&gt;cat&lt;/span&gt;&lt;span style=&quot;color: light-dark(#D32F2F, #F97583);&quot;&gt; &amp;lt;&amp;lt;&lt;/span&gt;&lt;span&gt; EOF&lt;/span&gt;&lt;span style=&quot;color: light-dark(#D32F2F, #F97583);&quot;&gt; &amp;gt;&lt;/span&gt;&lt;span style=&quot;color: light-dark(#2B5581, #9DB1C5);&quot;&gt; .zsh_plugins.txt&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: light-dark(#2B5581, #9DB1C5);&quot;&gt;# .zsh_plugins.txt&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: light-dark(#2B5581, #9DB1C5);&quot;&gt;rupa/z              # some bash plugins work too&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: light-dark(#2B5581, #9DB1C5);&quot;&gt;sindresorhus/pure   # enhance your prompt&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: light-dark(#2B5581, #9DB1C5);&quot;&gt;# you can even use Oh My Zsh plugins&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: light-dark(#2B5581, #9DB1C5);&quot;&gt;getantidote/use-omz&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: light-dark(#2B5581, #9DB1C5);&quot;&gt;ohmyzsh/ohmyzsh path:lib&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: light-dark(#2B5581, #9DB1C5);&quot;&gt;ohmyzsh/ohmyzsh path:plugins/extract&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: light-dark(#2B5581, #9DB1C5);&quot;&gt;# add fish-like features&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: light-dark(#2B5581, #9DB1C5);&quot;&gt;zsh-users/zsh-syntax-highlighting&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: light-dark(#2B5581, #9DB1C5);&quot;&gt;zsh-users/zsh-autosuggestions&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: light-dark(#2B5581, #9DB1C5);&quot;&gt;zsh-users/zsh-history-substring-search&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;EOF&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;h2 id=&quot;ndppd&quot;&gt;ndppd&lt;/h2&gt;
&lt;p&gt;配置 ndppd，让闲置的 IPv6 /64 地址段派上用场。配置后，即可通过该地址段中的任意地址访问目标主机。&lt;/p&gt;
&lt;pre class=&quot;giallo&quot; style=&quot;color-scheme: light dark; color: light-dark(#24292E, #B392F0); background-color: light-dark(#FFFFFF, #1F1F1F);&quot; &gt;&lt;code data-lang=&quot;shellscript&quot;&gt;&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: light-dark(#6F42C1, #B392F0);&quot;&gt;sudo&lt;/span&gt;&lt;span style=&quot;color: light-dark(#2B5581, #9DB1C5);&quot;&gt; apt&lt;/span&gt;&lt;span style=&quot;color: light-dark(#2B5581, #9DB1C5);&quot;&gt; install&lt;/span&gt;&lt;span style=&quot;color: light-dark(#2B5581, #9DB1C5);&quot;&gt; ndppd&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: light-dark(#C2C3C5, #6B737C);&quot;&gt;#&lt;/span&gt;&lt;span style=&quot;color: light-dark(#C2C3C5, #6B737C);&quot;&gt; replace `2001:ff::/64` with yours&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: light-dark(#6F42C1, #B392F0);&quot;&gt;cat&lt;/span&gt;&lt;span style=&quot;color: light-dark(#D32F2F, #F97583);&quot;&gt; &amp;lt;&amp;lt;&lt;/span&gt;&lt;span&gt; EOF&lt;/span&gt;&lt;span style=&quot;color: light-dark(#D32F2F, #F97583);&quot;&gt; &amp;gt;&lt;/span&gt;&lt;span style=&quot;color: light-dark(#2B5581, #9DB1C5);&quot;&gt; /etc/ndppd.conf&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: light-dark(#2B5581, #9DB1C5);&quot;&gt;route-ttl 30000&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: light-dark(#2B5581, #9DB1C5);&quot;&gt;proxy eth0 {&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: light-dark(#2B5581, #9DB1C5);&quot;&gt;    router no&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: light-dark(#2B5581, #9DB1C5);&quot;&gt;    timeout 500&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: light-dark(#2B5581, #9DB1C5);&quot;&gt;    ttl 30000&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: light-dark(#2B5581, #9DB1C5);&quot;&gt;    rule 2001:ff::/64 {&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: light-dark(#2B5581, #9DB1C5);&quot;&gt;        static&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: light-dark(#2B5581, #9DB1C5);&quot;&gt;    }&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: light-dark(#2B5581, #9DB1C5);&quot;&gt;}&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;EOF&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: light-dark(#6F42C1, #B392F0);&quot;&gt;ip&lt;/span&gt;&lt;span style=&quot;color: light-dark(#2B5581, #9DB1C5);&quot;&gt; route&lt;/span&gt;&lt;span style=&quot;color: light-dark(#2B5581, #9DB1C5);&quot;&gt; add&lt;/span&gt;&lt;span style=&quot;color: light-dark(#2B5581, #9DB1C5);&quot;&gt; local&lt;/span&gt;&lt;span style=&quot;color: light-dark(#2B5581, #9DB1C5);&quot;&gt; 2001:ff::/64&lt;/span&gt;&lt;span style=&quot;color: light-dark(#2B5581, #9DB1C5);&quot;&gt; dev&lt;/span&gt;&lt;span style=&quot;color: light-dark(#2B5581, #9DB1C5);&quot;&gt; lo&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: light-dark(#6F42C1, #B392F0);&quot;&gt;ip&lt;/span&gt;&lt;span style=&quot;color: light-dark(#2B5581, #9DB1C5);&quot;&gt; route&lt;/span&gt;&lt;span style=&quot;color: light-dark(#2B5581, #9DB1C5);&quot;&gt; del&lt;/span&gt;&lt;span style=&quot;color: light-dark(#2B5581, #9DB1C5);&quot;&gt; local&lt;/span&gt;&lt;span style=&quot;color: light-dark(#2B5581, #9DB1C5);&quot;&gt; 2001:ff::/64&lt;/span&gt;&lt;span style=&quot;color: light-dark(#2B5581, #9DB1C5);&quot;&gt; dev&lt;/span&gt;&lt;span style=&quot;color: light-dark(#2B5581, #9DB1C5);&quot;&gt; lo&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;h2 id=&quot;coloros&quot;&gt;ColorOS&lt;/h2&gt;
&lt;p&gt;以下是我在 C13 系统上禁用的一些软件包：&lt;/p&gt;
&lt;pre class=&quot;giallo&quot; style=&quot;color-scheme: light dark; color: light-dark(#24292E, #B392F0); background-color: light-dark(#FFFFFF, #1F1F1F);&quot; &gt;&lt;code data-lang=&quot;shellscript&quot;&gt;&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: light-dark(#C2C3C5, #6B737C);&quot;&gt;#&lt;/span&gt;&lt;span style=&quot;color: light-dark(#C2C3C5, #6B737C);&quot;&gt; adb shell pm unsuspend &amp;lt;package&amp;gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: light-dark(#6F42C1, #B392F0);&quot;&gt;adb&lt;/span&gt;&lt;span style=&quot;color: light-dark(#2B5581, #9DB1C5);&quot;&gt; shell&lt;/span&gt;&lt;span style=&quot;color: light-dark(#2B5581, #9DB1C5);&quot;&gt; pm&lt;/span&gt;&lt;span style=&quot;color: light-dark(#2B5581, #9DB1C5);&quot;&gt; suspend&lt;/span&gt;&lt;span style=&quot;color: light-dark(#2B5581, #9DB1C5);&quot;&gt; com.oplus.ota&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: light-dark(#C2C3C5, #6B737C);&quot;&gt;#&lt;/span&gt;&lt;span style=&quot;color: light-dark(#C2C3C5, #6B737C);&quot;&gt; adb shell pm install-existing --user 0 &amp;lt;package&amp;gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: light-dark(#6F42C1, #B392F0);&quot;&gt;adb&lt;/span&gt;&lt;span style=&quot;color: light-dark(#2B5581, #9DB1C5);&quot;&gt; shell&lt;/span&gt;&lt;span style=&quot;color: light-dark(#2B5581, #9DB1C5);&quot;&gt; pm&lt;/span&gt;&lt;span style=&quot;color: light-dark(#2B5581, #9DB1C5);&quot;&gt; disable-user&lt;/span&gt;&lt;span style=&quot;color: light-dark(#2B5581, #9DB1C5);&quot;&gt; com.opos.ads&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: light-dark(#6F42C1, #B392F0);&quot;&gt;adb&lt;/span&gt;&lt;span style=&quot;color: light-dark(#2B5581, #9DB1C5);&quot;&gt; shell&lt;/span&gt;&lt;span style=&quot;color: light-dark(#2B5581, #9DB1C5);&quot;&gt; pm&lt;/span&gt;&lt;span style=&quot;color: light-dark(#2B5581, #9DB1C5);&quot;&gt; disable-user&lt;/span&gt;&lt;span style=&quot;color: light-dark(#2B5581, #9DB1C5);&quot;&gt; com.heytap.yoli&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: light-dark(#6F42C1, #B392F0);&quot;&gt;adb&lt;/span&gt;&lt;span style=&quot;color: light-dark(#2B5581, #9DB1C5);&quot;&gt; shell&lt;/span&gt;&lt;span style=&quot;color: light-dark(#2B5581, #9DB1C5);&quot;&gt; pm&lt;/span&gt;&lt;span style=&quot;color: light-dark(#2B5581, #9DB1C5);&quot;&gt; disable-user&lt;/span&gt;&lt;span style=&quot;color: light-dark(#2B5581, #9DB1C5);&quot;&gt; com.heytap.music&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: light-dark(#6F42C1, #B392F0);&quot;&gt;adb&lt;/span&gt;&lt;span style=&quot;color: light-dark(#2B5581, #9DB1C5);&quot;&gt; shell&lt;/span&gt;&lt;span style=&quot;color: light-dark(#2B5581, #9DB1C5);&quot;&gt; pm&lt;/span&gt;&lt;span style=&quot;color: light-dark(#2B5581, #9DB1C5);&quot;&gt; uninstall&lt;/span&gt;&lt;span style=&quot;color: light-dark(#2B5581, #9DB1C5);&quot;&gt; -&lt;/span&gt;&lt;span style=&quot;color: light-dark(#2B5581, #9DB1C5);&quot;&gt;-user&lt;/span&gt;&lt;span style=&quot;color: light-dark(#1976D2, #F8F8F8);&quot;&gt; 0&lt;/span&gt;&lt;span style=&quot;color: light-dark(#2B5581, #9DB1C5);&quot;&gt; com.heytap.browser&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: light-dark(#6F42C1, #B392F0);&quot;&gt;adb&lt;/span&gt;&lt;span style=&quot;color: light-dark(#2B5581, #9DB1C5);&quot;&gt; shell&lt;/span&gt;&lt;span style=&quot;color: light-dark(#2B5581, #9DB1C5);&quot;&gt; pm&lt;/span&gt;&lt;span style=&quot;color: light-dark(#2B5581, #9DB1C5);&quot;&gt; uninstall&lt;/span&gt;&lt;span style=&quot;color: light-dark(#2B5581, #9DB1C5);&quot;&gt; -&lt;/span&gt;&lt;span style=&quot;color: light-dark(#2B5581, #9DB1C5);&quot;&gt;-user&lt;/span&gt;&lt;span style=&quot;color: light-dark(#1976D2, #F8F8F8);&quot;&gt; 0&lt;/span&gt;&lt;span style=&quot;color: light-dark(#2B5581, #9DB1C5);&quot;&gt; com.opuls.appdetail&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: light-dark(#6F42C1, #B392F0);&quot;&gt;adb&lt;/span&gt;&lt;span style=&quot;color: light-dark(#2B5581, #9DB1C5);&quot;&gt; shell&lt;/span&gt;&lt;span style=&quot;color: light-dark(#2B5581, #9DB1C5);&quot;&gt; pm&lt;/span&gt;&lt;span style=&quot;color: light-dark(#2B5581, #9DB1C5);&quot;&gt; uninstall&lt;/span&gt;&lt;span style=&quot;color: light-dark(#2B5581, #9DB1C5);&quot;&gt; -&lt;/span&gt;&lt;span style=&quot;color: light-dark(#2B5581, #9DB1C5);&quot;&gt;-user&lt;/span&gt;&lt;span style=&quot;color: light-dark(#1976D2, #F8F8F8);&quot;&gt; 0&lt;/span&gt;&lt;span style=&quot;color: light-dark(#2B5581, #9DB1C5);&quot;&gt; com.nearme.instant.platform&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;h2 id=&quot;ssl-cert&quot;&gt;SSL Cert&lt;/h2&gt;
&lt;p&gt;通过 rsync 在一组服务器之间同步 SSL 证书。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;服务端&lt;/li&gt;
&lt;/ul&gt;
&lt;pre class=&quot;giallo&quot; style=&quot;color-scheme: light dark; color: light-dark(#24292E, #B392F0); background-color: light-dark(#FFFFFF, #1F1F1F);&quot; &gt;&lt;code data-lang=&quot;shellscript&quot;&gt;&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: light-dark(#6F42C1, #B392F0);&quot;&gt;sudo&lt;/span&gt;&lt;span style=&quot;color: light-dark(#2B5581, #9DB1C5);&quot;&gt; apt&lt;/span&gt;&lt;span style=&quot;color: light-dark(#2B5581, #9DB1C5);&quot;&gt; install&lt;/span&gt;&lt;span style=&quot;color: light-dark(#2B5581, #9DB1C5);&quot;&gt; rsync&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: light-dark(#6F42C1, #B392F0);&quot;&gt;echo&lt;/span&gt;&lt;span style=&quot;color: light-dark(#22863A, #FFAB70);&quot;&gt; &amp;quot;&lt;/span&gt;&lt;span style=&quot;color: light-dark(#22863A, #FFAB70);&quot;&gt;USER:PASSWORD&lt;/span&gt;&lt;span style=&quot;color: light-dark(#22863A, #FFAB70);&quot;&gt;&amp;quot;&lt;/span&gt;&lt;span style=&quot;color: light-dark(#D32F2F, #F97583);&quot;&gt; &amp;gt;&lt;/span&gt;&lt;span style=&quot;color: light-dark(#2B5581, #9DB1C5);&quot;&gt; /etc/rsyncd.secrets&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: light-dark(#6F42C1, #B392F0);&quot;&gt;chmod&lt;/span&gt;&lt;span style=&quot;color: light-dark(#1976D2, #F8F8F8);&quot;&gt; 600&lt;/span&gt;&lt;span style=&quot;color: light-dark(#2B5581, #9DB1C5);&quot;&gt; /etc/rsyncd.secrets&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: light-dark(#6F42C1, #B392F0);&quot;&gt;cat&lt;/span&gt;&lt;span style=&quot;color: light-dark(#D32F2F, #F97583);&quot;&gt; &amp;lt;&amp;lt;&lt;/span&gt;&lt;span&gt; EOF&lt;/span&gt;&lt;span style=&quot;color: light-dark(#D32F2F, #F97583);&quot;&gt; &amp;gt;&lt;/span&gt;&lt;span style=&quot;color: light-dark(#2B5581, #9DB1C5);&quot;&gt; /etc/rsyncd.conf&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: light-dark(#2B5581, #9DB1C5);&quot;&gt;uid = 0&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: light-dark(#2B5581, #9DB1C5);&quot;&gt;gid = 0&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: light-dark(#2B5581, #9DB1C5);&quot;&gt;read only = yes&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: light-dark(#2B5581, #9DB1C5);&quot;&gt;secrets file = /etc/rsyncd.secrets&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: light-dark(#2B5581, #9DB1C5);&quot;&gt;[cert]&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: light-dark(#2B5581, #9DB1C5);&quot;&gt;path = /root/cert&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: light-dark(#2B5581, #9DB1C5);&quot;&gt;auth users = cert&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;EOF&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: light-dark(#6F42C1, #B392F0);&quot;&gt;sudo&lt;/span&gt;&lt;span style=&quot;color: light-dark(#2B5581, #9DB1C5);&quot;&gt; systemctl&lt;/span&gt;&lt;span style=&quot;color: light-dark(#2B5581, #9DB1C5);&quot;&gt; enable&lt;/span&gt;&lt;span style=&quot;color: light-dark(#2B5581, #9DB1C5);&quot;&gt; -&lt;/span&gt;&lt;span style=&quot;color: light-dark(#2B5581, #9DB1C5);&quot;&gt;-now&lt;/span&gt;&lt;span style=&quot;color: light-dark(#2B5581, #9DB1C5);&quot;&gt; rsync&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: light-dark(#6F42C1, #B392F0);&quot;&gt;sudo&lt;/span&gt;&lt;span style=&quot;color: light-dark(#2B5581, #9DB1C5);&quot;&gt; systemctl&lt;/span&gt;&lt;span style=&quot;color: light-dark(#2B5581, #9DB1C5);&quot;&gt; status&lt;/span&gt;&lt;span style=&quot;color: light-dark(#2B5581, #9DB1C5);&quot;&gt; rsync&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;ul&gt;
&lt;li&gt;客户端&lt;/li&gt;
&lt;/ul&gt;
&lt;pre class=&quot;giallo&quot; style=&quot;color-scheme: light dark; color: light-dark(#24292E, #B392F0); background-color: light-dark(#FFFFFF, #1F1F1F);&quot; &gt;&lt;code data-lang=&quot;shellscript&quot;&gt;&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: light-dark(#6F42C1, #B392F0);&quot;&gt;sudo&lt;/span&gt;&lt;span style=&quot;color: light-dark(#2B5581, #9DB1C5);&quot;&gt; apt&lt;/span&gt;&lt;span style=&quot;color: light-dark(#2B5581, #9DB1C5);&quot;&gt; install&lt;/span&gt;&lt;span style=&quot;color: light-dark(#2B5581, #9DB1C5);&quot;&gt; rsync&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: light-dark(#6F42C1, #B392F0);&quot;&gt;echo&lt;/span&gt;&lt;span style=&quot;color: light-dark(#22863A, #FFAB70);&quot;&gt; &amp;quot;&lt;/span&gt;&lt;span style=&quot;color: light-dark(#22863A, #FFAB70);&quot;&gt;PASSWORD&lt;/span&gt;&lt;span style=&quot;color: light-dark(#22863A, #FFAB70);&quot;&gt;&amp;quot;&lt;/span&gt;&lt;span style=&quot;color: light-dark(#D32F2F, #F97583);&quot;&gt; &amp;gt;&lt;/span&gt;&lt;span style=&quot;color: light-dark(#2B5581, #9DB1C5);&quot;&gt; /root/syncpass&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: light-dark(#6F42C1, #B392F0);&quot;&gt;chmod&lt;/span&gt;&lt;span style=&quot;color: light-dark(#1976D2, #F8F8F8);&quot;&gt; 600&lt;/span&gt;&lt;span style=&quot;color: light-dark(#2B5581, #9DB1C5);&quot;&gt; /root/syncpass&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: light-dark(#6F42C1, #B392F0);&quot;&gt;cat&lt;/span&gt;&lt;span style=&quot;color: light-dark(#D32F2F, #F97583);&quot;&gt; &amp;lt;&amp;lt;&lt;/span&gt;&lt;span&gt; EOF&lt;/span&gt;&lt;span style=&quot;color: light-dark(#D32F2F, #F97583);&quot;&gt; &amp;gt;&lt;/span&gt;&lt;span style=&quot;color: light-dark(#2B5581, #9DB1C5);&quot;&gt; /root/sync.sh&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: light-dark(#2B5581, #9DB1C5);&quot;&gt;#!/bin/bash&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: light-dark(#2B5581, #9DB1C5);&quot;&gt;rsync -avz --password-file=/root/syncpass cert@SERVER::cert /root/cert&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;EOF&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: light-dark(#C2C3C5, #6B737C);&quot;&gt;#&lt;/span&gt;&lt;span style=&quot;color: light-dark(#C2C3C5, #6B737C);&quot;&gt; crontab -e then add a new line&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: light-dark(#6F42C1, #B392F0);&quot;&gt;@monthly&lt;/span&gt;&lt;span style=&quot;color: light-dark(#2B5581, #9DB1C5);&quot;&gt; bash&lt;/span&gt;&lt;span style=&quot;color: light-dark(#2B5581, #9DB1C5);&quot;&gt; /root/sync.sh&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;h2 id=&quot;hurricane-electric-ipv6-tunnel&quot;&gt;hurricane electric ipv6 tunnel&lt;/h2&gt;
&lt;p&gt;编辑 &lt;code&gt;/etc/network/interfaces&lt;/code&gt;：&lt;/p&gt;
&lt;pre class=&quot;giallo&quot; style=&quot;color-scheme: light dark; color: light-dark(#24292E, #B392F0); background-color: light-dark(#FFFFFF, #1F1F1F);&quot; &gt;&lt;code data-lang=&quot;shellscript&quot;&gt;&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: light-dark(#6F42C1, #B392F0);&quot;&gt;auto&lt;/span&gt;&lt;span style=&quot;color: light-dark(#2B5581, #9DB1C5);&quot;&gt; he6&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: light-dark(#6F42C1, #B392F0);&quot;&gt;  iface&lt;/span&gt;&lt;span style=&quot;color: light-dark(#2B5581, #9DB1C5);&quot;&gt; he6&lt;/span&gt;&lt;span style=&quot;color: light-dark(#2B5581, #9DB1C5);&quot;&gt; inet6&lt;/span&gt;&lt;span style=&quot;color: light-dark(#2B5581, #9DB1C5);&quot;&gt; v4tunnel&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: light-dark(#6F42C1, #B392F0);&quot;&gt;    address&lt;/span&gt;&lt;span style=&quot;color: light-dark(#2B5581, #9DB1C5);&quot;&gt; YOURS&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: light-dark(#6F42C1, #B392F0);&quot;&gt;    netmask&lt;/span&gt;&lt;span style=&quot;color: light-dark(#2B5581, #9DB1C5);&quot;&gt; YOURS&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: light-dark(#6F42C1, #B392F0);&quot;&gt;    endpoint&lt;/span&gt;&lt;span style=&quot;color: light-dark(#2B5581, #9DB1C5);&quot;&gt; YOURS&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: light-dark(#D32F2F, #F97583);&quot;&gt;    local&lt;/span&gt;&lt;span&gt; YOUR&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: light-dark(#6F42C1, #B392F0);&quot;&gt;    ttl&lt;/span&gt;&lt;span style=&quot;color: light-dark(#1976D2, #F8F8F8);&quot;&gt; 255&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: light-dark(#6F42C1, #B392F0);&quot;&gt;    up&lt;/span&gt;&lt;span style=&quot;color: light-dark(#2B5581, #9DB1C5);&quot;&gt; ip&lt;/span&gt;&lt;span style=&quot;color: light-dark(#2B5581, #9DB1C5);&quot;&gt; route&lt;/span&gt;&lt;span style=&quot;color: light-dark(#2B5581, #9DB1C5);&quot;&gt; add&lt;/span&gt;&lt;span style=&quot;color: light-dark(#2B5581, #9DB1C5);&quot;&gt; ::/0&lt;/span&gt;&lt;span style=&quot;color: light-dark(#2B5581, #9DB1C5);&quot;&gt; dev&lt;/span&gt;&lt;span style=&quot;color: light-dark(#2B5581, #9DB1C5);&quot;&gt; he6&lt;/span&gt;&lt;span style=&quot;color: light-dark(#2B5581, #9DB1C5);&quot;&gt; metric&lt;/span&gt;&lt;span style=&quot;color: light-dark(#1976D2, #F8F8F8);&quot;&gt; 2048&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;h2 id=&quot;fish&quot;&gt;fish&lt;/h2&gt;
&lt;p&gt;使用 fisher 作为 fish 的插件管理器。&lt;/p&gt;
&lt;pre class=&quot;giallo&quot; style=&quot;color-scheme: light dark; color: light-dark(#24292E, #B392F0); background-color: light-dark(#FFFFFF, #1F1F1F);&quot; &gt;&lt;code data-lang=&quot;shellscript&quot;&gt;&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: light-dark(#6F42C1, #B392F0);&quot;&gt;curl&lt;/span&gt;&lt;span style=&quot;color: light-dark(#2B5581, #9DB1C5);&quot;&gt; -&lt;/span&gt;&lt;span style=&quot;color: light-dark(#2B5581, #9DB1C5);&quot;&gt;sL&lt;/span&gt;&lt;span style=&quot;color: light-dark(#2B5581, #9DB1C5);&quot;&gt; https://raw.githubusercontent.com/jorgebucaran/fisher/main/functions/fisher.fish&lt;/span&gt;&lt;span style=&quot;color: light-dark(#D32F2F, #F97583);&quot;&gt; |&lt;/span&gt;&lt;span&gt; \&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: light-dark(#6F42C1, #B392F0);&quot;&gt; source&lt;/span&gt;&lt;span style=&quot;color: light-dark(#212121, #BBBBBB);&quot;&gt; &amp;amp;&amp;amp;&lt;/span&gt;&lt;span style=&quot;color: light-dark(#6F42C1, #B392F0);&quot;&gt; fisher&lt;/span&gt;&lt;span style=&quot;color: light-dark(#2B5581, #9DB1C5);&quot;&gt; install&lt;/span&gt;&lt;span style=&quot;color: light-dark(#2B5581, #9DB1C5);&quot;&gt; jorgebucaran/fisher&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: light-dark(#6F42C1, #B392F0);&quot;&gt;fisher&lt;/span&gt;&lt;span style=&quot;color: light-dark(#2B5581, #9DB1C5);&quot;&gt; install&lt;/span&gt;&lt;span style=&quot;color: light-dark(#2B5581, #9DB1C5);&quot;&gt; pure-fish/pure&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: light-dark(#6F42C1, #B392F0);&quot;&gt;echo&lt;/span&gt;&lt;span style=&quot;color: light-dark(#22863A, #FFAB70);&quot;&gt; &amp;quot;&lt;/span&gt;&lt;span style=&quot;color: light-dark(#22863A, #FFAB70);&quot;&gt;\&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: light-dark(#22863A, #FFAB70);&quot;&gt;set -x EDITOR nano&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: light-dark(#22863A, #FFAB70);&quot;&gt;bind \b backward-kill-word&lt;/span&gt;&lt;span style=&quot;color: light-dark(#22863A, #FFAB70);&quot;&gt;\&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: light-dark(#22863A, #FFAB70);&quot;&gt;&amp;quot;&lt;/span&gt;&lt;span style=&quot;color: light-dark(#D32F2F, #F97583);&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: light-dark(#2B5581, #9DB1C5);&quot;&gt; ~/.config/fish/conf.d/xtom.fish&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;</content>
        
    </entry>
    <entry xml:lang="zh">
        <title>Markdown 语法指南</title>
        <published>2020-01-03T00:00:00+00:00</published>
        <updated>2020-01-03T00:00:00+00:00</updated>
        
        <author>
          <name>Anosora233</name>
        </author>
        
        <link rel="alternate" type="text/html" href="/blog/markdown-syntax/"/>
        <id>/blog/markdown-syntax/</id>
        
        <summary type="html">&lt;p&gt;For a quick cheatsheet, check out &lt;a rel=&quot;external&quot; href=&quot;https://simplemde.com/markdown-guide&quot;&gt;https://simplemde.com/markdown-guide&lt;/a&gt;.&lt;/p&gt;
&lt;hr /&gt;
&lt;p&gt;This article offers a sample of basic Markdown syntax that can be used in Zola content files, also it shows whether basic HTML elements are decorated with CSS in a Zola theme.&lt;/p&gt;</summary>
        
    </entry>
</feed>
