<?xml version="1.0" encoding="UTF-8"?><rss version="2.0" xmlns:content="http://purl.org/rss/1.0/modules/content/"><channel><title>爱吃可比克的鲸鱼</title><description>爱吃可比克的鲸鱼</description><link>https://zxs24719.codeberg.page/</link><language>zh_CN</language><item><title>使用 Cloudflare 的免费内网穿透</title><link>https://zxs24719.codeberg.page/blog/posts/cloudflare-tunnels/</link><guid isPermaLink="true">https://zxs24719.codeberg.page/blog/posts/cloudflare-tunnels/</guid><description>薅赛博菩萨的羊毛（什么话啊）</description><pubDate>Mon, 20 Apr 2026 00:00:00 GMT</pubDate><content:encoded>&lt;p&gt;今晚折腾了一下 Cloudflare 的免费内网穿透，简单分享一下经验。😛&lt;/p&gt;
&lt;h1&gt;临时隧道（适合联机游戏、共享文件等场景）&lt;/h1&gt;
&lt;p&gt;临时隧道完全免费，甚至不需要创建账号。只需要在你的电脑上安装 &lt;code&gt;cloudflared&lt;/code&gt; 并执行一个命令即可。&lt;/p&gt;
&lt;p&gt;在&lt;a href=&quot;https://developers.cloudflare.com/cloudflare-one/networks/connectors/cloudflare-tunnel/downloads/&quot;&gt;这里&lt;/a&gt; 下载 &lt;code&gt;cloudflared&lt;/code&gt;，然后执行下面的命令：&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;cloudflared tunnel --url http://localhost:&amp;lt;port&amp;gt;
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;将 &lt;code&gt;&amp;lt;port&amp;gt;&lt;/code&gt; 换成你的端口，执行完后会出现一个随机的地址，直接打开它就可以访问了。😁&lt;/p&gt;
&lt;h1&gt;持久隧道（适合自建服务器等）&lt;/h1&gt;
&lt;p&gt;你需要准备一张 Visa 的信用卡，当然这是因为 Cloudflare 仍然需要绑定一个付款方式，即使服务是免费的 😓&lt;/p&gt;
&lt;p&gt;首先你需要一个域名，在&lt;a href=&quot;https://domain.digitalplat.org/&quot;&gt;这里&lt;/a&gt;可以申请到一个免费三级域名。&lt;/p&gt;
&lt;p&gt;在这里注册域名：&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;/blog-assets/image-1.png&quot; alt=&quot;图 1&quot; /&gt;&lt;/p&gt;
&lt;p&gt;所有的保持默认点&lt;strong&gt;注册&lt;/strong&gt;即可：&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;/blog-assets/image-2.png&quot; alt=&quot;图 2&quot; /&gt;&lt;/p&gt;
&lt;p&gt;注册 Cloudflare 账号，然后打开&lt;a href=&quot;https://dash.cloudflare.com/&quot;&gt;这里&lt;/a&gt;：&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;/blog-assets/image-3.png&quot; alt=&quot;图 3&quot; /&gt;&lt;/p&gt;
&lt;p&gt;点击 &lt;strong&gt;Add&lt;/strong&gt; -&amp;gt; &lt;strong&gt;Connect a domain&lt;/strong&gt;，把刚才的域名输入进去，保持默认 &lt;strong&gt;Import DNS records automatically&lt;/strong&gt; 即可：&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;/blog-assets/image-4.png&quot; alt=&quot;图 4&quot; /&gt;&lt;/p&gt;
&lt;p&gt;选择 &lt;strong&gt;Free&lt;/strong&gt; 计划即可，到这里直接跳过即可：&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;/blog-assets/image-5.png&quot; alt=&quot;图 5&quot; /&gt;&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;/blog-assets/image-6.png&quot; alt=&quot;图 6&quot; /&gt;&lt;/p&gt;
&lt;p&gt;来到这里：&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;/blog-assets/image-7.png&quot; alt=&quot;图 7&quot; /&gt;&lt;/p&gt;
&lt;p&gt;回这里把那两个服务器添加上点击&lt;strong&gt;更新名称服务器&lt;/strong&gt;：&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;/blog-assets/image-8.png&quot; alt=&quot;图 8&quot; /&gt;&lt;/p&gt;
&lt;p&gt;再回到 Cloudflare 点 &lt;strong&gt;I updated my nameservers&lt;/strong&gt; 到这里：&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;/blog-assets/image-9.png&quot; alt=&quot;图 9&quot; /&gt;&lt;/p&gt;
&lt;p&gt;等几分钟后刷新一下应该可以看到这个界面，域名就添加好了：&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;/blog-assets/image-10.png&quot; alt=&quot;图 10&quot; /&gt;&lt;/p&gt;
&lt;p&gt;回到 Dashboard 打开 &lt;strong&gt;Protect &amp;amp; Connect&lt;/strong&gt; 下的 &lt;strong&gt;Zero Trust&lt;/strong&gt;：&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;/blog-assets/image-11.png&quot; alt=&quot;图 11&quot; /&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Networks&lt;/strong&gt; -&amp;gt; &lt;strong&gt;Connectors&lt;/strong&gt; -&amp;gt; &lt;strong&gt;Create a tunnel&lt;/strong&gt;：&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;/blog-assets/image-12.png&quot; alt=&quot;图 12&quot; /&gt;&lt;/p&gt;
&lt;p&gt;我选的是 &lt;strong&gt;Cloudflared&lt;/strong&gt;，随后随便取个名字，然后到这里：&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;/blog-assets/image-13.png&quot; alt=&quot;图 13&quot; /&gt;&lt;/p&gt;
&lt;p&gt;在服务器上运行相应命令后点 Next 到这里可以设置一个隧道服务，可以配置子域名、域名和端口：&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;/blog-assets/image-14.png&quot; alt=&quot;图 14&quot; /&gt;&lt;/p&gt;
&lt;p&gt;回到 tunnels 列表，打开我们创建的 connector，在 &lt;strong&gt;Published application routes&lt;/strong&gt; 可以添加和管理隧道：&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;/blog-assets/image-15.png&quot; alt=&quot;图 15&quot; /&gt;&lt;/p&gt;
&lt;p&gt;随后就可以愉快地使用内网穿透啦！😄&lt;/p&gt;
</content:encoded></item><item><title>第一篇文章</title><link>https://zxs24719.codeberg.page/blog/posts/first-post/</link><guid isPermaLink="true">https://zxs24719.codeberg.page/blog/posts/first-post/</guid><description>哈喽！</description><pubDate>Thu, 02 Apr 2026 00:00:00 GMT</pubDate><content:encoded>&lt;p&gt;建站大吉！&lt;/p&gt;
&lt;h1&gt;An h1 header&lt;/h1&gt;
&lt;p&gt;Paragraphs are separated by a blank line.&lt;/p&gt;
&lt;p&gt;2nd paragraph. &lt;em&gt;Italic&lt;/em&gt;, &lt;strong&gt;bold&lt;/strong&gt;, and &lt;code&gt;monospace&lt;/code&gt;. Itemized lists
look like:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;this one&lt;/li&gt;
&lt;li&gt;that one&lt;/li&gt;
&lt;li&gt;the other one&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Note that --- not considering the asterisk --- the actual text
content starts at 4-columns in.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Block quotes are
written like so.&lt;/p&gt;
&lt;p&gt;They can span multiple paragraphs,
if you like.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Use 3 dashes for an em-dash. Use 2 dashes for ranges (ex., &quot;it&apos;s all
in chapters 12--14&quot;). Three dots ... will be converted to an ellipsis.
Unicode is supported. ☺&lt;/p&gt;
&lt;h2&gt;An h2 header&lt;/h2&gt;
&lt;p&gt;Here&apos;s a numbered list:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;first item&lt;/li&gt;
&lt;li&gt;second item&lt;/li&gt;
&lt;li&gt;third item&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Note again how the actual text starts at 4 columns in (4 characters
from the left side). Here&apos;s a code sample:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;# Let me re-iterate ...
for i in 1 .. 10 { do-something(i) }
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;As you probably guessed, indented 4 spaces. By the way, instead of
indenting the block, you can use delimited blocks, if you like:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;define foobar() {
    print &quot;Welcome to flavor country!&quot;;
}
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;(which makes copying &amp;amp; pasting easier). You can optionally mark the
delimited block for Pandoc to syntax highlight it:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;import time
# Quick, count to ten!
for i in range(10):
    # (but not *too* quick)
    time.sleep(0.5)
    print i
&lt;/code&gt;&lt;/pre&gt;
&lt;h3&gt;An h3 header&lt;/h3&gt;
&lt;p&gt;Now a nested list:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;First, get these ingredients:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;carrots&lt;/li&gt;
&lt;li&gt;celery&lt;/li&gt;
&lt;li&gt;lentils&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Boil some water.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Dump everything in the pot and follow
this algorithm:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt; find wooden spoon
 uncover pot
 stir
 cover pot
 balance wooden spoon precariously on pot handle
 wait 10 minutes
 goto first step (or shut off burner when done)
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Do not bump wooden spoon or it will fall.&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Notice again how text always lines up on 4-space indents (including
that last line which continues item 3 above).&lt;/p&gt;
&lt;p&gt;Here&apos;s a link to &lt;a href=&quot;http://foo.bar&quot;&gt;a website&lt;/a&gt;, to a &lt;a href=&quot;local-doc.html&quot;&gt;local
doc&lt;/a&gt;, and to a &lt;a href=&quot;#an-h2-header&quot;&gt;section heading in the current
doc&lt;/a&gt;. Here&apos;s a footnote [^1].&lt;/p&gt;
&lt;p&gt;[^1]: Footnote text goes here.&lt;/p&gt;
&lt;p&gt;Tables can look like this:&lt;/p&gt;
&lt;p&gt;size material color&lt;/p&gt;
&lt;hr /&gt;
&lt;p&gt;9 leather brown
10 hemp canvas natural
11 glass transparent&lt;/p&gt;
&lt;p&gt;Table: Shoes, their sizes, and what they&apos;re made of&lt;/p&gt;
&lt;p&gt;(The above is the caption for the table.) Pandoc also supports
multi-line tables:&lt;/p&gt;
&lt;hr /&gt;
&lt;p&gt;keyword text&lt;/p&gt;
&lt;hr /&gt;
&lt;p&gt;red Sunsets, apples, and
other red or reddish
things.&lt;/p&gt;
&lt;p&gt;green Leaves, grass, frogs
and other things it&apos;s
not easy being.&lt;/p&gt;
&lt;hr /&gt;
&lt;p&gt;A horizontal rule follows.&lt;/p&gt;
&lt;hr /&gt;
&lt;p&gt;Here&apos;s a definition list:&lt;/p&gt;
&lt;p&gt;apples
: Good for making applesauce.
oranges
: Citrus!
tomatoes
: There&apos;s no &quot;e&quot; in tomatoe.&lt;/p&gt;
&lt;p&gt;Again, text is indented 4 spaces. (Put a blank line between each
term/definition pair to spread things out more.)&lt;/p&gt;
&lt;p&gt;Here&apos;s a &quot;line block&quot;:&lt;/p&gt;
&lt;p&gt;| Line one
| Line too
| Line tree&lt;/p&gt;
&lt;p&gt;and images can be specified like so:&lt;/p&gt;
&lt;p&gt;Inline math equations go in like so: $\omega = d\phi / dt$. Display
math should get its own line and be put in in double-dollarsigns:&lt;/p&gt;
&lt;p&gt;$$I = \int \rho R^{2} dV$$&lt;/p&gt;
&lt;p&gt;$$
\begin{equation*}
\pi
=3.1415926535
;8979323846;2643383279;5028841971;6939937510;5820974944
;5923078164;0628620899;8628034825;3421170679;\ldots
\end{equation*}
$$&lt;/p&gt;
&lt;p&gt;And note that you can backslash-escape any punctuation characters
which you wish to be displayed literally, ex.: `foo`, *bar*, etc.&lt;/p&gt;
</content:encoded></item></channel></rss>