<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/">
    <channel>
        <title>雪中小屋</title>
        <link>https://blog.xueayi.site/</link>
        <description>我的传说从此开始！</description>
        <lastBuildDate>Sun, 03 May 2026 10:29:11 GMT</lastBuildDate>
        <docs>https://validator.w3.org/feed/docs/rss2.html</docs>
        <generator>https://github.com/jpmonette/feed</generator>
        <language>en-US</language>
        <copyright>All rights reserved 2026, 雪阿宜</copyright>
        <item>
            <title><![CDATA[与自己对话（2）]]></title>
            <link>https://blog.xueayi.site/article/myself2</link>
            <guid>https://blog.xueayi.site/article/myself2</guid>
            <pubDate>Mon, 27 Apr 2026 00:00:00 GMT</pubDate>
            <description><![CDATA[我的诗。]]></description>
            <content:encoded><![CDATA[<div id="notion-article" class="mx-auto overflow-hidden "><main class="notion light-mode notion-page notion-block-34f6bec17f7d802399fdca6a76a3f29e"><div class="notion-viewport"></div><div class="notion-collection-page-properties"></div><div class="notion-text notion-block-34f6bec17f7d80648b67ddec02d33cda">这一路的旅程，有喜悦也有悲伤，有欢笑也有眼泪。</div><div class="notion-text notion-block-34f6bec17f7d809ab702f33fbd850fba">但是我仍对这段时光感到感激，谢谢你让我成为了更好的自己，谢谢你让我更加了解自己，谢谢你让我拾起勇气去迎接崭新的明天。</div><div class="notion-text notion-block-34f6bec17f7d8071b687d566f61640c3">当然，更要谢谢坚强的自己。那段黑暗的、窒息的、挣扎的、痛苦的、悲伤的、难过的、害怕的、孤独的、独自流泪的、歇斯底里的时光只有自己知道有多难熬。即便如此，自己也陪着自己疗愈自己、认识自己、接纳自己，最终让自己走出了悲伤的沼泽。</div><div class="notion-text notion-block-34f6bec17f7d80aca488cc0f75c462be">即使曾经受过伤，但是仍对未来充满希望，仍然真诚地对待身边的每一个人。这算不算是罗曼罗兰所说的一种“英雄主义”呢？</div><hr class="notion-hr notion-block-34f6bec17f7d80e6bdbfc25cabead27c"/><h2 class="notion-h notion-h1 notion-h-indent-0 notion-block-34f6bec17f7d80a59c5fd73cb4fe66fe" data-id="34f6bec17f7d80a59c5fd73cb4fe66fe"><span><div id="34f6bec17f7d80a59c5fd73cb4fe66fe" class="notion-header-anchor"></div><a class="notion-hash-link" href="#34f6bec17f7d80a59c5fd73cb4fe66fe" title="候"><svg viewBox="0 0 16 16" width="16" height="16"><path fill-rule="evenodd" d="M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z"></path></svg></a><span class="notion-h-title">候</span></span></h2><div class="notion-blank notion-block-34f6bec17f7d80048414f36277a20479"> </div><div class="notion-text notion-block-34f6bec17f7d80a08908f853d1f9d02c">唱一首芳春的歌
爱一场盛夏的雨
醉一晚深秋的叶
守一阕隆冬的诗

在残雪消融之前
将大地轻拥入怀
我在葡萄成熟的午后
乘着温柔的风等你到来</div><hr class="notion-hr notion-block-34f6bec17f7d80bc95d1ea4f834bb4c8"/><h2 class="notion-h notion-h1 notion-h-indent-0 notion-block-34f6bec17f7d8097a73af3589ed6183a" data-id="34f6bec17f7d8097a73af3589ed6183a"><span><div id="34f6bec17f7d8097a73af3589ed6183a" class="notion-header-anchor"></div><a class="notion-hash-link" href="#34f6bec17f7d8097a73af3589ed6183a" title="在花与光的世界做一场不愿醒来的梦"><svg viewBox="0 0 16 16" width="16" height="16"><path fill-rule="evenodd" d="M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z"></path></svg></a><span class="notion-h-title">在花与光的世界做一场不愿醒来的梦</span></span></h2><div class="notion-text notion-block-34f6bec17f7d80fca92bd93699f57866">
我从花田里醒来
眼里充满对世界的期待
迎着光悄悄来到你的身旁
你会不会察觉到我的到来

陪你玩到累了
陪你聊到困了
陪你睡到醒了

不愿你醒来
就这样一直守护
你在梦里呢喃的身影

不愿我醒来
就这样保持缄默
在填满花与光的世界的梦里
再一起相拥入眠</div><hr class="notion-hr notion-block-34f6bec17f7d8053978ad8f3e70145b0"/><h2 class="notion-h notion-h1 notion-h-indent-0 notion-block-34f6bec17f7d800eab7ed371f8f1f528" data-id="34f6bec17f7d800eab7ed371f8f1f528"><span><div id="34f6bec17f7d800eab7ed371f8f1f528" class="notion-header-anchor"></div><a class="notion-hash-link" href="#34f6bec17f7d800eab7ed371f8f1f528" title="烟雨的对面"><svg viewBox="0 0 16 16" width="16" height="16"><path fill-rule="evenodd" d="M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z"></path></svg></a><span class="notion-h-title">烟雨的对面</span></span></h2><div class="notion-blank notion-block-34f6bec17f7d80769494df91b12e3c2e"> </div><div class="notion-text notion-block-34f6bec17f7d80dd977bf9028c4b92b0">秋风画扇，执着归于何处
西风碧树，不必望尽天涯
旧梦阑珊，恣意大闹一场
空谷幽兰，何须孤芳自赏
竹杖芒鞋，且看烟雨平生</div><div class="notion-blank notion-block-34f6bec17f7d8034929cdcbcc502e1f6"> </div></main></div>]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[与自己对话（1）]]></title>
            <link>https://blog.xueayi.site/article/myself</link>
            <guid>https://blog.xueayi.site/article/myself</guid>
            <pubDate>Mon, 09 Feb 2026 00:00:00 GMT</pubDate>
            <description><![CDATA[我是谁？]]></description>
            <content:encoded><![CDATA[<div id="notion-article" class="mx-auto overflow-hidden "><main class="notion light-mode notion-page notion-block-3026bec17f7d802a9b04d3ddd263f595"><div class="notion-viewport"></div><div class="notion-collection-page-properties"></div><div class="notion-text notion-block-3026bec17f7d8063bd48e209f2342653">走了好长的一段路，但是还是学不会放下那些令我感到焦虑的心情，一点长进也没有。</div><div class="notion-text notion-block-3026bec17f7d80e4a7c6d64de432cb91">但也不是完全没有长进，至少现在不会被纯粹的感性驱使做一些不受控制的事，也渐渐学会了如何与情绪相处。那还差些什么呢？是不怕失去任何东西的决心吗？我是因此而痛苦着吗？我不清楚。</div><div class="notion-text notion-block-3026bec17f7d808899d0d0267576b565">世界很大，大到可以容纳所有欢欣与悲伤，大到你我都是天地间的蜉蝣毫不起眼，我们都是宇宙茫茫星际尘埃中的暗淡蓝点。今天你中了几百万彩票，明天你和她分手，后天谁谁谁永远离开……对于宇宙来说，它毫不在意，也毫无意义。</div><div class="notion-text notion-block-3026bec17f7d80919801c7ce2634ce03">但是世界也可以很小，小到一个动作一句话就能掀起你内心整个世界的风浪。</div><div class="notion-text notion-block-3026bec17f7d804280ccfacf1a01b113">看法很重要，心境很重要，观点很重要，立场很重要，你如何看待一件事取决于你用什么标准衡量。</div><div class="notion-text notion-block-3026bec17f7d8004b51dd8904a4918d3">今天觉得天塌了，明天也许会发生令你更加痛苦万分的事你又会觉得今天其实不错，我们都活着与认知的对比和无尽的欲望之中。虽然无法斩断刻在DNA里的连锁，但我们可以调节心态从而更加游刃有余地面对这些事情。</div><div class="notion-text notion-block-3026bec17f7d803cb503e5a86ffcd8bf">种一棵树，最好的时间是十年前，其次是现在。</div><div class="notion-text notion-block-3026bec17f7d809baf9bf83f11d55716">爱一个人，最好的距离是远可相守，近不相碍。</div></main></div>]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[榨干了两天Claude额度，我用Python+FFmpeg给团队写了个视频压制与质检工具——小雪工具箱]]></title>
            <link>https://blog.xueayi.site/article/xiaoxue</link>
            <guid>https://blog.xueayi.site/article/xiaoxue</guid>
            <pubDate>Sun, 11 Jan 2026 00:00:00 GMT</pubDate>
            <description><![CDATA[本项目推荐给需要快速完成压制、素材规格筛选、投稿违规风险素材检查的部分视频创作者和UP主。]]></description>
            <content:encoded><![CDATA[<div id="notion-article" class="mx-auto overflow-hidden "><main class="notion light-mode notion-page notion-block-2e56bec17f7d801fbf8bdc09a9e17eca"><div class="notion-viewport"></div><div class="notion-collection-page-properties"></div><div class="notion-text notion-block-2e56bec17f7d808fbdf1d8f82850651c">开源地址：<a class="notion-link" href="https://github.com/xueayi/XiaoXue-Video-Tools" target="_blank" rel="noopener noreferrer">https://github.com/xueayi/XiaoXue-Video-Tools</a></div><blockquote class="notion-quote notion-block-2e56bec17f7d8021863cf8a47a519665"><div>本项目推荐给需要快速完成压制、素材规格筛选、投稿违规风险素材检查的部分视频创作者和UP主。</div></blockquote><div class="notion-text notion-block-2e56bec17f7d80a390b8c6795de98f8e">此前团队B站投稿前一直用小丸工具箱压制，但是转眼一看小丸工具箱已经十年没更新了，ffmpeg的版本已经跟不上时代了，而且眼下团队内也有一些特定的新需求，于是一拍脑门把之前酝酿许久的“ffmpeg套壳计划”搬了出来。
前端用的Gooey，后端用的python（别问为什么是python，问就是别的不会）。从周五写到周日，爆肝腰酸背痛脖子疼。总算用我蹩脚的开发能力和强大的AI赋能搞定了这个小工具箱，自己还是挺满意的。“我们两个真厉害！”
基本算是榨干了antigravity每五个小时更新的Claude额度。
这里顺便推荐一下antigravity额度监控插件、以及隔壁佬友开发的不用tun就能强制代理antigravity的插件</div><ul class="notion-list notion-list-disc notion-block-2e56bec17f7d80498a64d21281281e86"><li><a class="notion-link" href="https://github.com/wusimpl/AntigravityQuotaWatcher" target="_blank" rel="noopener noreferrer">https://github.com/wusimpl/AntigravityQuotaWatcher</a></li></ul><ul class="notion-list notion-list-disc notion-block-2e56bec17f7d803fab5af9010020497d"><li><a class="notion-link" href="https://linux.do/t/topic/1422119" target="_blank" rel="noopener noreferrer">https://linux.do/t/topic/1422119</a></li></ul><div class="notion-text notion-block-2e56bec17f7d8068b298e5ed7cb06e4d">虽然也是个重复造轮子的工程，市面上确实已经有很多FFmpeg的图形界面工具了，比如ShanaEncoder、HandBrake等等。不过果然还是根据自己的需求做的工具用起来能最直接地解决痛点，有一些在实际团队协作过程中需要用到的功能还是自己加上来得实在。</div><h2 class="notion-h notion-h1 notion-h-indent-0 notion-block-2e56bec17f7d805986f0f62456c33161" data-id="2e56bec17f7d805986f0f62456c33161"><span><div id="2e56bec17f7d805986f0f62456c33161" class="notion-header-anchor"></div><a class="notion-hash-link" href="#2e56bec17f7d805986f0f62456c33161" title="工具名称：小雪工具箱"><svg viewBox="0 0 16 16" width="16" height="16"><path fill-rule="evenodd" d="M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z"></path></svg></a><span class="notion-h-title">工具名称：小雪工具箱</span></span></h2><h4 class="notion-h notion-h3 notion-h-indent-1 notion-block-2e56bec17f7d8059a56aebb2b45377da" data-id="2e56bec17f7d8059a56aebb2b45377da"><span><div id="2e56bec17f7d8059a56aebb2b45377da" class="notion-header-anchor"></div><a class="notion-hash-link" href="#2e56bec17f7d8059a56aebb2b45377da" title="核心特色"><svg viewBox="0 0 16 16" width="16" height="16"><path fill-rule="evenodd" d="M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z"></path></svg></a><span class="notion-h-title">核心特色</span></span></h4><ol start="1" class="notion-list notion-list-numbered notion-block-2e56bec17f7d80eaac10ca839604d463" style="list-style-type:decimal"><li><b>预设压制预设，也允许高级输入</b></li></ol><ul class="notion-list notion-list-disc notion-block-2e56bec17f7d800397cec8b03310b5bb"><li>内置了多档预设。</li></ul><ul class="notion-list notion-list-disc notion-block-2e56bec17f7d803b873dda01e9d5cce8"><li>预设常用编码方式和参数选项。</li></ul><div class="notion-text notion-block-2e56bec17f7d80238f52dcf75a009308">因为团队流程中一些压制参数比较固定，比如B站投稿的最终压制，或是一些时候需要快速导出预览，所以预设常用配置就很关键。有时候也需要做一些优化调整，所以保留自由度也是很重要的。</div><figure class="notion-asset-wrapper notion-asset-wrapper-image notion-block-2e56bec17f7d80719f4ed2951372938d"><div style="position:relative;display:flex;justify-content:center;align-self:center;width:100%;max-width:100%;flex-direction:column;height:100%"><img style="object-fit:cover" src="https://www.notion.so/image/attachment%3Adbe12f23-af65-4515-beb3-40bed1867ede%3Aimage1.png?table=block&amp;id=2e56bec1-7f7d-8071-9f4e-d2951372938d&amp;t=2e56bec1-7f7d-8071-9f4e-d2951372938d" alt="notion image" loading="lazy" decoding="async"/></div></figure><ol start="1" class="notion-list notion-list-numbered notion-block-2e56bec17f7d80209cbcdf50a237b78f" style="list-style-type:decimal"><li><b>字幕兼容模式（参考小丸工具箱的处理方案）</b></li></ol><ul class="notion-list notion-list-disc notion-block-2e56bec17f7d8025aeb0f9e7b492fbea"><li>很多时候压制用ffmpeg原生的libass压制带字幕的视频，字体显示会出问题。这是因为原生滤镜不能识别多字重字体文件的不同字重，而Windows系统却能识别，因此需要用一种所见即所得的方案替代原生模式的压制。</li></ul><ul class="notion-list notion-list-disc notion-block-2e56bec17f7d80c295dfcdc8b0057a4e"><li>内置<b>AviSynth + VSFilter</b>，无需安装任何额外插件，开启“兼容模式”就能渲染大部分出现上述问题的字幕。</li></ul><ol start="1" class="notion-list notion-list-numbered notion-block-2e56bec17f7d805a9729d1c390299bd1" style="list-style-type:decimal"><li><b>素材质量检测 (QC)</b></li></ol><ul class="notion-list notion-list-disc notion-block-2e56bec17f7d80e9b126e9d1b4a1f069"><li>团队协作时，经常收到格式不对的素材或者质量不达标的素材，分辨率、码率一个一个检查太费时间。</li></ul><ul class="notion-list notion-list-disc notion-block-2e56bec17f7d8083bfb9c6b2c830f990"><li>工具箱可以一键检测视频的码率、分辨率、兼容性，并生成检测报告，把控素材质量。</li></ul><figure class="notion-asset-wrapper notion-asset-wrapper-image notion-block-2e56bec17f7d809197c9c4f638214c72"><div style="position:relative;display:flex;justify-content:center;align-self:center;width:100%;max-width:100%;flex-direction:column;height:100%"><img style="object-fit:cover" src="https://www.notion.so/image/attachment%3Aafb3b763-31be-489a-a4d1-c0f08bd06af3%3Aimage2.png?table=block&amp;id=2e56bec1-7f7d-8091-97c9-c4f638214c72&amp;t=2e56bec1-7f7d-8091-97c9-c4f638214c72" alt="notion image" loading="lazy" decoding="async"/></div></figure><ol start="1" class="notion-list notion-list-numbered notion-block-2e56bec17f7d80d9b224e1652ffa0d6b" style="list-style-type:decimal"><li><b>实用的效率小工具</b></li></ol><ul class="notion-list notion-list-disc notion-block-2e56bec17f7d8048bfa8e71b12861ee7"><li><b>批量管理</b>：文件夹批量创建、序列重命名（治愈强迫症）。</li></ul><ul class="notion-list notion-list-disc notion-block-2e56bec17f7d8008b9dfed8ec731626e"><li><b>通知系统</b>：长时间的压制任务做完了支持飞书通知或自定义 Webhook，不用一直盯着屏幕。任务完成可以自动发送消息到飞书或QQ。</li></ul><ul class="notion-list notion-list-disc notion-block-2e56bec17f7d807cab7ce8a76e62780a"><li><b>Shield 增强版</b>：甚至集成了有过审风险图片识别功能，帮团队预判 B 站/平台的过审风险。</li></ul><figure class="notion-asset-wrapper notion-asset-wrapper-image notion-block-2e56bec17f7d8098a95ccca92222704f"><div style="position:relative;display:flex;justify-content:center;align-self:center;width:100%;max-width:100%;flex-direction:column;height:100%"><img style="object-fit:cover" src="https://www.notion.so/image/attachment%3Ae5678c13-2e8f-499c-a919-68cf63fcae62%3Aimage3.png?table=block&amp;id=2e56bec1-7f7d-8098-a95c-cca92222704f&amp;t=2e56bec1-7f7d-8098-a95c-cca92222704f" alt="notion image" loading="lazy" decoding="async"/></div></figure><div class="notion-text notion-block-2e56bec17f7d8037b702fab4823db661">有一些不合理的地方或者可改进的建议欢迎大佬们提出，希望能把这个工具做好！
（求各路大佬们顺手给个star）</div></main></div>]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[如何优雅地异地组网？超详细的WireGuard安装与使用说明]]></title>
            <link>https://blog.xueayi.site/article/wireguard</link>
            <guid>https://blog.xueayi.site/article/wireguard</guid>
            <pubDate>Mon, 22 Dec 2025 00:00:00 GMT</pubDate>
            <description><![CDATA[本文将带你一步步在 Ubuntu 22.04 上搭建 WireGuard 服务端，配置客户端，并通过脚本实现自动化管理，最后完成多地局域网互联。]]></description>
            <content:encoded><![CDATA[<div id="notion-article" class="mx-auto overflow-hidden "><main class="notion light-mode notion-page notion-block-2d16bec17f7d8010901fe6e8e4481ce7"><div class="notion-viewport"></div><div class="notion-collection-page-properties"></div><div class="notion-text notion-block-2d16bec17f7d807d8a09e47cbe3e4cfa">你是否遇到过这样的场景：在咖啡厅想访问家里的 NAS 存取文件？或者作为开发者，需要在异地调试公司内网的服务器？WireGuard则可以成为你安全又优雅地进行异地组网方案。</div><div class="notion-text notion-block-2d16bec17f7d80c7a3acdae0dd0d4325">WireGuard 是被直接合并入 Linux 内核的新一代 VPN 协议，它以<b>极简的代码、极高的性能和秒连的体验</b>著称。</div><div class="notion-text notion-block-2d16bec17f7d80fcb19df908fd58bc1b">本文将带你一步步在 Ubuntu 22.04 上搭建 WireGuard 服务端，配置客户端，并通过脚本实现自动化管理，最后完成多地局域网互联。</div><figure class="notion-asset-wrapper notion-asset-wrapper-image notion-block-2d16bec17f7d8065af98dc9f0c3dff45"><div style="position:relative;display:flex;justify-content:center;align-self:center;width:100%;max-width:100%;flex-direction:column;height:320px"><img style="object-fit:cover" src="https://www.notion.so/image/attachment%3Ab28fdb56-230d-4156-bba7-bafd9f81038f%3A3ce894d6-a386-4749-b69c-a7bd42505c9b.png?table=block&amp;id=2d16bec1-7f7d-8065-af98-dc9f0c3dff45&amp;t=2d16bec1-7f7d-8065-af98-dc9f0c3dff45" alt="WireGuard 组网拓扑示意图" loading="lazy" decoding="async"/><figcaption class="notion-asset-caption">WireGuard 组网拓扑示意图</figcaption></div></figure><div class="notion-blank notion-block-2d16bec17f7d80269246e56a61ffc925"> </div><hr class="notion-hr notion-block-2d16bec17f7d80ea8618f231690a4e96"/><h3 class="notion-h notion-h2 notion-h-indent-0 notion-block-2d16bec17f7d80bfa1eacc00441bd2c4" data-id="2d16bec17f7d80bfa1eacc00441bd2c4"><span><div id="2d16bec17f7d80bfa1eacc00441bd2c4" class="notion-header-anchor"></div><a class="notion-hash-link" href="#2d16bec17f7d80bfa1eacc00441bd2c4" title="一、 服务端部署"><svg viewBox="0 0 16 16" width="16" height="16"><path fill-rule="evenodd" d="M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z"></path></svg></a><span class="notion-h-title">一、 服务端部署</span></span></h3><div class="notion-text notion-block-2d16bec17f7d80deb700fc942297a3d7">首先，我们需要一台拥有公网 IP 的服务器（VPS）作为中转枢纽。</div><h4 class="notion-h notion-h3 notion-h-indent-1 notion-block-2d16bec17f7d80f4b820dc038028dc74" data-id="2d16bec17f7d80f4b820dc038028dc74"><span><div id="2d16bec17f7d80f4b820dc038028dc74" class="notion-header-anchor"></div><a class="notion-hash-link" href="#2d16bec17f7d80f4b820dc038028dc74" title="1. 安装与密钥生成"><svg viewBox="0 0 16 16" width="16" height="16"><path fill-rule="evenodd" d="M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z"></path></svg></a><span class="notion-h-title">1. 安装与密钥生成</span></span></h4><div class="notion-text notion-block-2d16bec17f7d807b9076cfca1085b78a">更新软件源并安装 WireGuard：</div><div class="notion-text notion-block-2d16bec17f7d80cb9112cfed0456476a">WireGuard 的安全机制基于<b>公钥</b>和<b>私钥</b>。</div><div class="notion-text notion-block-2d16bec17f7d80a8a748e66104cc3371">生成服务端的密钥对：</div><h4 class="notion-h notion-h3 notion-h-indent-1 notion-block-2d16bec17f7d80cfbf34c0944a71a941" data-id="2d16bec17f7d80cfbf34c0944a71a941"><span><div id="2d16bec17f7d80cfbf34c0944a71a941" class="notion-header-anchor"></div><a class="notion-hash-link" href="#2d16bec17f7d80cfbf34c0944a71a941" title="2. 服务端核心配置"><svg viewBox="0 0 16 16" width="16" height="16"><path fill-rule="evenodd" d="M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z"></path></svg></a><span class="notion-h-title">2. 服务端核心配置</span></span></h4><div class="notion-text notion-block-2d16bec17f7d80c09bb2e4f19f3a22ba">我们需要规划一个虚拟网段，例如 <code class="notion-inline-code">10.8.0.0/24</code>。服务端本身占用 <code class="notion-inline-code">10.8.0.1</code>。</div><div class="notion-text notion-block-2d16bec17f7d8083b28ace38750d2ebf">创建并编辑配置文件：</div><blockquote class="notion-quote notion-block-2d16bec17f7d808f8ea5e758675d61a8"><div>注： PostUp 和 PostDown 中的命令非常关键。它们指示系统在 WireGuard 启动和关闭时，自动配置 iptables 防火墙规则，允许流量转发（NAT），从而让客户端能通过服务器上网。</div></blockquote><h4 class="notion-h notion-h3 notion-h-indent-1 notion-block-2d16bec17f7d8097b0e1c1a741f0302d" data-id="2d16bec17f7d8097b0e1c1a741f0302d"><span><div id="2d16bec17f7d8097b0e1c1a741f0302d" class="notion-header-anchor"></div><a class="notion-hash-link" href="#2d16bec17f7d8097b0e1c1a741f0302d" title="3. 开启内核转发"><svg viewBox="0 0 16 16" width="16" height="16"><path fill-rule="evenodd" d="M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z"></path></svg></a><span class="notion-h-title">3. 开启内核转发</span></span></h4><div class="notion-text notion-block-2d16bec17f7d807c9193cc57f3a18833">为了让服务器能转发流量，必须开启系统的 IP 转发功能：</div><h4 class="notion-h notion-h3 notion-h-indent-1 notion-block-2d16bec17f7d8026a6f6c2b4d1168531" data-id="2d16bec17f7d8026a6f6c2b4d1168531"><span><div id="2d16bec17f7d8026a6f6c2b4d1168531" class="notion-header-anchor"></div><a class="notion-hash-link" href="#2d16bec17f7d8026a6f6c2b4d1168531" title="4. 启动服务"><svg viewBox="0 0 16 16" width="16" height="16"><path fill-rule="evenodd" d="M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z"></path></svg></a><span class="notion-h-title">4. 启动服务</span></span></h4><div class="notion-text notion-block-2d16bec17f7d80999ff7e13e79a54a2a">启动 WireGuard 并设置开机自启：</div><div class="notion-text notion-block-2d16bec17f7d808a91c2ca07288531e7">请注意，服务名称 `wg-quick@wg0` 对应配置文件 `/etc/wireguard/wg0.conf`。你也可以创建 `prod.conf` 并通过 `wg-quick@prod` 启动，从而在一台机器上管理多个 VPN 通道。</div><div class="notion-text notion-block-2d16bec17f7d80188fd3ea51f8007659"><b>切记：</b> 在云服务商的后台（AWS/阿里云/腾讯云等）放行你设置的UDP监听端口，如我们的例子中 UDP 端口是 <code class="notion-inline-code">51821</code>。</div><hr class="notion-hr notion-block-2d16bec17f7d808ab285f25077976c3f"/><h3 class="notion-h notion-h2 notion-h-indent-0 notion-block-2d16bec17f7d80f391e8cebb210f13f8" data-id="2d16bec17f7d80f391e8cebb210f13f8"><span><div id="2d16bec17f7d80f391e8cebb210f13f8" class="notion-header-anchor"></div><a class="notion-hash-link" href="#2d16bec17f7d80f391e8cebb210f13f8" title="二、 客户端接入"><svg viewBox="0 0 16 16" width="16" height="16"><path fill-rule="evenodd" d="M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z"></path></svg></a><span class="notion-h-title">二、 客户端接入</span></span></h3><div class="notion-text notion-block-2d16bec17f7d806aa2e8fde090e0138d">现在我们需要让一台设备（比如你的笔记本）连上这个服务端。</div><h4 class="notion-h notion-h3 notion-h-indent-1 notion-block-2d16bec17f7d801eb2b1c566bfb17331" data-id="2d16bec17f7d801eb2b1c566bfb17331"><span><div id="2d16bec17f7d801eb2b1c566bfb17331" class="notion-header-anchor"></div><a class="notion-hash-link" href="#2d16bec17f7d801eb2b1c566bfb17331" title="1. 手动创建流程"><svg viewBox="0 0 16 16" width="16" height="16"><path fill-rule="evenodd" d="M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z"></path></svg></a><span class="notion-h-title">1. 手动创建流程</span></span></h4><div class="notion-text notion-block-2d16bec17f7d807cb912cdc3b0189149">如果你想理解原理，可以手动走一遍流程。</div><div class="notion-text notion-block-2d16bec17f7d808aa2a9e73c34bb9cde"><b>步骤 A：客户端生成密钥</b></div><div class="notion-text notion-block-2d16bec17f7d80cc9388f3723e131f8a"><b>步骤 B：配置客户端 (</b><code class="notion-inline-code"><b>wg0.conf</b></code><b>或在软件中直接进行编辑)</b></div><div class="notion-text notion-block-2d16bec17f7d80d7a34ed30c897bb81c"><b>步骤 C：服务端添加客户端公钥</b></div><div class="notion-text notion-block-2d16bec17f7d8075ba57f4e57032cfa2">回到服务端执行：</div><h4 class="notion-h notion-h3 notion-h-indent-1 notion-block-2d16bec17f7d80a9952fd1f414230455" data-id="2d16bec17f7d80a9952fd1f414230455"><span><div id="2d16bec17f7d80a9952fd1f414230455" class="notion-header-anchor"></div><a class="notion-hash-link" href="#2d16bec17f7d80a9952fd1f414230455" title="2. 效率进阶：自动化脚本管理"><svg viewBox="0 0 16 16" width="16" height="16"><path fill-rule="evenodd" d="M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z"></path></svg></a><span class="notion-h-title">2. 效率进阶：自动化脚本管理</span></span></h4><div class="notion-text notion-block-2d16bec17f7d803db286d3af8707e357">手动配置容易出错且繁琐。这里提供两个 Shell 脚本，分别用于<b>一键添加</b>和<b>一键删除</b>节点。</div><h4 class="notion-h notion-h3 notion-h-indent-1 notion-block-2d16bec17f7d80fd9d19d2e75d017336" data-id="2d16bec17f7d80fd9d19d2e75d017336"><span><div id="2d16bec17f7d80fd9d19d2e75d017336" class="notion-header-anchor"></div><a class="notion-hash-link" href="#2d16bec17f7d80fd9d19d2e75d017336" title="脚本一：创建节点 (create_client.sh)"><svg viewBox="0 0 16 16" width="16" height="16"><path fill-rule="evenodd" d="M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z"></path></svg></a><span class="notion-h-title">脚本一：创建节点 (create_client.sh)</span></span></h4><div class="notion-text notion-block-2d16bec17f7d806ca859fe4cbac6a08a">此脚本会自动分配 IP、生成配置，甚至可以生成手机端所需的二维码（需安装 <code class="notion-inline-code">qrencode</code>）。请修改脚本头部和客户端的配置区以适配你的服务器。</div><div class="notion-text notion-block-2d16bec17f7d80e5956bd2c4e3ec203a">记得给脚本加上可执行权限（chmod +x xxx.sh）</div><h4 class="notion-h notion-h3 notion-h-indent-1 notion-block-2d16bec17f7d80a1b4f0ce98427a3c7c" data-id="2d16bec17f7d80a1b4f0ce98427a3c7c"><span><div id="2d16bec17f7d80a1b4f0ce98427a3c7c" class="notion-header-anchor"></div><a class="notion-hash-link" href="#2d16bec17f7d80a1b4f0ce98427a3c7c" title="脚本二：删除节点 (remove_client.sh)"><svg viewBox="0 0 16 16" width="16" height="16"><path fill-rule="evenodd" d="M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z"></path></svg></a><span class="notion-h-title">脚本二：删除节点 (remove_client.sh)</span></span></h4><div class="notion-text notion-block-2d16bec17f7d809b8097f65b8caa5ec7">此脚本会清理运行中的接口、配置文件以及本地的密钥备份，保持环境整洁。</div><hr class="notion-hr notion-block-2d16bec17f7d800bb9abf19d625dd739"/><h3 class="notion-h notion-h2 notion-h-indent-0 notion-block-2d16bec17f7d8002b41ada20f6160481" data-id="2d16bec17f7d8002b41ada20f6160481"><span><div id="2d16bec17f7d8002b41ada20f6160481" class="notion-header-anchor"></div><a class="notion-hash-link" href="#2d16bec17f7d8002b41ada20f6160481" title="三、 高级篇：路由转发与多地组网"><svg viewBox="0 0 16 16" width="16" height="16"><path fill-rule="evenodd" d="M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z"></path></svg></a><span class="notion-h-title">三、 高级篇：路由转发与多地组网</span></span></h3><div class="notion-text notion-block-2d16bec17f7d80d38b73caaa26cfa511">这是 WireGuard 最强大的功能之一。我们不仅要连接单个设备，还要让不同地点的<b>整个局域网</b>互通（Site-to-Site VPN）。</div><div class="notion-text notion-block-2d16bec17f7d8042bcf0e8f2b0778c42">例如：将<b>办公室网络</b> (<code class="notion-inline-code">192.168.2.x</code>) 和<b>家庭网络</b> (<code class="notion-inline-code">192.168.1.x</code>) 通过公网 VPS (<code class="notion-inline-code">10.100.0.1</code>) 连在一起。</div><figure class="notion-asset-wrapper notion-asset-wrapper-image notion-block-2d16bec17f7d80299a2ac9c8194d2e8b"><div style="position:relative;display:flex;justify-content:center;align-self:center;width:100%;max-width:100%;flex-direction:column;height:100%"><img style="object-fit:cover" src="https://www.notion.so/image/attachment%3A40bdd473-74ac-42e3-a8cf-b49fe2459c2f%3Aimage.png?table=block&amp;id=2d16bec1-7f7d-8029-9a2a-c9c8194d2e8b&amp;t=2d16bec1-7f7d-8029-9a2a-c9c8194d2e8b" alt="notion image" loading="lazy" decoding="async"/></div></figure><h4 class="notion-h notion-h3 notion-h-indent-1 notion-block-2d16bec17f7d802c9716ecf39752b7a2" data-id="2d16bec17f7d802c9716ecf39752b7a2"><span><div id="2d16bec17f7d802c9716ecf39752b7a2" class="notion-header-anchor"></div><a class="notion-hash-link" href="#2d16bec17f7d802c9716ecf39752b7a2" title="1. 核心概念：AllowedIPs"><svg viewBox="0 0 16 16" width="16" height="16"><path fill-rule="evenodd" d="M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z"></path></svg></a><span class="notion-h-title">1. 核心概念：AllowedIPs</span></span></h4><div class="notion-text notion-block-2d16bec17f7d80b79a7fc288bf95e55e">理解 <code class="notion-inline-code">AllowedIPs</code> 是搞定路由转发的关键：</div><ul class="notion-list notion-list-disc notion-block-2d16bec17f7d805288fec39f71759e31"><li><b>在客户端（发起端）</b>：它的意思是“<b>我想去哪里？</b>”。如果填入 <code class="notion-inline-code">192.168.1.0/24</code>，那么访问家庭局域网的流量就会被送入 VPN 隧道。</li></ul><ul class="notion-list notion-list-disc notion-block-2d16bec17f7d801193b3f612b16c4ca1"><li><b>在服务端</b>：它的意思是“<b>谁可以使用这个 IP？</b>”以及“<b>去往这个网段的包该给谁？</b>”。如果你告诉服务端 Peer A 的 AllowedIPs 是 <code class="notion-inline-code">192.168.1.0/24</code>，那么服务端收到发往 <code class="notion-inline-code">192.168.1.x</code> 的数据包时，就知道要转发给 Peer A。</li></ul><h4 class="notion-h notion-h3 notion-h-indent-1 notion-block-2d16bec17f7d80eb86f1c977262666d3" data-id="2d16bec17f7d80eb86f1c977262666d3"><span><div id="2d16bec17f7d80eb86f1c977262666d3" class="notion-header-anchor"></div><a class="notion-hash-link" href="#2d16bec17f7d80eb86f1c977262666d3" title="2. 准备工作清单"><svg viewBox="0 0 16 16" width="16" height="16"><path fill-rule="evenodd" d="M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z"></path></svg></a><span class="notion-h-title">2. 准备工作清单</span></span></h4><div class="notion-text notion-block-2d16bec17f7d809b8a12fdcadecc8212">在开始之前，请确保完成以下 Checklist：</div><div class="notion-to-do notion-block-2d16bec17f7d80acaed1fe15fdeb5d29"><div class="notion-to-do-item"><span class="notion-property notion-property-checkbox"><div class="notion-property-checkbox-unchecked"></div></span><div class="notion-to-do-body">所有 WireGuard 服务器/网关均已开启 <code class="notion-inline-code">net.ipv4.ip_forward=1</code>。</div></div><div class="notion-to-do-children"></div></div><div class="notion-to-do notion-block-2d16bec17f7d80abb191fd50d5f74916"><div class="notion-to-do-item"><span class="notion-property notion-property-checkbox"><div class="notion-property-checkbox-unchecked"></div></span><div class="notion-to-do-body">服务器 <code class="notion-inline-code">wg0.conf</code> 中配置了 <code class="notion-inline-code">iptables</code> NAT 规则 (<code class="notion-inline-code">MASQUERADE</code>)。</div></div><div class="notion-to-do-children"></div></div><div class="notion-to-do notion-block-2d16bec17f7d80a59d31d8d45c02b784"><div class="notion-to-do-item"><span class="notion-property notion-property-checkbox"><div class="notion-property-checkbox-unchecked"></div></span><div class="notion-to-do-body">确保不同地点的局域网网段<b>不冲突</b>（例如家里用 192.168.1.x，公司用 192.168.2.x）。</div></div><div class="notion-to-do-children"></div></div><h4 class="notion-h notion-h3 notion-h-indent-1 notion-block-2d16bec17f7d806386faf89c567b6a64" data-id="2d16bec17f7d806386faf89c567b6a64"><span><div id="2d16bec17f7d806386faf89c567b6a64" class="notion-header-anchor"></div><a class="notion-hash-link" href="#2d16bec17f7d806386faf89c567b6a64" title="3. OpenWrt 客户端设置（作为家庭网关）"><svg viewBox="0 0 16 16" width="16" height="16"><path fill-rule="evenodd" d="M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z"></path></svg></a><span class="notion-h-title">3. OpenWrt 客户端设置（作为家庭网关）</span></span></h4><div class="notion-text notion-block-2d16bec17f7d8002858be345d8e20a06">在家庭的 OpenWrt 路由器上配置 WireGuard：</div><ol start="1" class="notion-list notion-list-numbered notion-block-2d16bec17f7d809a9f5deb4f5c9d300b" style="list-style-type:decimal"><li><b>创建接口</b>：添加 WireGuard 接口，填入私钥和 VPS 的公钥。</li></ol><ol start="2" class="notion-list notion-list-numbered notion-block-2d16bec17f7d80f08bbfcccd7cad15d9" style="list-style-type:decimal"><li><b>配置 AllowedIPs</b>：填入 <code class="notion-inline-code">10.100.0.0/24</code> (VPN网段) 和 <code class="notion-inline-code">192.168.2.0/24</code> (你需要访问的公司网段)。</li></ol><ol start="3" class="notion-list notion-list-numbered notion-block-2d16bec17f7d80288e71d923fd099d9b" style="list-style-type:decimal"><li><b>开启防火墙转发</b>：</li><ol class="notion-list notion-list-numbered notion-block-2d16bec17f7d80288e71d923fd099d9b" style="list-style-type:lower-alpha"><ul class="notion-list notion-list-disc notion-block-2d16bec17f7d804fa5f0f5b6c3a89b42"><li>在防火墙设置中，将 WireGuard 接口加入一个新的区域（如 <code class="notion-inline-code">vpn_zone</code>）。</li></ul><ul class="notion-list notion-list-disc notion-block-2d16bec17f7d8040b448cc0e4c817f34"><li>允许 <code class="notion-inline-code">lan</code> 到 <code class="notion-inline-code">vpn_zone</code> 的转发。</li></ul><ul class="notion-list notion-list-disc notion-block-2d16bec17f7d8011a617d50820e3e8bf"><li><b>重要</b>：开启 IP 动态伪装（Masquerading）。</li></ul></ol></ol><ol start="4" class="notion-list notion-list-numbered notion-block-2d16bec17f7d80aa8370d1177a546a0d" style="list-style-type:decimal"><li><b>系统内核转发</b>：</li></ol><figure class="notion-asset-wrapper notion-asset-wrapper-image notion-block-2d16bec17f7d805fb01cfadea90c9e77"><div style="position:relative;display:flex;justify-content:center;align-self:center;width:100%;max-width:100%;flex-direction:column;height:100%"><img style="object-fit:cover" src="https://www.notion.so/image/attachment%3A72cbecd2-4ce9-4f95-adb4-1823df94290f%3Aimage.png?table=block&amp;id=2d16bec1-7f7d-805f-b01c-fadea90c9e77&amp;t=2d16bec1-7f7d-805f-b01c-fadea90c9e77" alt="OpenWrt 后台防火墙区域设置截图" loading="lazy" decoding="async"/><figcaption class="notion-asset-caption">OpenWrt 后台防火墙区域设置截图</figcaption></div></figure><h4 class="notion-h notion-h3 notion-h-indent-1 notion-block-2d16bec17f7d8022bcdee1a363721561" data-id="2d16bec17f7d8022bcdee1a363721561"><span><div id="2d16bec17f7d8022bcdee1a363721561" class="notion-header-anchor"></div><a class="notion-hash-link" href="#2d16bec17f7d8022bcdee1a363721561" title="4. 完整配置示例"><svg viewBox="0 0 16 16" width="16" height="16"><path fill-rule="evenodd" d="M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z"></path></svg></a><span class="notion-h-title">4. 完整配置示例</span></span></h4><div class="notion-text notion-block-2d16bec17f7d80cdb608cd4b34551505">假设网络拓扑如下：</div><ul class="notion-list notion-list-disc notion-block-2d16bec17f7d80059a2ec8f9b7c106d7"><li><b>中转服务器 (VPS)</b>: 虚拟IP <code class="notion-inline-code">10.100.0.1</code></li></ul><ul class="notion-list notion-list-disc notion-block-2d16bec17f7d8042a5beea3f2a23868a"><li><b>家 (Home)</b>: 虚拟IP <code class="notion-inline-code">10.100.0.2</code>，局域网 <code class="notion-inline-code">192.168.1.0/24</code></li></ul><ul class="notion-list notion-list-disc notion-block-2d16bec17f7d8034a791cf5686e35adc"><li><b>公司 (Office)</b>: 虚拟IP <code class="notion-inline-code">10.100.0.3</code>，局域网 <code class="notion-inline-code">192.168.2.0/24</code></li></ul><h4 class="notion-h notion-h3 notion-h-indent-1 notion-block-2d16bec17f7d808c9f70d94fbc8ccd46" data-id="2d16bec17f7d808c9f70d94fbc8ccd46"><span><div id="2d16bec17f7d808c9f70d94fbc8ccd46" class="notion-header-anchor"></div><a class="notion-hash-link" href="#2d16bec17f7d808c9f70d94fbc8ccd46" title="A. 中转服务器 (VPS) 配置"><svg viewBox="0 0 16 16" width="16" height="16"><path fill-rule="evenodd" d="M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z"></path></svg></a><span class="notion-h-title">A. 中转服务器 (VPS) 配置</span></span></h4><h4 class="notion-h notion-h3 notion-h-indent-1 notion-block-2d16bec17f7d8053a098c84d956027a9" data-id="2d16bec17f7d8053a098c84d956027a9"><span><div id="2d16bec17f7d8053a098c84d956027a9" class="notion-header-anchor"></div><a class="notion-hash-link" href="#2d16bec17f7d8053a098c84d956027a9" title="B. 家 (Home) 配置"><svg viewBox="0 0 16 16" width="16" height="16"><path fill-rule="evenodd" d="M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z"></path></svg></a><span class="notion-h-title">B. 家 (Home) 配置</span></span></h4><h4 class="notion-h notion-h3 notion-h-indent-1 notion-block-2d16bec17f7d804ab79ec217d6129fb2" data-id="2d16bec17f7d804ab79ec217d6129fb2"><span><div id="2d16bec17f7d804ab79ec217d6129fb2" class="notion-header-anchor"></div><a class="notion-hash-link" href="#2d16bec17f7d804ab79ec217d6129fb2" title="C. 公司 (Office) 配置"><svg viewBox="0 0 16 16" width="16" height="16"><path fill-rule="evenodd" d="M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z"></path></svg></a><span class="notion-h-title">C. 公司 (Office) 配置</span></span></h4><div class="notion-text notion-block-2d16bec17f7d80a5a278e5fe2ff9e216">配置完成后，当你身在公司，Ping <code class="notion-inline-code">192.168.1.x</code> 即可直通家里的设备，反之亦然。</div><hr class="notion-hr notion-block-2d16bec17f7d80889193f18d4b658ecd"/><div class="notion-text notion-block-2d16bec17f7d80e7a2a6e703d6ccc919">希望这篇指南能帮你顺利搭建起自己的安全网络！</div><div class="notion-text notion-block-2d16bec17f7d80dfbe87d957ea43a3c3">附wireguard常用命令：</div><div class="notion-text notion-block-2d16bec17f7d80299b75f8a3d331912a"><b>参考资料：</b></div><ul class="notion-list notion-list-disc notion-block-2d16bec17f7d80a0a228f85dfe87ee53"><li><a class="notion-link" href="https://cainiaojiaocheng.com/%E5%A6%82%E4%BD%95%E5%9C%A8Ubuntu22.04%E4%B8%8A%E8%AE%BE%E7%BD%AEWireGuard" target="_blank" rel="noopener noreferrer">如何在Ubuntu22.04上设置WireGuard - 菜鸟教程</a></li></ul><div class="notion-blank notion-block-2d16bec17f7d802c8909c5e90a80de4a"> </div></main></div>]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[漫画媒体管理器Komga——三分钟部署一个docker（1）]]></title>
            <link>https://blog.xueayi.site/article/komga</link>
            <guid>https://blog.xueayi.site/article/komga</guid>
            <pubDate>Thu, 17 Apr 2025 00:00:00 GMT</pubDate>
            <description><![CDATA[本文的目的是让有一定docker基础的小伙伴快速了解和部署有趣好玩的docker，docker-compose的配置我会放在文章结尾，不想花时间看介绍的小伙伴可以直接跳到最后。]]></description>
            <content:encoded><![CDATA[<div id="notion-article" class="mx-auto overflow-hidden "><main class="notion light-mode notion-page notion-block-1d86bec17f7d80e9b3bbe205a780cb0e"><div class="notion-viewport"></div><div class="notion-collection-page-properties"></div><div class="notion-text notion-block-1d86bec17f7d80dcaf88e99752a3da86">本文的目的是让有一定docker基础的小伙伴快速了解和部署有趣好玩的docker，docker-compose的配置我会放在文章结尾，不想花时间看介绍的小伙伴可以直接跳到最后。</div><h2 class="notion-h notion-h1 notion-h-indent-0 notion-block-1d86bec17f7d80c9bbfffe404e72d660" data-id="1d86bec17f7d80c9bbfffe404e72d660"><span><div id="1d86bec17f7d80c9bbfffe404e72d660" class="notion-header-anchor"></div><a class="notion-hash-link" href="#1d86bec17f7d80c9bbfffe404e72d660" title="什么是Komga以及BangumiKomga"><svg viewBox="0 0 16 16" width="16" height="16"><path fill-rule="evenodd" d="M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z"></path></svg></a><span class="notion-h-title"><b>什么是Komga以及BangumiKomga</b></span></span></h2><div class="notion-text notion-block-1d86bec17f7d8004b54bcb389abadc13">komga是一个开源的漫画书籍管理器及阅览器，它也可以通过插件作为私有图源添加到mihon中在移动设备上观看。</div><div class="notion-text notion-block-1d86bec17f7d809c83c6df0c2dc914bd">komga本身支持导入epub、zip等归档整理好的漫画资源，不支持导入散图，这个需要注意一下。</div><div class="notion-text notion-block-1d86bec17f7d80d79f77d4768a06b33b">BangumiKomga是可以搭配komga使用的元数据刮削器，它会调用bangumi的api接口对komga中的漫画进行元数据收集整理，使用用户token可以刮削NSFW作品的元数据。</div><div class="notion-text notion-block-1d86bec17f7d8094afe9f617dc8349fe">想通过docker部署以上项目的话你最好首先有一个本地服务器（如nas）或者云服务器。</div><h2 class="notion-h notion-h1 notion-h-indent-0 notion-block-1d86bec17f7d8070a476d1e901b43f6e" data-id="1d86bec17f7d8070a476d1e901b43f6e"><span><div id="1d86bec17f7d8070a476d1e901b43f6e" class="notion-header-anchor"></div><a class="notion-hash-link" href="#1d86bec17f7d8070a476d1e901b43f6e" title="快速链接和参考文章"><svg viewBox="0 0 16 16" width="16" height="16"><path fill-rule="evenodd" d="M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z"></path></svg></a><span class="notion-h-title"><b>快速链接和参考文章</b></span></span></h2><div class="notion-text notion-block-1d86bec17f7d805cad7cf93642d1f99e">项目地址</div><ul class="notion-list notion-list-disc notion-block-1d86bec17f7d80778658ff3dc9fbb35a"><li><a class="notion-link" href="https://github.com/gotson/komga" target="_blank" rel="noopener noreferrer">https://github.com/gotson/komga</a></li></ul><ul class="notion-list notion-list-disc notion-block-1d86bec17f7d80148c2cf6513ad39ea0"><li><a class="notion-link" href="https://github.com/chu-shen/BangumiKomga" target="_blank" rel="noopener noreferrer">https://github.com/chu-shen/BangumiKomga</a></li></ul><ul class="notion-list notion-list-disc notion-block-1d86bec17f7d804884e3ce2afad61e59"><li><a class="notion-link" href="https://github.com/mihonapp/mihon" target="_blank" rel="noopener noreferrer">https://github.com/mihonapp/mihon</a></li></ul><div class="notion-text notion-block-1d86bec17f7d80daa1e0fca6385a8abb">参考文章</div><ul class="notion-list notion-list-disc notion-block-1d86bec17f7d80ce8f1bdccb99dad963"><li><a class="notion-link" href="https://post.smzdm.com/p/adz53x5p/" target="_blank" rel="noopener noreferrer">https://post.smzdm.com/p/adz53x5p/</a></li></ul><ul class="notion-list notion-list-disc notion-block-1d86bec17f7d803a847ae3e8976f64e4"><li><a class="notion-link" href="https://www.himiku.com/archives/komga.html" target="_blank" rel="noopener noreferrer">https://www.himiku.com/archives/komga.html</a></li></ul><ul class="notion-list notion-list-disc notion-block-1d86bec17f7d80bc81a3ebb997407e73"><li>(<a class="notion-link" href="https://sspai.com/post/79100" target="_blank" rel="noopener noreferrer">https://sspai.com/post/79100</a></li></ul><div class="notion-text notion-block-1d86bec17f7d8037a6b0c579fe02c9a4">mihon插件仓库</div><ul class="notion-list notion-list-disc notion-block-1d86bec17f7d807a89e7eba26cf99525"><li><a class="notion-link" href="https://github.com/keiyoushi/extensions/tree/repo" target="_blank" rel="noopener noreferrer">https://github.com/keiyoushi/extensions/tree/repo</a></li></ul><ul class="notion-list notion-list-disc notion-block-1d86bec17f7d807c84e1f8294ceb22d6"><li><a class="notion-link" href="https://raw.githubusercontent.com/keiyoushi/extensions/repo/index.min.json" target="_blank" rel="noopener noreferrer">https://raw.githubusercontent.com/keiyoushi/extensions/repo/index.min.json</a></li></ul><h2 class="notion-h notion-h1 notion-h-indent-0 notion-block-1d86bec17f7d809f8ea0ec165e4b9e12" data-id="1d86bec17f7d809f8ea0ec165e4b9e12"><span><div id="1d86bec17f7d809f8ea0ec165e4b9e12" class="notion-header-anchor"></div><a class="notion-hash-link" href="#1d86bec17f7d809f8ea0ec165e4b9e12" title="Komga使用展示"><svg viewBox="0 0 16 16" width="16" height="16"><path fill-rule="evenodd" d="M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z"></path></svg></a><span class="notion-h-title"><b>Komga使用展示</b></span></span></h2><figure class="notion-asset-wrapper notion-asset-wrapper-image notion-block-1d86bec17f7d80f9af76e97c961328d7"><div style="position:relative;display:flex;justify-content:center;align-self:center;width:100%;max-width:100%;flex-direction:column;height:100%"><img style="object-fit:cover" src="https://www.notion.so/image/attachment%3A93ae7c79-4e28-4076-8cc8-0650b04f4d0d%3Aimage-20250417092154429.png?table=block&amp;id=1d86bec1-7f7d-80f9-af76-e97c961328d7&amp;t=1d86bec1-7f7d-80f9-af76-e97c961328d7" alt="notion image" loading="lazy" decoding="async"/></div></figure><figure class="notion-asset-wrapper notion-asset-wrapper-image notion-block-1d86bec17f7d8055ac0afea1ec7e31df"><div style="position:relative;display:flex;justify-content:center;align-self:center;width:100%;max-width:100%;flex-direction:column;height:100%"><img style="object-fit:cover" src="https://www.notion.so/image/attachment%3Afef06c22-0c7a-4a9a-9b6a-5770927a57f2%3Aimage-20250417092334987.png?table=block&amp;id=1d86bec1-7f7d-8055-ac0a-fea1ec7e31df&amp;t=1d86bec1-7f7d-8055-ac0a-fea1ec7e31df" alt="notion image" loading="lazy" decoding="async"/></div></figure><figure class="notion-asset-wrapper notion-asset-wrapper-image notion-block-1d86bec17f7d80e19095ed63232d3667"><div style="position:relative;display:flex;justify-content:center;align-self:center;width:100%;max-width:100%;flex-direction:column;height:100%"><img style="object-fit:cover" src="https://www.notion.so/image/attachment%3A26fd7631-34b2-4a6b-9f83-00df282ea90d%3Aimage-20250417093439060.png?table=block&amp;id=1d86bec1-7f7d-80e1-9095-ed63232d3667&amp;t=1d86bec1-7f7d-80e1-9095-ed63232d3667" alt="notion image" loading="lazy" decoding="async"/></div></figure><h2 class="notion-h notion-h1 notion-h-indent-0 notion-block-1d86bec17f7d809a8030ef5a7e913d27" data-id="1d86bec17f7d809a8030ef5a7e913d27"><span><div id="1d86bec17f7d809a8030ef5a7e913d27" class="notion-header-anchor"></div><a class="notion-hash-link" href="#1d86bec17f7d809a8030ef5a7e913d27" title="docker部署"><svg viewBox="0 0 16 16" width="16" height="16"><path fill-rule="evenodd" d="M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z"></path></svg></a><span class="notion-h-title"><b>docker部署</b></span></span></h2><div class="notion-text notion-block-1d86bec17f7d80ef96eeda17781c8e04">komga的docker-compose配置参考</div><div class="notion-text notion-block-1d86bec17f7d803bb05efc07ef44406f">BangumiKomga</div><h2 class="notion-h notion-h1 notion-h-indent-0 notion-block-1d86bec17f7d8013a868cfe539d32bb9" data-id="1d86bec17f7d8013a868cfe539d32bb9"><span><div id="1d86bec17f7d8013a868cfe539d32bb9" class="notion-header-anchor"></div><a class="notion-hash-link" href="#1d86bec17f7d8013a868cfe539d32bb9" title="注意事项"><svg viewBox="0 0 16 16" width="16" height="16"><path fill-rule="evenodd" d="M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z"></path></svg></a><span class="notion-h-title"><b>注意事项</b></span></span></h2><div class="notion-text notion-block-1d86bec17f7d802b9a4df928e152c9a9">BangumiKomga的使用还需要准备好config.py配置文件和新建recordsRefreshed.db空文件，路径与docker配置对应。详细的config配置参考请参考文章开头附的开源项目地址中的参考，此处不再赘述。</div><div class="notion-text notion-block-1d86bec17f7d801381cfc4dec7f7695f">值得一提的是，BangumiKomga是单次执行的容器，也就是说并不是始终在线的，而是需要刮削的时候单次执行，刮削结束后就会退出，因此不要配置容器始终开启。</div><div class="notion-text notion-block-1d86bec17f7d8023b798cae29c0839dc">BangumiKomga可以配置飞书等webhook方式通知刮削状态。</div><div class="notion-text notion-block-1d86bec17f7d808bb3b5ecbfa78c2d4b">人工修正错误元数据可以使用<code class="notion-inline-code">cbl(Correct Bangumi Link)</code>，只需在系列元数据的链接中填入<code class="notion-inline-code">cbl</code>和该漫画系列的 bangumi 地址。将强制使用此链接，不再进行刮削。</div></main></div>]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[魔法使之夜——不要温柔地走进良夜]]></title>
            <link>https://blog.xueayi.site/article/witchontheholynight</link>
            <guid>https://blog.xueayi.site/article/witchontheholynight</guid>
            <pubDate>Sun, 09 Feb 2025 00:00:00 GMT</pubDate>
            <description><![CDATA[在那之前，还是华丽地表演一番吧！
就算要放弃，也是要在做完所有能做的事之后！]]></description>
            <content:encoded><![CDATA[<div id="notion-article" class="mx-auto overflow-hidden "><main class="notion light-mode notion-page notion-block-1956bec17f7d8049bd5dcadf00c9fa6e"><div class="notion-viewport"></div><div class="notion-collection-page-properties"><div class="notion-collection-row"><div class="notion-collection-row-body"><div class="notion-collection-row-property"><div class="notion-collection-column-title"><svg viewBox="0 0 14 14" class="notion-collection-column-title-icon"><path d="M7 13A6 6 0 107 1a6 6 0 000 12zM3.751 5.323A.2.2 0 013.909 5h6.182a.2.2 0 01.158.323L7.158 9.297a.2.2 0 01-.316 0L3.751 5.323z"></path></svg><div class="notion-collection-column-title-body">status</div></div><div class="notion-collection-row-value"><span class="notion-property notion-property-select"><div class="notion-property-select-item notion-item-red">Published</div></span></div></div><div class="notion-collection-row-property"><div class="notion-collection-column-title"><svg viewBox="0 0 14 14" class="notion-collection-column-title-icon"><path d="M10.889 5.5H3.11v1.556h7.778V5.5zm1.555-4.444h-.777V0H10.11v1.056H3.89V0H2.333v1.056h-.777c-.864 0-1.548.7-1.548 1.555L0 12.5c0 .856.692 1.5 1.556 1.5h10.888C13.3 14 14 13.356 14 12.5V2.611c0-.855-.7-1.555-1.556-1.555zm0 11.444H1.556V3.944h10.888V12.5zM8.556 8.611H3.11v1.556h5.445V8.61z"></path></svg><div class="notion-collection-column-title-body">date</div></div><div class="notion-collection-row-value"><span class="notion-property notion-property-date">Feb 9, 2025</span></div></div><div class="notion-collection-row-property"><div class="notion-collection-column-title"><svg viewBox="0 0 14 14" class="notion-collection-column-title-icon"><path d="M7 4.568a.5.5 0 00-.5-.5h-6a.5.5 0 00-.5.5v1.046a.5.5 0 00.5.5h6a.5.5 0 00.5-.5V4.568zM.5 1a.5.5 0 00-.5.5v1.045a.5.5 0 00.5.5h12a.5.5 0 00.5-.5V1.5a.5.5 0 00-.5-.5H.5zM0 8.682a.5.5 0 00.5.5h11a.5.5 0 00.5-.5V7.636a.5.5 0 00-.5-.5H.5a.5.5 0 00-.5.5v1.046zm0 3.068a.5.5 0 00.5.5h9a.5.5 0 00.5-.5v-1.045a.5.5 0 00-.5-.5h-9a.5.5 0 00-.5.5v1.045z"></path></svg><div class="notion-collection-column-title-body">slug</div></div><div class="notion-collection-row-value"><span class="notion-property notion-property-text">witchontheholynight</span></div></div><div class="notion-collection-row-property"><div class="notion-collection-column-title"><svg viewBox="0 0 14 14" class="notion-collection-column-title-icon"><path d="M7 13A6 6 0 107 1a6 6 0 000 12zM3.751 5.323A.2.2 0 013.909 5h6.182a.2.2 0 01.158.323L7.158 9.297a.2.2 0 01-.316 0L3.751 5.323z"></path></svg><div class="notion-collection-column-title-body">type</div></div><div class="notion-collection-row-value"><span class="notion-property notion-property-select"><div class="notion-property-select-item notion-item-purple">Post</div></span></div></div><div class="notion-collection-row-property"><div class="notion-collection-column-title"><svg viewBox="0 0 14 14" class="notion-collection-column-title-icon"><path d="M7 4.568a.5.5 0 00-.5-.5h-6a.5.5 0 00-.5.5v1.046a.5.5 0 00.5.5h6a.5.5 0 00.5-.5V4.568zM.5 1a.5.5 0 00-.5.5v1.045a.5.5 0 00.5.5h12a.5.5 0 00.5-.5V1.5a.5.5 0 00-.5-.5H.5zM0 8.682a.5.5 0 00.5.5h11a.5.5 0 00.5-.5V7.636a.5.5 0 00-.5-.5H.5a.5.5 0 00-.5.5v1.046zm0 3.068a.5.5 0 00.5.5h9a.5.5 0 00.5-.5v-1.045a.5.5 0 00-.5-.5h-9a.5.5 0 00-.5.5v1.045z"></path></svg><div class="notion-collection-column-title-body">summary</div></div><div class="notion-collection-row-value"><span class="notion-property notion-property-text">在那之前，还是华丽地表演一番吧！
就算要放弃，也是要在做完所有能做的事之后！</span></div></div><div class="notion-collection-row-property"><div class="notion-collection-column-title"><svg viewBox="0 0 14 14" class="notion-collection-column-title-icon"><path d="M4 3a1 1 0 011-1h7a1 1 0 110 2H5a1 1 0 01-1-1zm0 4a1 1 0 011-1h7a1 1 0 110 2H5a1 1 0 01-1-1zm0 4a1 1 0 011-1h7a1 1 0 110 2H5a1 1 0 01-1-1zM2 4a1 1 0 110-2 1 1 0 010 2zm0 4a1 1 0 110-2 1 1 0 010 2zm0 4a1 1 0 110-2 1 1 0 010 2z"></path></svg><div class="notion-collection-column-title-body">tags</div></div><div class="notion-collection-row-value"><span class="notion-property notion-property-multi_select"><div class="notion-property-multi_select-item notion-item-pink">魔法使之夜</div><div class="notion-property-multi_select-item notion-item-blue">Galgame</div></span></div></div><div class="notion-collection-row-property"><div class="notion-collection-column-title"><svg viewBox="0 0 14 14" class="notion-collection-column-title-icon"><path d="M7 13A6 6 0 107 1a6 6 0 000 12zM3.751 5.323A.2.2 0 013.909 5h6.182a.2.2 0 01.158.323L7.158 9.297a.2.2 0 01-.316 0L3.751 5.323z"></path></svg><div class="notion-collection-column-title-body">category</div></div><div class="notion-collection-row-value"><span class="notion-property notion-property-select"><div class="notion-property-select-item notion-item-brown">作品感悟</div></span></div></div><div class="notion-collection-row-property"><div class="notion-collection-column-title"><svg viewBox="0 0 14 14" class="notion-collection-column-title-icon"><path d="M7 4.568a.5.5 0 00-.5-.5h-6a.5.5 0 00-.5.5v1.046a.5.5 0 00.5.5h6a.5.5 0 00.5-.5V4.568zM.5 1a.5.5 0 00-.5.5v1.045a.5.5 0 00.5.5h12a.5.5 0 00.5-.5V1.5a.5.5 0 00-.5-.5H.5zM0 8.682a.5.5 0 00.5.5h11a.5.5 0 00.5-.5V7.636a.5.5 0 00-.5-.5H.5a.5.5 0 00-.5.5v1.046zm0 3.068a.5.5 0 00.5.5h9a.5.5 0 00.5-.5v-1.045a.5.5 0 00-.5-.5h-9a.5.5 0 00-.5.5v1.045z"></path></svg><div class="notion-collection-column-title-body">password</div></div><div class="notion-collection-row-value"><span class="notion-property notion-property-text"></span></div></div><div class="notion-collection-row-property"><div class="notion-collection-column-title"><svg viewBox="0 0 14 14" class="notion-collection-column-title-icon"><path d="M7 4.568a.5.5 0 00-.5-.5h-6a.5.5 0 00-.5.5v1.046a.5.5 0 00.5.5h6a.5.5 0 00.5-.5V4.568zM.5 1a.5.5 0 00-.5.5v1.045a.5.5 0 00.5.5h12a.5.5 0 00.5-.5V1.5a.5.5 0 00-.5-.5H.5zM0 8.682a.5.5 0 00.5.5h11a.5.5 0 00.5-.5V7.636a.5.5 0 00-.5-.5H.5a.5.5 0 00-.5.5v1.046zm0 3.068a.5.5 0 00.5.5h9a.5.5 0 00.5-.5v-1.045a.5.5 0 00-.5-.5h-9a.5.5 0 00-.5.5v1.045z"></path></svg><div class="notion-collection-column-title-body">icon</div></div><div class="notion-collection-row-value"><span class="notion-property notion-property-text"></span></div></div></div></div></div><div class="notion-callout notion-gray_background_co notion-block-1956bec17f7d804391c5e6e3ad5951e0"><div class="notion-page-icon-inline notion-page-icon-span"><span class="notion-page-icon" role="img" aria-label="😀">😀</span></div><div class="notion-callout-text">前言：
在那之前，还是华丽地表演一番吧！
就算要放弃，也是要在做完所有能做的事之后！</div></div><figure class="notion-asset-wrapper notion-asset-wrapper-image notion-block-1956bec17f7d80b58903c732a8f90102"><div style="position:relative;display:flex;justify-content:center;align-self:center;width:100%;max-width:100%;flex-direction:column;height:100%"><img style="object-fit:cover" src="https://www.notion.so/image/attachment%3A3af66903-07dd-49f6-a1d3-8e17303090db%3A52a88e832ecdb30233661b665a16fa66.png?table=block&amp;id=1956bec1-7f7d-80b5-8903-c732a8f90102&amp;t=1956bec1-7f7d-80b5-8903-c732a8f90102" alt="notion image" loading="lazy" decoding="async"/></div></figure><h2 class="notion-h notion-h1 notion-h-indent-0 notion-block-1956bec17f7d80c880f7fa61c8edc844" data-id="1956bec17f7d80c880f7fa61c8edc844"><span><div id="1956bec17f7d80c880f7fa61c8edc844" class="notion-header-anchor"></div><a class="notion-hash-link" href="#1956bec17f7d80c880f7fa61c8edc844" title="📝 诗歌编织的美梦，如清泉般流淌"><svg viewBox="0 0 16 16" width="16" height="16"><path fill-rule="evenodd" d="M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z"></path></svg></a><span class="notion-h-title">📝 诗歌编织的美梦，如清泉般流淌</span></span></h2><div class="notion-text notion-block-1956bec17f7d80c49f39ea1f6dc000e7">我很少用“流淌”形容一个作品给我带来的感觉，但是《魔法使之夜》带给了我这样的感觉。</div><div class="notion-text notion-block-1956bec17f7d80229da3d88408f33b26">在寒假前的最后一天，我总算完成了这部久闻其名的型月巅峰之作。为什么要用“总算”一词，不是因为其过程太过煎熬，而是因为它带给我的惊喜实在是太多太多了，令我不断讶异的发出“居然还有”的惊呼。对我来说，这部作品的每字每句都是洗礼和馈赠。因此我感觉现在的我很难客观地评价这部作品，整个过程实在是太享受了，以至于已经放弃了理性的思考。</div><div class="notion-text notion-block-1956bec17f7d808bac16fe7a5fbe4153">简单来说，《魔夜》的氛围实在是太特殊了，理所当然的，它不是传统Galgame的模式，作为VN视觉小说，风格自然是与众不同的。而《魔夜》的特别之处在于奈绪蘑菇诗歌般华丽的语言，以及可以毫不夸张的说站在所有文字冒险游戏顶端的演出。</div><div class="notion-text notion-block-1956bec17f7d80979a80d6d766daa248">很有奈绪蘑菇的特点，这样的文字我感觉是比较需要对上电波才会感觉到其优势所在。就像我很少形容作品带给我的感受是“流淌”一样，这样的流淌让我少有地产生了一种慢慢“品味”文字、人物、画面以及演出的感觉。</div><div class="notion-text notion-block-1956bec17f7d80a6941be8b976fb3a5b">也许故事本身的情节并不出彩或复杂，它只是蘑菇笔下型月世界观的一隅，充斥着设定和神话却又依附于现实世界的奇幻故事。回想起先前玩过的《月球坠落时》，确实可以理解其中随处可见对《魔夜》或《EVA》的致敬，但是也清晰地看出了两者的差异。除了文字的功力差距之外，《魔夜》虽是架空世界但是却有贴近日常的接点，而《月坠》却没有。而我认为无论是奇幻故事也好，现实系故事也罢，所谓的“日常的接点”是非常重要的。现实系故事自不必多说，因为是构筑现实，所以不真实就没有意义。而对于奇幻故事来说，适当的“真实感”可以让读者更好地相信和接受奇幻世界的存在，或者说更好地进入沉浸故事的心流，类似于在谎话里插入真话以增强谎言可信度的欺骗技巧。现在想来，《月坠》带给我的违和感最大的问题就是出在过于超脱日常之外。</div><div class="notion-text notion-block-1956bec17f7d80f9985fce70275136c3">对白、行动和心理的穿插，精心设计的文字排版，配合画面和音乐的演出，《魔夜》的文字对我来说就像诗一般完美无瑕，仿佛一块晶莹剔透的紫水晶——澄澈透明，又让心里安定。而这个架空又穿插着日常的故事，以及日常的幽默诙谐，男孩和女孩邂逅的悸动，一切是那么美好，一切是那么温柔。</div><h2 class="notion-h notion-h1 notion-h-indent-0 notion-block-1956bec17f7d80d5aa24f93d54b583ab" data-id="1956bec17f7d80d5aa24f93d54b583ab"><span><div id="1956bec17f7d80d5aa24f93d54b583ab" class="notion-header-anchor"></div><a class="notion-hash-link" href="#1956bec17f7d80d5aa24f93d54b583ab" title="🥢 终极大杀器——视觉小说演出的珠穆朗玛峰"><svg viewBox="0 0 16 16" width="16" height="16"><path fill-rule="evenodd" d="M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z"></path></svg></a><span class="notion-h-title">🥢 终极大杀器——视觉小说演出的珠穆朗玛峰</span></span></h2><div class="notion-text notion-block-1956bec17f7d80079d58e95fc7a6931a">也许对文字的感受相当主观，但关于魔夜的演出有多厉害，想必玩过的没有人敢在这里挑刺的。事实就是这样，毫不夸张的说——绝对地超前和碾压。</div><div class="notion-text notion-block-1956bec17f7d80f79aeedae4d1df9598">曾经我还没有接触过《魔夜》就已经听说过其演出的盛名，但那是我还天真地认为应该是和《Muv Luv Alternative》一样属于“Galgame演出的两块天花板”。但现在我改变了曾经的看法，比起《魔夜》，《MLA》的演出充其量也只是“力大砖飞”而已，因为《MLA》的说到底也并没有打破传统的背景+立绘+CG的演出模式，使用立绘的堆砌和移动或是HUD等技巧丰富画面，最后达成“以2D展现3D的高机动战斗”的效果。我并不是说《MLA》的演出不够好，但我现在认为《魔夜》和他们完全走在了不同的道路上，也就少了许多互相比较的价值。</div><div class="notion-text notion-block-1956bec17f7d8017bf5bff5c6de7ef83">那么《魔夜》的演出到底特殊在什么地方呢？总结来说就是图层的突破和动静的结合。</div><div class="notion-text notion-block-1956bec17f7d80dea37ddd3cdf78a927">它完全打破了背景、立绘的禁锢，像一只一飞冲天的鸟儿扶摇直上。画面的“背景”、“立绘”之类的概念变得模糊，取而代之的是，所有画面的元素全都是为了展现场景而服务。是的，“所以”，意味着一个画面上面会有多个、许多个不同的图层和元素。人物、场景和特效全都被分割成不同的组件，有着各自独立的运动轨迹。这样就有了更加灵活的表现形式，画面不再局限于固定的立绘或CG的表达，门可以表现出开合，魔术回路可以旋转扭曲，能量粒子的可以肆意轰击，时钟的指针可以自然地移动……有时候甚至真的会忘记自己玩的竟是一部视觉小说，因为画面太丰富自然了。暴论：我认为这种超脱文字游戏的惊喜，如果做成了动画反而会丧失其独特的魅力，因为这种“超级感”在文字游戏的衬托下非常突出，而一旦脱离了这种载体，比如是存在在全是动态画面的动画之中，就再也找不出这种衬托下演出的“超级感”。</div><div class="notion-text notion-block-1956bec17f7d80a9b22effde41303199">在此基础上，也有许多分镜和构图的巧思将画面的冲击力继续拔高，运镜、视觉引导、错位和适当的人物特写，一切是那么完美地运作着。雪碧社在其作品《苍之彼方的四重奏extra2》诞生时提出了“电影级视觉小说”的概念，然后在后续作品《everlasting flowers》中继续电影感的尝试。但是十多年前的型月用分镜、运镜和演出已经触及到了这种“电影感”的根源。</div><div class="notion-text notion-block-1956bec17f7d80beb5cac43cc230d8ac"><b>《魔法使之夜》才是真正的魔法。</b></div><h2 class="notion-h notion-h1 notion-h-indent-0 notion-block-1956bec17f7d80129001fc5c2b0636eb" data-id="1956bec17f7d80129001fc5c2b0636eb"><span><div id="1956bec17f7d80129001fc5c2b0636eb" class="notion-header-anchor"></div><a class="notion-hash-link" href="#1956bec17f7d80129001fc5c2b0636eb" title="🪂 不要温柔地走进良夜"><svg viewBox="0 0 16 16" width="16" height="16"><path fill-rule="evenodd" d="M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z"></path></svg></a><span class="notion-h-title">🪂 不要温柔地走进良夜</span></span></h2><div class="notion-text notion-block-1956bec17f7d806d8000e01a26f2e4ac">故事中许多地方令我动容，不过感触最深的还是苍崎青子的坚强，无论是带着过去十五年的回忆不逃避而选择成为继承人，还是面对看不到希望的战斗时候选择竭尽所能。我承认我被这样飒爽的青子治愈了。</div><div class="notion-text notion-block-1956bec17f7d804da23bcf32c2b387a7">“不要温柔的走进良夜”，青子并不是随波逐流的顺从和接受，而是贯彻了自我信念的坚定前行。</div><figure class="notion-asset-wrapper notion-asset-wrapper-image notion-block-1956bec17f7d80b3883bd7c6abec1495"><div style="position:relative;display:flex;justify-content:center;align-self:center;width:100%;max-width:100%;flex-direction:column;height:100%"><img style="object-fit:cover" src="https://www.notion.so/image/attachment%3A899d8857-dac7-44d0-b638-4c97cc1ed926%3Aa3258bacc53ba64b303b518db45016f0.png?table=block&amp;id=1956bec1-7f7d-80b3-883b-d7c6abec1495&amp;t=1956bec1-7f7d-80b3-883b-d7c6abec1495" alt="notion image" loading="lazy" decoding="async"/></div></figure><figure class="notion-asset-wrapper notion-asset-wrapper-image notion-block-1956bec17f7d80bca7b5ce93e523c54c"><div style="position:relative;display:flex;justify-content:center;align-self:center;width:100%;max-width:100%;flex-direction:column;height:100%"><img style="object-fit:cover" src="https://www.notion.so/image/attachment%3A46f429cd-b6eb-4c36-9e02-2247df428c61%3A5d000042df0885b92fc28069238a6d2c.png?table=block&amp;id=1956bec1-7f7d-80bc-a7b5-ce93e523c54c&amp;t=1956bec1-7f7d-80bc-a7b5-ce93e523c54c" alt="notion image" loading="lazy" decoding="async"/></div></figure><div class="notion-text notion-block-1956bec17f7d80908f1ffd1b669b692b">真是一个如诗般浪漫的故事啊。所以，飞碟社你动画什么时候端上来？</div><figure class="notion-asset-wrapper notion-asset-wrapper-image notion-block-1956bec17f7d80bc90e5fee1f726a264"><div style="position:relative;display:flex;justify-content:center;align-self:center;width:100%;max-width:100%;flex-direction:column;height:100%"><img style="object-fit:cover" src="https://www.notion.so/image/attachment%3Ab7315ab8-f6c6-4953-816a-1cc43d6bf4c8%3A29ee504907711d28fca620d6e59b8a44.png?table=block&amp;id=1956bec1-7f7d-80bc-90e5-fee1f726a264&amp;t=1956bec1-7f7d-80bc-90e5-fee1f726a264" alt="notion image" loading="lazy" decoding="async"/></div></figure></main></div>]]></content:encoded>
        </item>
    </channel>
</rss>