<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
  <title>Indolyn Blog</title>
  
  
  <link href="http://microindole.me/atom.xml" rel="self"/>
  
  <link href="http://microindole.me/"/>
  <updated>2026-03-04T10:22:49.751Z</updated>
  <id>http://microindole.me/</id>
  
  <author>
    <name>Indolyn Yi</name>
    
  </author>
  
  <generator uri="https://hexo.io/">Hexo</generator>
  
  <entry>
    <title>AList + Cloudflare Zero Trust + Hexo：资源站折腾小记</title>
    <link href="http://microindole.me/posts/82f4c142/"/>
    <id>http://microindole.me/posts/82f4c142/</id>
    <published>2025-12-19T14:30:00.000Z</published>
    <updated>2026-03-04T10:22:49.751Z</updated>
    
    <content type="html"><![CDATA[<p>注意到博客往往都有一个资源站，由于现在博客刚刚起步，我也想尝试在博客里搞个“资源库”，分享一下资料和图片。<br>刚开始我也不知道要怎么做，本着现在刚刚起步，我目前想的是零成本路线。<br>经过不断地查找资料，我敲定了先使用 AList + Vercel + 网盘的路线(主要是因为 Cloudflare R2 的免费套餐存储空间有限)。<br>本来我想的是 Microsoft 的 OneDrive E5，这个容量大但是白白折腾了一圈后发现：之前薅羊毛的人太多，微软修改了规则，普通微软账号，不再直接赠送 E5 开发沙箱。<br>微软的方案显然作罢。<br>但是想到网盘，我想起了国内 123盘 的空间很大，值得尝试。</p><p>以下是今天的折腾记录，给有同样需求的做个参考。</p><hr><h3 id="Vercel-不适配，转向-Zeabur"><a href="#Vercel-不适配，转向-Zeabur" class="headerlink" title="Vercel 不适配，转向 Zeabur"></a>Vercel 不适配，转向 Zeabur</h3><p>本来我想的是之前使用过 Vercel，干脆统一渠道，在资源站这里也使用 Vercel。但由于种种问题，我没有找到适配 AList 的 Vercel。</p><p>在这里，服务器我改选了 <strong>Zeabur</strong>，有一键部署的 AList 镜像，对个人博客来说免费额度够用了。</p><ol><li><p>首先是进入 <a href="https://zeabur.com/">Zeabur</a> 网页(也可以选择国内版 <a href="https://zeabur.cn/">Zeabur</a> )，登录并进入控制台。</p></li><li><p>接着 创建项目 -&gt; 模板(选 AList) -&gt; Deploy</p><p> <img src="https://img.indolyn.com/2025/12/1bbf122aa0d5bcc928b2e5162e0da3f6.png" alt="1bbf122aa0d5bcc928b2e5162e0da3f6.png"></p><p> 这里域名随便写，之后要改成自己的子域名。</p></li><li><p>接着在服务状态这个页面中点击日志，在日志中找到 <code>Successfully created the admin user and the initial password is</code> 即初始管理员密码</p></li><li><p>进入Zeabur 分配的域名中，并加入 <code>/@manage</code> 输入对应的管理员用户名和密码进入管理页面。</p></li><li><p>最后在管理员页面点击 存储 -&gt; 添加 -&gt; 驱动选择123盘<br> <img src="https://img.indolyn.com/2025/12/d5c00d61e590ef21b6427552c9ff1cf8.png" alt="d5c00d61e590ef21b6427552c9ff1cf8.png"></p></li></ol><hr><h3 id="123盘风控拦截，转向阿里云盘Open"><a href="#123盘风控拦截，转向阿里云盘Open" class="headerlink" title="123盘风控拦截，转向阿里云盘Open"></a>123盘风控拦截，转向阿里云盘Open</h3><p>由于我暂时还没有做域名备案，所有上一步我选择的时国际版的 Zeabur，所以同时只能选择国外的节点，这里123盘出现了风控的问题：</p><p><img src="https://img.indolyn.com/2025/12/b03c30fac1579a4e900e18d95cc618eb.png" alt="b03c30fac1579a4e900e18d95cc618eb.png"></p><p>几经辗转，我选择了 阿里云盘Open。</p><ol><li>进入 AList 后台，在存储中点击添加，选择 阿里云盘Open。</li><li>登录阿里云盘，选择对应文件夹并进入，在url中获取文件夹id <code>https://www.alipan.com/drive/file/all/xxx</code>，其中 xxx 就是文件id，天瑞对应的文件id并保存。</li><li>在 zeabur 后台进入对应域名，检查是否成功</li></ol><h3 id="子域名设置-Cloudflare-后台锁"><a href="#子域名设置-Cloudflare-后台锁" class="headerlink" title="子域名设置 + Cloudflare 后台锁"></a>子域名设置 + Cloudflare 后台锁</h3><h4 id="子域名设置"><a href="#子域名设置" class="headerlink" title="子域名设置"></a>子域名设置</h4><p>由于第一步中我在 Zeabur 中是随便设置的域名，但是博客是独立域名<code>indolyn.com</code>。如果访客点击资源，但会“跳出”博客会显得这个非常业余，同时使用 Zeabur给的二级域名很容易被 DNS 污染，在这里要重新设置资源站的域名。</p><ol><li>首先是进入 Zeabur 的控制台并进入对应的项目，在网络分页中，点击 <code>+自定域名</code>。</li><li>输入对应的子域名，次数 Zeabur 会给出一条 DNS 的的记录。在对应的域名解析中加入一条 DNS 记录即可。</li></ol><h4 id="Cloudflare-后台锁"><a href="#Cloudflare-后台锁" class="headerlink" title="Cloudflare 后台锁"></a>Cloudflare 后台锁</h4><p>实现玩域名修改我本以为后端已经万事大吉了，但是我注意到，我自己在调整网盘策略是就频繁登录后台。这显然是不安全的。</p><p>为了增加安全性，我使用了 Cloudflare 的 Zero Trust 为 AList 后台上了锁。这样，这个后台只有经过我的邮箱验证才能打开(前提是这个域名由 Cloudflare 托管)。</p><p>以下是配置步骤: </p><ol><li>登录 Cloudflare，点击左侧的 Zero Trust。如下图依次点击，这里我选择的是 Emails 策略，这样必须经过我的邮箱才能访问这个网站，同时由于之前设置的域名邮箱，这样我也没有暴露自己的真实邮箱，同时也不用担心被邮件轰炸。</li></ol><p><img src="https://img.indolyn.com/2025/12/55bb5fdd64a74ef7b0ace0b16dd29c0e.png" alt="55bb5fdd64a74ef7b0ace0b16dd29c0e.png"></p><ol start="2"><li>进入对应域名，左侧点击 Access，右侧点击启用 Zero Trust。</li><li>进入页面后左侧依次点击 访问控制 -&gt; 应用程序，右侧点击 添加应用程序，选择自托管。</li><li>点击添加公共主机名，选择对应的子域名的路径(AList 这里是 <code>@manage</code>)，并应用第一步添加的策略。</li></ol><p>到这里就大功告成了。</p><h3 id="调整资源站样式"><a href="#调整资源站样式" class="headerlink" title="调整资源站样式"></a>调整资源站样式</h3><p>现在解决了资源站的域名问题，但资源站的样式是 AList 自带的样式，预我的博客样式不符</p><p>为了解决这个问题，我决定<strong>把 AList 的顶栏和页脚全部魔改</strong>，让它长得和我的 Butterfly 主题一模一样。</p><p>我的想法很简单：<strong>在 Hexo 里新建个页面，用 <code>&lt;iframe&gt;</code> 把 AList 网盘嵌进去</strong>。</p><p>结果折腾了一下午，心态崩了：</p><ol><li><strong>无限弹窗</strong>：因为跨域限制，浏览器拦截了 Cookie，AList 就算登录了也一直弹窗让我重新登录。</li><li><strong>双重滚动条</strong>：博客有一个滚动条，网盘里又有一个，手机上体验极差。</li><li><strong>样式割裂</strong>：AList 自带的白色界面和我的博客风格完全不搭。</li></ol><p>既然“硬塞”进去不行，我换了个思路：<strong>直接用子域名部署 AList，然后通过 CSS 把它“易容”成我的博客。</strong><br>在 AList 后台 <code>设置</code> -&gt; <code>全局</code> -&gt; <code>自定义头部</code> 里，我加了下面这段代码。<br>它的作用是：<strong>隐藏 AList 原生元素 + 注入一个高仿的博客导航栏</strong>。</p><figure class="highlight html"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br><span class="line">14</span><br><span class="line">15</span><br><span class="line">16</span><br><span class="line">17</span><br><span class="line">18</span><br><span class="line">19</span><br><span class="line">20</span><br><span class="line">21</span><br><span class="line">22</span><br><span class="line">23</span><br><span class="line">24</span><br><span class="line">25</span><br><span class="line">26</span><br><span class="line">27</span><br><span class="line">28</span><br><span class="line">29</span><br><span class="line">30</span><br><span class="line">31</span><br><span class="line">32</span><br><span class="line">33</span><br><span class="line">34</span><br><span class="line">35</span><br><span class="line">36</span><br><span class="line">37</span><br><span class="line">38</span><br><span class="line">39</span><br><span class="line">40</span><br></pre></td><td class="code"><pre><span class="line"><span class="tag">&lt;<span class="name">link</span> <span class="attr">rel</span>=<span class="string">&quot;stylesheet&quot;</span> <span class="attr">href</span>=<span class="string">&quot;[https://npm.elemecdn.com/font-awesome@4.7.0/css/font-awesome.min.css](https://npm.elemecdn.com/font-awesome@4.7.0/css/font-awesome.min.css)&quot;</span>&gt;</span></span><br><span class="line"></span><br><span class="line"><span class="tag">&lt;<span class="name">style</span>&gt;</span><span class="language-css"></span></span><br><span class="line"><span class="language-css">    <span class="selector-pseudo">:root</span> &#123;</span></span><br><span class="line"><span class="language-css">        <span class="attr">--hope-colors-primary</span>: <span class="number">#4A6FA5</span> <span class="meta">!important</span>;</span></span><br><span class="line"><span class="language-css">        <span class="attr">--hope-colors-background</span>: <span class="number">#F8F9FB</span> <span class="meta">!important</span>;</span></span><br><span class="line"><span class="language-css">    &#125;</span></span><br><span class="line"><span class="language-css">    <span class="selector-class">.footer</span> &#123; <span class="attribute">display</span>: none <span class="meta">!important</span>; &#125;</span></span><br><span class="line"><span class="language-css">    <span class="selector-class">.header-left</span> &#123; <span class="attribute">display</span>: none <span class="meta">!important</span>; &#125;</span></span><br><span class="line"><span class="language-css">    <span class="selector-class">.hope-c-PJLV-ijhzIfm-css</span> &#123; <span class="attribute">display</span>: none <span class="meta">!important</span>; &#125;</span></span><br><span class="line"><span class="language-css">    <span class="selector-class">.custom-nav</span> &#123;</span></span><br><span class="line"><span class="language-css">        <span class="attribute">position</span>: fixed; <span class="attribute">top</span>: <span class="number">0</span>; <span class="attribute">left</span>: <span class="number">0</span>; <span class="attribute">width</span>: <span class="number">100%</span>; <span class="attribute">height</span>: <span class="number">60px</span>;</span></span><br><span class="line"><span class="language-css">        <span class="attribute">background</span>: <span class="number">#4A6FA5</span>;</span></span><br><span class="line"><span class="language-css">        <span class="attribute">z-index</span>: <span class="number">9999</span>;</span></span><br><span class="line"><span class="language-css">        <span class="attribute">display</span>: flex; <span class="attribute">align-items</span>: center; <span class="attribute">padding</span>: <span class="number">0</span> <span class="number">20px</span>;</span></span><br><span class="line"><span class="language-css">        <span class="attribute">color</span>: white;</span></span><br><span class="line"><span class="language-css">        <span class="attribute">box-shadow</span>: <span class="number">0</span> <span class="number">2px</span> <span class="number">5px</span> <span class="built_in">rgba</span>(<span class="number">0</span>,<span class="number">0</span>,<span class="number">0</span>,<span class="number">0.2</span>);</span></span><br><span class="line"><span class="language-css">    &#125;</span></span><br><span class="line"><span class="language-css">    <span class="selector-id">#root</span> &#123; <span class="attribute">padding-top</span>: <span class="number">60px</span> <span class="meta">!important</span>; &#125;</span></span><br><span class="line"><span class="language-css">    <span class="selector-class">.header</span> &#123; <span class="attribute">top</span>: <span class="number">60px</span> <span class="meta">!important</span>; <span class="attribute">background</span>: transparent <span class="meta">!important</span>; <span class="attribute">box-shadow</span>: none <span class="meta">!important</span>; &#125;</span></span><br><span class="line"><span class="language-css">    <span class="selector-class">.custom-menu-item</span> &#123;</span></span><br><span class="line"><span class="language-css">        <span class="attribute">color</span>: white; <span class="attribute">text-decoration</span>: none; <span class="attribute">margin-right</span>: <span class="number">20px</span>;</span></span><br><span class="line"><span class="language-css">        <span class="attribute">font-size</span>: <span class="number">14px</span>; <span class="attribute">font-weight</span>: bold;</span></span><br><span class="line"><span class="language-css">    &#125;</span></span><br><span class="line"><span class="language-css">    <span class="selector-class">.custom-logo</span> &#123; <span class="attribute">font-size</span>: <span class="number">18px</span>; <span class="attribute">font-weight</span>: bold; <span class="attribute">margin-right</span>: <span class="number">40px</span>; &#125;</span></span><br><span class="line"><span class="language-css"></span><span class="tag">&lt;/<span class="name">style</span>&gt;</span></span><br><span class="line"></span><br><span class="line"><span class="tag">&lt;<span class="name">script</span>&gt;</span><span class="language-handlebars"><span class="language-xml"></span></span></span><br><span class="line"><span class="language-xml"><span class="language-handlebars">window.onload = function() &#123;</span></span></span><br><span class="line"><span class="language-xml"><span class="language-handlebars">    var nav = document.createElement(&#x27;div&#x27;);</span></span></span><br><span class="line"><span class="language-xml"><span class="language-handlebars">    nav.className = &#x27;custom-nav&#x27;;</span></span></span><br><span class="line"><span class="language-xml"><span class="language-handlebars">    nav.innerHTML = `</span></span></span><br><span class="line"><span class="language-xml"><span class="language-handlebars">        <span class="tag">&lt;<span class="name">div</span> <span class="attr">class</span>=<span class="string">&quot;custom-logo&quot;</span>&gt;</span>Indolyn&#x27;s Blog<span class="tag">&lt;/<span class="name">div</span>&gt;</span></span></span></span><br><span class="line"><span class="language-xml"><span class="language-handlebars">        <span class="tag">&lt;<span class="name">a</span> <span class="attr">href</span>=<span class="string">&quot;[https://www.indolyn.com](https://www.indolyn.com)&quot;</span> <span class="attr">class</span>=<span class="string">&quot;custom-menu-item&quot;</span>&gt;</span><span class="tag">&lt;<span class="name">i</span> <span class="attr">class</span>=<span class="string">&quot;fa fa-home&quot;</span>&gt;</span><span class="tag">&lt;/<span class="name">i</span>&gt;</span> 首页<span class="tag">&lt;/<span class="name">a</span>&gt;</span></span></span></span><br><span class="line"><span class="language-xml"><span class="language-handlebars">        <span class="tag">&lt;<span class="name">a</span> <span class="attr">href</span>=<span class="string">&quot;[https://www.indolyn.com/archives/](https://www.indolyn.com/archives/)&quot;</span> <span class="attr">class</span>=<span class="string">&quot;custom-menu-item&quot;</span>&gt;</span><span class="tag">&lt;<span class="name">i</span> <span class="attr">class</span>=<span class="string">&quot;fa fa-archive&quot;</span>&gt;</span><span class="tag">&lt;/<span class="name">i</span>&gt;</span> 时间轴<span class="tag">&lt;/<span class="name">a</span>&gt;</span></span></span></span><br><span class="line"><span class="language-xml"><span class="language-handlebars">        <span class="tag">&lt;<span class="name">span</span> <span class="attr">class</span>=<span class="string">&quot;custom-menu-item&quot;</span> <span class="attr">style</span>=<span class="string">&quot;opacity:0.6;&quot;</span>&gt;</span><span class="tag">&lt;<span class="name">i</span> <span class="attr">class</span>=<span class="string">&quot;fa fa-cloud&quot;</span>&gt;</span><span class="tag">&lt;/<span class="name">i</span>&gt;</span> 资源库<span class="tag">&lt;/<span class="name">span</span>&gt;</span></span></span></span><br><span class="line"><span class="language-xml"><span class="language-handlebars">    `;</span></span></span><br><span class="line"><span class="language-xml"><span class="language-handlebars">    document.body.insertBefore(nav, document.body.firstChild);</span></span></span><br><span class="line"><span class="language-xml"><span class="language-handlebars">&#125;</span></span></span><br><span class="line"><span class="language-xml"><span class="language-handlebars"></span></span><span class="tag">&lt;/<span class="name">script</span>&gt;</span></span><br></pre></td></tr></table></figure><h3 id="总结"><a href="#总结" class="headerlink" title="总结"></a>总结</h3><p>到这里，博客折腾记基本完成了。这次主要是记录我从0开始搭建博客的过程(从仅用一个域名开始)。之后博客有相应的升级我也会在这个系列更新的。</p>]]></content>
    
    
    <summary type="html">既然 Iframe 嵌入全是 Bug，那就换个思路：用 CSS 把网盘“伪装”成博客，顺便用 Cloudflare 锁死后台。</summary>
    
    
    
    <category term="技术笔记" scheme="http://microindole.me/categories/%E6%8A%80%E6%9C%AF%E7%AC%94%E8%AE%B0/"/>
    
    
    <category term="Hexo" scheme="http://microindole.me/tags/Hexo/"/>
    
    <category term="AList" scheme="http://microindole.me/tags/AList/"/>
    
    <category term="Cloudflare" scheme="http://microindole.me/tags/Cloudflare/"/>
    
    <category term="建站" scheme="http://microindole.me/tags/%E5%BB%BA%E7%AB%99/"/>
    
  </entry>
  
  <entry>
    <title>博客折腾记：域名邮箱迁移与&quot;身份隐藏&quot;方案实录</title>
    <link href="http://microindole.me/posts/4e1b3683/"/>
    <id>http://microindole.me/posts/4e1b3683/</id>
    <published>2025-12-18T10:00:00.000Z</published>
    <updated>2026-03-04T10:22:49.751Z</updated>
    
    <content type="html"><![CDATA[<p>最近刚把域名从 <code>microindole.me</code> 彻底迁移到了 <code>indolyn.com</code>。</p><p>既然换了新家，我就琢磨着把域名邮箱也重构一下。我的核心诉求很简单：<strong>对外使用专业域名邮箱，对内挂载到 Gmail 收发，且绝对不能暴露我真实的 Gmail 地址。</strong></p><p>折腾了一圈，最后选定了 <strong>Cloudflare (收) + Brevo (发) + Gmail (端)</strong> 的免费组合。</p><h2 id="1-为什么这么折腾？"><a href="#1-为什么这么折腾？" class="headerlink" title="1. 为什么这么折腾？"></a>1. 为什么这么折腾？</h2><blockquote><p>主要是爱折腾</p></blockquote><ul><li><strong>身份隔离</strong>：不想在任何公开场合留下真实的 Gmail，防止被开盒或垃圾邮件轰炸。</li><li><strong>规避备案</strong>：之前考虑过企业微信，但国内服务商对域名备案要求极严，海外域名还是走国际路线更省心。</li><li><strong>零成本</strong>：Cloudflare Routing 和 Brevo 的 SMTP 额度对个人站长来说绰绰有余。</li></ul><h2 id="2-踩坑实录"><a href="#2-踩坑实录" class="headerlink" title="2. 踩坑实录"></a>2. 踩坑实录</h2><h3 id="坑位一：Gmail-SMTP-验证报错-535-5-7-8"><a href="#坑位一：Gmail-SMTP-验证报错-535-5-7-8" class="headerlink" title="坑位一：Gmail SMTP 验证报错 535 5.7.8"></a>坑位一：Gmail SMTP 验证报错 <code>535 5.7.8</code></h3><p>我在 Gmail 里配置“别名发送”时，死活连不上 Brevo。</p><p><strong>真正原因</strong>：<br>我习惯性地在“用户名”里填了我的 Email 地址。但在 Brevo 的体系里，SMTP 的用户名是一个专属的 <strong>Login ID</strong>（形如 <code>12a3bc456@smtp-brevo.com</code>）。</p><p><strong>解决</strong>：</p><ol><li>去 Brevo 的 <strong>SMTP &amp; API</strong> 页面找那个专门的 <code>Login</code>。</li><li>密码填生成的 <strong>SMTP Key</strong>，而不是 Brevo 的登录密码。</li></ol><h3 id="坑位二：SPF-记录的“多胞胎”冲突"><a href="#坑位二：SPF-记录的“多胞胎”冲突" class="headerlink" title="坑位二：SPF 记录的“多胞胎”冲突"></a>坑位二：SPF 记录的“多胞胎”冲突</h3><p>配置完发现，发给小号的邮件全进了垃圾桶。</p><p><strong>原因</strong>：<br>为了让 Cloudflare 转发邮件，我配了它的 SPF；为了让 Brevo 发信，我又配了 Brevo 的 SPF。<strong>一个域名只能有一条 SPF 记录</strong>，多条记录会导致验证直接失效。</p><p><strong>解决</strong>：<br>必须把两条记录合并成一条：<br><code>v=spf1 include:_spf.mx.cloudflare.net include:spf.brevo.com ~all</code></p><h3 id="坑位三：2025-年的“强制合规”"><a href="#坑位三：2025-年的“强制合规”" class="headerlink" title="坑位三：2025 年的“强制合规”"></a>坑位三：2025 年的“强制合规”</h3><p>现在的 Google 和 Yahoo 对发件人极其挑剔。如果你的 Brevo 后台 DKIM 没绿，或者没有 DMARC 记录，基本就是“发一封丢一封”。</p><p><strong>解决</strong>：</p><ol><li><strong>DKIM</strong>：必须在 Cloudflare 里配置好 Brevo 给的那几条 CNAME 记录，直到 Brevo 显示 <strong>Authenticated</strong>。</li><li><strong>DMARC</strong>：哪怕是配个最简单的监控模式也行。<br><code>v=DMARC1; p=none; rua=mailto:admin@indolyn.com;</code></li></ol>]]></content>
    
    
      
      
    <summary type="html">&lt;p&gt;最近刚把域名从 &lt;code&gt;microindole.me&lt;/code&gt; 彻底迁移到了 &lt;code&gt;indolyn.com&lt;/code&gt;。&lt;/p&gt;
&lt;p&gt;既然换了新家，我就琢磨着把域名邮箱也重构一下。我的核心诉求很简单：&lt;strong&gt;对外使用专业域名邮箱，对内挂载到 Gma</summary>
      
    
    
    
    <category term="技术笔记" scheme="http://microindole.me/categories/%E6%8A%80%E6%9C%AF%E7%AC%94%E8%AE%B0/"/>
    
    
    <category term="域名" scheme="http://microindole.me/tags/%E5%9F%9F%E5%90%8D/"/>
    
    <category term="邮件" scheme="http://microindole.me/tags/%E9%82%AE%E4%BB%B6/"/>
    
  </entry>
  
  <entry>
    <title>博客折腾记：AI CLI 的“代理陷阱”与多环境配置实录</title>
    <link href="http://microindole.me/posts/42375155/"/>
    <id>http://microindole.me/posts/42375155/</id>
    <published>2025-12-18T02:30:00.000Z</published>
    <updated>2026-03-04T10:22:49.751Z</updated>
    
    <content type="html"><![CDATA[<p>昨天被舍友启发，我也感觉网页版的 AI 效果实在不尽如人意。同时大家有鼓吹 Claude Code，便想着自己也尝试一下。<br>本想着能体验一把超丝滑的代码辅助，结果还没开始，就直接卡在了起跑线上！</p><p>这篇文章记录了，我是怎么从 Claude Code 报错，一路折腾到 Gemini CLI 认证失败，最后终于摸索出一套在 WindowsPowerShell、PowerShell 还有 Linux 上都能通用的代理方案。</p><h2 id="1-怎么-Claude-Code-就用不了呢？"><a href="#1-怎么-Claude-Code-就用不了呢？" class="headerlink" title="1. 怎么 Claude Code 就用不了呢？"></a>1. 怎么 Claude Code 就用不了呢？</h2><p>刚开始运行 Claude Code 的时候，终端一直转圈圈提示连接超时。</p><p>我当时的第一个反应是：<strong>难道这玩意儿非得充 Pro 账号才能用？</strong> 于是我赶紧换了 <strong>Gemini CLI</strong> 试试，结果还是报错！这时候我才反应过来，根本不是账号的问题，而是我的<strong>代理根本没进到命令行里去</strong>。</p><h2 id="2-踩坑实录"><a href="#2-踩坑实录" class="headerlink" title="2. 踩坑实录"></a>2. 踩坑实录</h2><h3 id="坑位一：环境变量的“永久”大坑"><a href="#坑位一：环境变量的“永久”大坑" class="headerlink" title="坑位一：环境变量的“永久”大坑"></a>坑位一：环境变量的“永久”大坑</h3><p>为了图省事，我一开始用了 <code>setx</code> 想设个永久变量：<br><code>setx HTTP_PROXY &quot;http://127.0.0.1:7897&quot;</code></p><p>当我关掉梯子想搞本地调试的时候，命令行直接“断网”了！<br>因为 <code>setx</code> 会把设置写死在注册表里，工具找不到代理服务器就会硬生生地报错，根本不会自动切换到直连状态。</p><p>这里千万别用 <code>setx</code>！建议在 Shell 配置文件里写个小函数，随用随开，不用就关。</p><h3 id="坑位二：Windows-PowerShell-vs-PowerShell-7"><a href="#坑位二：Windows-PowerShell-vs-PowerShell-7" class="headerlink" title="坑位二：Windows PowerShell vs PowerShell 7"></a>坑位二：Windows PowerShell vs PowerShell 7</h3><p>我发现自己在 <code>pwsh</code> (PowerShell 7) 里写好的配置，换到旧版的 <code>Windows PowerShell</code> 竟然没法用，甚至还喷出了一堆莫名其妙的乱码（比如 <code>浠ｇ悊宸插紑鍚</code>）。</p><p><strong>原因其实很简单</strong>：</p><ol><li><strong>各走各的路</strong>：这两个 Shell 读取的是完全不同的配置文件。</li><li><strong>编码不和</strong>：旧版 PowerShell 对那种不带 BOM 的 UTF-8 文件特别不友好。</li><li><strong>协议不全</strong>：在 Windows 下，如果不配好 **<code>ALL_PROXY</code>**，很多走 SOCKS5 协议的 AI 工具根本就跑不起来！</li></ol><h3 id="坑位三：Gemini-认证"><a href="#坑位三：Gemini-认证" class="headerlink" title="坑位三：Gemini 认证"></a>坑位三：Gemini 认证</h3><p>配置 Gemini CLI 的时候，网页端明明说认证成功了，结果命令行里却跳出一个 <code>GOOGLE_CLOUD_PROJECT</code> 找不到的错误。</p><p><strong>原因</strong>：因为我用的是普通账号，Google 强制要求得关联一个云项目或者使用API，配置起来超级麻烦。<br><strong>解决办法</strong>：直接换成<strong>个人 Pro 账号</strong>登录！个人账号自带配额，登上去就能用，完美避开了那些复杂的后台设置。</p><hr><h2 id="3-代理方案"><a href="#3-代理方案" class="headerlink" title="3. 代理方案"></a>3. 代理方案</h2><p>为了不让大家（还有未来的我）再掉进这些坑里，我整理了这套配置。</p><h3 id="A-Windows：PowerShell-5-1-pwsh-7"><a href="#A-Windows：PowerShell-5-1-pwsh-7" class="headerlink" title="A. Windows：PowerShell 5.1 &amp; pwsh 7"></a>A. Windows：PowerShell 5.1 &amp; pwsh 7</h3><p>在两个环境里分别输入 <code>notepad $PROFILE</code>，把下面的代码贴进去就行（记得保存的时候选 <strong>带有 BOM 的 UTF-8</strong> 哦！）：</p><figure class="highlight powershell"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br><span class="line">14</span><br></pre></td><td class="code"><pre><span class="line"><span class="function"><span class="keyword">function</span> <span class="title">proxy</span></span> &#123;</span><br><span class="line">    <span class="variable">$env:HTTP_PROXY</span>  = <span class="string">&quot;http://127.0.0.1:7897&quot;</span></span><br><span class="line">    <span class="variable">$env:HTTPS_PROXY</span> = <span class="string">&quot;http://127.0.0.1:7897&quot;</span></span><br><span class="line">    <span class="variable">$env:ALL_PROXY</span>   = <span class="string">&quot;socks5://127.0.0.1:7897&quot;</span></span><br><span class="line">    <span class="built_in">Write-Host</span> <span class="string">&quot;Proxy On / 代理已开启！&quot;</span> <span class="literal">-ForegroundColor</span> Green</span><br><span class="line">&#125;</span><br><span class="line"></span><br><span class="line"><span class="function"><span class="keyword">function</span> <span class="title">unproxy</span></span> &#123;</span><br><span class="line">    <span class="variable">$env:HTTP_PROXY</span>  = <span class="variable">$null</span></span><br><span class="line">    <span class="variable">$env:HTTPS_PROXY</span> = <span class="variable">$null</span></span><br><span class="line">    <span class="variable">$env:ALL_PROXY</span>   = <span class="variable">$null</span></span><br><span class="line">    <span class="built_in">Write-Host</span> <span class="string">&quot;Proxy Off / 代理已关闭！&quot;</span> <span class="literal">-ForegroundColor</span> Red</span><br><span class="line">&#125;</span><br><span class="line"></span><br></pre></td></tr></table></figure><h3 id="B-Linux-WSL-Bash-Zsh"><a href="#B-Linux-WSL-Bash-Zsh" class="headerlink" title="B. Linux &#x2F; WSL (Bash&#x2F;Zsh)"></a>B. Linux &#x2F; WSL (Bash&#x2F;Zsh)</h3><p>编辑 <code>~/.bashrc</code> 或者 <code>~/.zshrc</code>，加上这段：</p><figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br><span class="line">14</span><br><span class="line">15</span><br><span class="line">16</span><br></pre></td><td class="code"><pre><span class="line"><span class="comment"># Linux 比较挑剔，大小写都要照顾到</span></span><br><span class="line"><span class="function"><span class="title">proxy</span></span>() &#123;</span><br><span class="line">    <span class="built_in">export</span> http_proxy=<span class="string">&quot;http://127.0.0.1:7897&quot;</span></span><br><span class="line">    <span class="built_in">export</span> HTTP_PROXY=<span class="string">&quot;http://127.0.0.1:7897&quot;</span></span><br><span class="line">    <span class="built_in">export</span> https_proxy=<span class="string">&quot;http://127.0.0.1:7897&quot;</span></span><br><span class="line">    <span class="built_in">export</span> HTTPS_PROXY=<span class="string">&quot;http://127.0.0.1:7897&quot;</span></span><br><span class="line">    <span class="built_in">export</span> all_proxy=<span class="string">&quot;socks5://127.0.0.1:7897&quot;</span></span><br><span class="line">    <span class="built_in">export</span> ALL_PROXY=<span class="string">&quot;socks5://127.0.0.1:7897&quot;</span></span><br><span class="line">    <span class="built_in">echo</span> <span class="string">&quot;Proxy On (代理已开启啦！)&quot;</span></span><br><span class="line">&#125;</span><br><span class="line"></span><br><span class="line"><span class="function"><span class="title">unproxy</span></span>() &#123;</span><br><span class="line">    <span class="built_in">unset</span> http_proxy HTTP_PROXY https_proxy HTTPS_PROXY all_proxy ALL_PROXY</span><br><span class="line">    <span class="built_in">echo</span> <span class="string">&quot;Proxy Off (代理已关闭啦！)&quot;</span></span><br><span class="line">&#125;</span><br><span class="line"></span><br></pre></td></tr></table></figure><p><strong>最后</strong>：在 Windows 上折腾代理，要是没配 <code>ALL_PROXY</code>，约等于没做！</p>]]></content>
    
    
      
      
    <summary type="html">&lt;p&gt;昨天被舍友启发，我也感觉网页版的 AI 效果实在不尽如人意。同时大家有鼓吹 Claude Code，便想着自己也尝试一下。&lt;br&gt;本想着能体验一把超丝滑的代码辅助，结果还没开始，就直接卡在了起跑线上！&lt;/p&gt;
&lt;p&gt;这篇文章记录了，我是怎么从 Claude Code 报错，</summary>
      
    
    
    
    <category term="技术笔记" scheme="http://microindole.me/categories/%E6%8A%80%E6%9C%AF%E7%AC%94%E8%AE%B0/"/>
    
    
    <category term="AI" scheme="http://microindole.me/tags/AI/"/>
    
    <category term="代理" scheme="http://microindole.me/tags/%E4%BB%A3%E7%90%86/"/>
    
  </entry>
  
  <entry>
    <title>PicList + Cloudflare R2 (VS Code &amp; Typora 指南)</title>
    <link href="http://microindole.me/posts/cd10c161/"/>
    <id>http://microindole.me/posts/cd10c161/</id>
    <published>2025-12-17T14:00:00.000Z</published>
    <updated>2026-03-04T10:22:49.751Z</updated>
    
    <content type="html"><![CDATA[<p>写博客最痛苦的不是写字，而是<strong>配图</strong>。</p><p>以前为了省事，我把图片直接存本地。结果 Hexo 仓库越来越大，<code>git clone</code> 慢得像蜗牛。后来想搞图床，发现 GitHub 在国内访问不稳，商业云存储又要担心流量费。</p><p>经过两个小时的折腾（踩了不少坑），我终于摸索出了一套<strong>“终极方案”</strong>：<br>**Cloudflare R2 (存储) + PicList (上传工具) + VS Code &#x2F; Typora (写作)**。</p><p>这套方案不仅<strong>完全免费</strong>、<strong>全球CDN加速</strong>，而且完美打通了我最常用的两个编辑器。</p><hr><h2 id="🔗-第一步：配置-Cloudflare-R2"><a href="#🔗-第一步：配置-Cloudflare-R2" class="headerlink" title="🔗 第一步：配置 Cloudflare R2"></a>🔗 第一步：配置 Cloudflare R2</h2><p>Cloudflare R2 提供了 <strong>10GB 存储 + 1000万次读取&#x2F;月</strong> 的免费额度，对个人博客来说几乎是无限的。</p><ol><li><strong>创建存储桶</strong>：在 Cloudflare R2 后台创建一个 Bucket（例如 <code>blog-img</code>）。</li><li><strong>绑定域名（关键）</strong>：<ul><li>在桶的 <code>设置</code> -&gt; <code>公开访问</code> 里，绑定一个自定义域名（如 <code>img.indolyn.com</code>）。</li><li><em>如果不绑域名，图片只能存不能看。</em></li></ul></li><li><strong>获取 API 密钥</strong>：<ul><li>点击 <code>Manage R2 API Tokens</code>。</li><li><strong>避坑点</strong>：权限必须选 <strong>“对象读写 (Object Read &amp; Write)”</strong>。</li><li>记录下 <code>Access Key ID</code>、<code>Secret Access Key</code> 和 <code>Endpoint</code>。</li></ul></li></ol><hr><h2 id="🛠️-第二步：配置-PicList-核心中枢"><a href="#🛠️-第二步：配置-PicList-核心中枢" class="headerlink" title="🛠️ 第二步：配置 PicList (核心中枢)"></a>🛠️ 第二步：配置 PicList (核心中枢)</h2><p>为什么要用 <strong>PicList</strong> 而不是 PicGo？<br>因为 PicList 是 PicGo 的超强升级版，它<strong>原生支持 S3&#x2F;R2</strong>，不需要像 PicGo 那样折腾插件环境（还要装 Node.js、Python，太容易报错了）。</p><h3 id="1-基础配置"><a href="#1-基础配置" class="headerlink" title="1. 基础配置"></a>1. 基础配置</h3><p>下载安装 PicList 后，进入 <code>图床</code> -&gt; <code>Amazon S3</code> -&gt; <code>编辑配置</code>：</p><ul><li><strong>AccessKey &#x2F; SecretKey</strong>：填入刚才获取的。</li><li><strong>Bucket</strong>：填你的桶名（如 <code>blog-img</code>）。</li><li><strong>Region</strong>：直接填 <code>auto</code>。</li><li><strong>Endpoint</strong>：填 <code>https://xxxx.r2.cloudflarestorage.com</code> (注意：<strong>不要</strong>带桶名和斜杠)。</li><li><strong>自定义域名</strong>：填 <code>https://img.indolyn.com</code>。</li></ul><h3 id="2-🚨-解决-404-问题的关键设置"><a href="#2-🚨-解决-404-问题的关键设置" class="headerlink" title="2. 🚨 解决 404 问题的关键设置"></a>2. 🚨 解决 404 问题的关键设置</h3><p>配置好后我发现上传成功，但访问全是 404。<br>仔细一看，链接变成了 <code>https://域名/桶名/文件名</code>，多了一层桶名。</p><p><strong>解决方法</strong>（如图）：<br>在 PicList 的 S3 设置下方：</p><ol><li><strong>ForcePathStyle</strong>：改为 <code>No</code> (关闭)。</li><li>🔥 <strong>关键开关</strong>：找到 <strong>“开启 pathStyleAccess 时，是否要禁用最终生成URL中添加 bucket 前缀”</strong>，选 **<code>Yes</code>**。</li></ol><p><img src="https://img.indolyn.com/2025/12/6d938d0ae21534ff922d5f1452467fb9.png" alt="image-20251217212742894"><br><em>(开启这个开关，链接路径就正常了)</em></p><hr><h2 id="💻-第三步：Typora-对接"><a href="#💻-第三步：Typora-对接" class="headerlink" title="💻 第三步：Typora 对接"></a>💻 第三步：Typora 对接</h2><p>Typora 是我写长文的首选，配合 PicList 可以实现<strong>完全无感</strong>的上传体验。</p><ol><li><p><strong>找到 PicList 路径</strong>：<br> 找到 PicList 安装目录下的 <code>PicList.exe</code> 路径（例如 <code>D:\tools\PicList\PicList.exe</code>）。</p></li><li><p><strong>配置 Typora</strong>：<br> 打开 <code>文件</code> -&gt; <code>偏好设置</code> -&gt; <code>图像</code>：</p><ul><li><strong>插入图片时</strong>：选择 <strong><code>上传图片</code></strong> (Upload image)。<ul><li><em>建议：勾选“对本地位置的图片应用上述规则”，这样以前存本地的图片也能一键转上传。</em></li></ul></li><li><strong>上传服务</strong>：选择 <strong><code>PicGo (app)</code></strong> (PicList 兼容 PicGo 接口)。</li><li><strong>PicGo 路径</strong>：粘贴刚才复制的 <code>PicList.exe</code> 路径。</li></ul><blockquote><p>参考配置</p></blockquote> <img src="https://img.indolyn.com/2025/12/7c99a74817b061e051d6ec076cbf8c85.png" alt="image-20251217212953503" style="zoom:50%;" /></li><li><p><strong>验证</strong>：<br> 点击 <strong>“验证图片上传选项”</strong>，看到两个绿色对勾，说明配置成功！</p><p> <img src="https://img.indolyn.com/2025/12/88228c79e166d4b9800bca30e13af196.png" alt="image-20251217213005758"></p></li></ol><p><strong>现在的体验</strong>：在 Typora 里截图 -&gt; <code>Ctrl+V</code> -&gt; 图片自动变红（上传中） -&gt; 变蓝（上传完成），链接自动替换为 R2 链接。</p><hr><h2 id="⌨️-第四步：VS-Code-配置"><a href="#⌨️-第四步：VS-Code-配置" class="headerlink" title="⌨️ 第四步：VS Code 配置"></a>⌨️ 第四步：VS Code 配置</h2><p>如果你习惯在 VS Code 里写 Hexo，配置更简单。</p><ol><li>在 VS Code 扩展商店安装 <strong><code>vs-piclist</code></strong> 插件（作者是 Kuingsmile）。</li><li>确保 PicList 软件在后台运行（它会开启 36677 端口）。</li><li><strong>不需要改任何配置文件</strong>，插件会自动连接 PicList。</li><li><strong>快捷键</strong>：<ul><li>截图后按下 <code>Ctrl + Alt + U</code> (Win) &#x2F; <code>Cmd + Opt + U</code> (Mac)。</li><li>图片链接自动插入 Markdown。</li></ul></li></ol><hr>]]></content>
    
    
    <summary type="html">无论用 VS Code 还是 Typora 写作，都能实现&quot;截图-粘贴-自动上传&quot;的极致体验。基于 Cloudflare R2 的免费高速图床方案。</summary>
    
    
    
    <category term="效率工具" scheme="http://microindole.me/categories/%E6%95%88%E7%8E%87%E5%B7%A5%E5%85%B7/"/>
    
    
    <category term="Hexo" scheme="http://microindole.me/tags/Hexo/"/>
    
    <category term="Cloudflare" scheme="http://microindole.me/tags/Cloudflare/"/>
    
    <category term="图床" scheme="http://microindole.me/tags/%E5%9B%BE%E5%BA%8A/"/>
    
  </entry>
  
  <entry>
    <title>博客折腾记：Hexo + Cloudflare + Waline 踩坑实录</title>
    <link href="http://microindole.me/posts/ada9ae6b/"/>
    <id>http://microindole.me/posts/ada9ae6b/</id>
    <published>2025-12-17T08:51:49.000Z</published>
    <updated>2026-03-04T10:22:49.751Z</updated>
    
    <content type="html"><![CDATA[<p>终于把博客折腾好了！</p><p>这篇文章记录一下我从 GitHub Pages 迁移到 Cloudflare Pages，并配置 Waline 评论系统的全过程。本以为只是简单的配置，结果踩了一下午的坑，特此记录，希望能帮到后来人（也防止自己以后忘了）。</p><h2 id="1-为什么迁移？"><a href="#1-为什么迁移？" class="headerlink" title="1. 为什么迁移？"></a>1. 为什么迁移？</h2><p>我原来的博客是托管在 GitHub Pages 上的，但有两个痛点：</p><ol><li><strong>隐私问题</strong>：GitHub Pages 强制要求仓库公开（Public），但我希望把博客源码放在私有仓库里。</li><li><strong>速度问题</strong>：Cloudflare Pages 的节点速度在全球范围内通常比 GitHub Pages 更快且稳。</li></ol><p>于是决定：<strong>源码放 GitHub 私有仓库 -&gt; Cloudflare Pages 自动拉取构建 -&gt; 绑定自定义域名</strong>。</p><h2 id="2-踩坑实录"><a href="#2-踩坑实录" class="headerlink" title="2. 踩坑实录"></a>2. 踩坑实录</h2><h3 id="坑位一：Cloudflare-构建失败-hexo-not-found"><a href="#坑位一：Cloudflare-构建失败-hexo-not-found" class="headerlink" title="坑位一：Cloudflare 构建失败 hexo: not found"></a>坑位一：Cloudflare 构建失败 <code>hexo: not found</code></h3><p>刚把仓库连上 Cloudflare，第一次构建就红了。<br>报错：<code>/bin/sh: 1: hexo: not found</code></p><p><strong>原因</strong>：Cloudflare 的构建环境是纯净的，没有全局安装 Hexo CLI。<br><strong>解决</strong>：<br>修改 Cloudflare 的 Build Command（构建命令）：</p><ul><li>原命令：<code>hexo g</code></li><li><strong>修改为</strong>：<code>npx hexo g</code></li></ul><h3 id="坑位二：DNS-解析-Error-1016"><a href="#坑位二：DNS-解析-Error-1016" class="headerlink" title="坑位二：DNS 解析 Error 1016"></a>坑位二：DNS 解析 Error 1016</h3><p>配置域名 <code>indolyn.com</code> 时，访问网站直接报错 <strong>Error 1016 Origin DNS error</strong>。</p><p><strong>原因</strong>：DNS 设置里的 CNAME 配置错了。<br>我在 Cloudflare 后台添加记录时，<code>Name</code>（名称）一栏填了 <code>indolyn.com</code>，导致实际解析变成了 <code>indolyn.com.indolyn.com</code>。</p><p><strong>解决</strong>：</p><ul><li><strong>根域名（example.com）</strong>：Name 栏必须填 **<code>@</code>**。</li><li><strong>子域名（www）</strong>：Name 栏填 <code>www</code>。</li></ul><h3 id="坑位三：Waline-评论系统-401-Unauthorized"><a href="#坑位三：Waline-评论系统-401-Unauthorized" class="headerlink" title="坑位三：Waline 评论系统 401 Unauthorized"></a>坑位三：Waline 评论系统 401 Unauthorized</h3><p>这是最折磨的一步。Waline 部署在 Vercel 上，数据库用的 LeanCloud 国际版。<br>网页上一直报错 <code>401 Unauthorized</code>，后台日志显示 <code>Client network socket disconnected</code>。我一开始以为是跨域（CORS）问题，改了半天 <code>CORS_ORIGIN</code> 也没用。</p><p><strong>真正原因</strong>：<br>我使用的是 <strong>LeanCloud 国际版</strong>，且没有绑定自定义域名。在 Vercel 环境中，Waline 无法自动找到 LeanCloud 的 API 服务器地址。</p><p><strong>解决</strong>：</p><ol><li>去 LeanCloud 后台找到 AppID。</li><li>在 Vercel 的环境变量（Environment Variables）中，手动添加 **<code>LEAN_SERVER</code>**。</li><li>值填写：<code>https://[AppID前8位].api.lncldglobal.com</code></li><li><strong>关键一步</strong>：修改完变量必须 <strong>Redeploy（重新部署）</strong> 才会生效！</li></ol><h3 id="坑位四：CORS-跨域报错"><a href="#坑位四：CORS-跨域报错" class="headerlink" title="坑位四：CORS 跨域报错"></a>坑位四：CORS 跨域报错</h3><p>解决了 401 后，浏览器还是报 CORS 红色错误。</p><p><strong>解决</strong>：<br>在 Vercel 环境变量中设置 <code>CORS_ORIGIN</code>。<br>为了安全起见，不要用 <code>*</code>，建议设置为：</p><figure class="highlight text"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">[https://indolyn.com](https://indolyn.com),[https://www.indolyn.com](https://www.indolyn.com),http://localhost:4000</span><br></pre></td></tr></table></figure><p>这就允许了线上域名和本地预览环境的访问。</p><h2 id="3-总结"><a href="#3-总结" class="headerlink" title="3. 总结"></a>3. 总结</h2><p>虽然过程有点曲折，但看到评论区跑通的那一刻还是很爽的。<br>现在的架构：</p><ul><li><strong>博客</strong>：Hexo (Local) -&gt; GitHub (Private) -&gt; Cloudflare Pages</li><li><strong>评论</strong>：Waline (Vercel) -&gt; LeanCloud (International)</li></ul><p>这样既保证了源码隐私，又有了极速的访问体验，评论系统也完全掌握在自己手里。</p>]]></content>
    
    
      
      
    <summary type="html">&lt;p&gt;终于把博客折腾好了！&lt;/p&gt;
&lt;p&gt;这篇文章记录一下我从 GitHub Pages 迁移到 Cloudflare Pages，并配置 Waline 评论系统的全过程。本以为只是简单的配置，结果踩了一下午的坑，特此记录，希望能帮到后来人（也防止自己以后忘了）。&lt;/p&gt;
&lt;h2</summary>
      
    
    
    
    <category term="技术笔记" scheme="http://microindole.me/categories/%E6%8A%80%E6%9C%AF%E7%AC%94%E8%AE%B0/"/>
    
    
    <category term="Hexo" scheme="http://microindole.me/tags/Hexo/"/>
    
    <category term="Cloudflare" scheme="http://microindole.me/tags/Cloudflare/"/>
    
    <category term="Waline" scheme="http://microindole.me/tags/Waline/"/>
    
  </entry>
  
  <entry>
    <title>Hello World</title>
    <link href="http://microindole.me/posts/4a17b156/"/>
    <id>http://microindole.me/posts/4a17b156/</id>
    <published>2025-12-15T13:58:00.000Z</published>
    <updated>2026-03-04T10:22:49.751Z</updated>
    
    <content type="html"><![CDATA[<p>你好，世界！</p>]]></content>
    
    
      
      
    <summary type="html">&lt;p&gt;你好，世界！&lt;/p&gt;
</summary>
      
    
    
    
    
  </entry>
  
</feed>
