<?xml version="1.0" encoding="UTF-8"?><rss version="2.0" xmlns:content="http://purl.org/rss/1.0/modules/content/"><channel><title>璨梦踏月の小窝</title><description>寻星之旅</description><link>https://blog.canmoe.com/</link><language>zh_CN</language><templateTheme>Firefly</templateTheme><templateThemeVersion>6.3.8</templateThemeVersion><templateThemeUrl>https://github.com/CuteLeaf/Firefly</templateThemeUrl><lastBuildDate>2026年7月17日 17:12:24</lastBuildDate><item><title>文章内容说明/其他事项/站点更新日志</title><link>https://blog.canmoe.com/posts/sth/</link><guid isPermaLink="true">https://blog.canmoe.com/posts/sth/</guid><description>无人在意的小角落</description><pubDate>Thu, 14 Aug 2025 00:00:00 GMT</pubDate><content:encoded>&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;好风景难得,平常心奢侈;在这样的黄金时代,愿这份电子日记可以让我们现在的记忆在将来以更美的方式再度浮现&lt;/strong&gt;[^恩祈儿]&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;[^恩祈儿]: &lt;a href=&quot;https://www.bilibili.com/video/BV1AT2MBCEvP/&quot;&gt;BiliBili@恩祈儿 - 谁把家里的等身大手办搬街上来了！？&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;:::tip&lt;/p&gt;
&lt;p&gt;&lt;s&gt;我知道我写的内容没人看&lt;/s&gt;&lt;/p&gt;
&lt;blockquote&gt;
&lt;h1&gt;站点更新日志:&lt;/h1&gt;
&lt;p&gt;2025-07-20: 增加Twikoo评论系统, 见&lt;a href=&quot;../fuwari-twikoo-guide/#%E5%9B%9B-%E9%9B%86%E6%88%90-twikoo-%E8%AF%84%E8%AE%BA%E7%B3%BB%E7%BB%9F&quot;&gt;集成 Twikoo 评论系统&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;2025-08-16: (已失效)文章显示更新时间, 支持系列文章/链接卡片/文章置顶&lt;/p&gt;
&lt;p&gt;2025-08-23: (已失效)为移动端(竖屏设备/只要你右侧无法展示目录都算)增加了目录功能(来自&lt;a href=&quot;https://github.com/matsuzaka-yuki/Mizuki/commit/abb7a468e341fdd12b80a16c85c508e57bee2afb&quot;&gt;Mizuki&lt;/a&gt;), 增加导航栏智能显隐&lt;/p&gt;
&lt;p&gt;2025-08-25: (已失效)增加伪i18n支持, 当默认语言非简体中文时会自动高亮翻译按钮并文字提醒&lt;/p&gt;
&lt;p&gt;2025-11-16: 博客迁移至&lt;a href=&quot;https://github.com/CuteLeaf/Firefly&quot;&gt;Firefly&lt;/a&gt;主题,先前自定义功能已失效(原计划迁移到&lt;a href=&quot;https://github.com/matsuzaka-yuki/Mizuki&quot;&gt;Mizuki&lt;/a&gt;)&lt;/p&gt;
&lt;p&gt;2026-01-11: 域名迁移,增加国内CDN&lt;/p&gt;
&lt;p&gt;2026-01-16: 去除绝大多数文章的封面以及随机图加载,由于当前加载速度并不快,这会显著拖慢网页加载时长&lt;/p&gt;
&lt;p&gt;2026-01-18: 增快国内CDN访问速度(背景图片加载依然略慢,会在未来尝试解决)&lt;/p&gt;
&lt;p&gt;2026-01-20: 随机图api已更新,大幅优化背景图片加载速度
:::&lt;/p&gt;
&lt;/blockquote&gt;
&lt;hr /&gt;
&lt;h1&gt;关于AIGC&lt;/h1&gt;
&lt;p&gt;部分文章可能会使用AI润色,均会在文章顶部申明:&lt;/p&gt;
&lt;p&gt;:::caution[AI内容警告]&lt;/p&gt;
&lt;p&gt;本文使用了AI润色,更多内容请看&lt;a href=&quot;../sth/#%E5%85%B3%E4%BA%8Eaigc&quot;&gt;文章内容说明&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;:::&lt;/p&gt;
&lt;p&gt;在无特殊注明情况下均为&lt;/p&gt;
&lt;p&gt;&lt;code&gt;AI润色&lt;/code&gt; -&amp;gt; &lt;code&gt;人工审查并再次润色&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;主要目的为优化整体表述和样式, 增强可读性, 查漏补缺/纠正错误; 并不会以AI生成内容为主&lt;/p&gt;
&lt;p&gt;一般情况下仅会把合适的内容使用高级语法突出显示,不会生成/修改其他内容&lt;/p&gt;
</content:encoded><author>璨梦踏月</author></item><item><title>如何免费注册一个阿里云企业邮箱并用于发/收信件</title><link>https://blog.canmoe.com/posts/free-aliyun-email/</link><guid isPermaLink="true">https://blog.canmoe.com/posts/free-aliyun-email/</guid><description>有一个笨蛋在注册后未记录相关内容,导致想修改内容的时候找不到怎么登录阿里企业邮箱了,经过重新探索后,回忆起了相关方法,遂记录</description><pubDate>Sat, 18 Jul 2026 00:00:00 GMT</pubDate><content:encoded>&lt;blockquote&gt;
&lt;p&gt;有一个笨蛋在注册后未记录相关内容,导致想修改内容的时候找不到怎么登录阿里企业邮箱了,经过重新探索后,回忆起了相关方法,遂记录&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h1&gt;购买企业邮箱（免费版）&lt;/h1&gt;
&lt;ol&gt;
&lt;li&gt;首先你得有个域名,不过能点进来,应该是具备相关基础知识,不会没有吧...?
以阿里云国内版作为演示,国际版我不道;另请注意 单个&lt;code&gt;阿里云账号&lt;/code&gt;最多可申请一个&lt;code&gt;企业邮箱（免费版）&lt;/code&gt;，一个完成&lt;code&gt;实名认证&lt;/code&gt;的用户身份最多可申请两次企业邮箱（免费版）&lt;/li&gt;
&lt;li&gt;购买&lt;a href=&quot;https://common-buy.aliyun.com/?spm=a2c4g.11186623.0.0.4d57223bt1Uc9F&amp;amp;commodityCode=alimail&amp;amp;specCode=lx_18482#/buy&quot;&gt;企业邮箱(免费版)&lt;/a&gt;,输入你持有的域名,时长任意,保持默认1年即可&lt;/li&gt;
&lt;li&gt;访问&lt;a href=&quot;https://alimail.console.aliyun.com/?spm=a2c4g.11186623.0.0.4d57223bt1Uc9F&quot;&gt;企业邮箱控制台&lt;/a&gt;,找到刚刚购买的名为&quot;企业邮箱免费版&quot;(业务内容就是你的域名),点击右侧管理&lt;/li&gt;
&lt;li&gt;点击设置解析,按照指引添加DNS解析&lt;/li&gt;
&lt;li&gt;点击重置密码,这里设置的密码是管理员账户的密码(管理员账号默认没有初始密码,需要通过重置密码的方式来设置密码)
&lt;img src=&quot;images/free-aliyun-email-1.png&quot; alt=&quot;&quot; /&gt;&lt;/li&gt;
&lt;li&gt;切换到基本信息,这里会展示你的管理员账号和邮箱访问地址;&lt;strong&gt;复制管理员账号&lt;/strong&gt;,然后访问&lt;a href=&quot;https://qiye.aliyun.com&quot;&gt;邮箱访问地址&lt;/a&gt;,输入你的管理员账号和刚刚设置的密码并登录&lt;/li&gt;
&lt;li&gt;接下来会进入到管理员视角,点击左侧员工账号,新建账号;在这里就可以创建你需要的发件人(收件人)地址&lt;/li&gt;
&lt;/ol&gt;
&lt;blockquote&gt;
&lt;p&gt;可以在侧边栏 安全管理 -&amp;gt; 账号安全 -&amp;gt; 密码策略 处把定期修改密码关闭,如果你不需要的话,否则会定期发邮件提醒你修改密码&lt;/p&gt;
&lt;/blockquote&gt;
&lt;ol&gt;
&lt;li&gt;创建新账户后,右上角退出登录,然后登录你刚刚创建的那个新账户&lt;/li&gt;
&lt;li&gt;登录后,右上角 设置-&amp;gt;更多设置, 左侧侧边栏 账户与安全 -&amp;gt; 账户安全,底部,建议开启三方客户端安全密码,然后在这里生成新密码;SMTP/IMAP服务器在侧边栏邮箱设置中可以查看&lt;/li&gt;
&lt;li&gt;在你的第三方客户端或者发信/收信服务填入你新账户对应的邮箱,三方客户端的密码,设置好SMTP/IMAP服务器&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;大功告成!
教程结束!
如有需要也可查看&lt;a href=&quot;https://help.aliyun.com/zh/document_detail/446177.html&quot;&gt;官方文档&lt;/a&gt;&lt;/p&gt;
</content:encoded><author>璨梦踏月</author></item><item><title>记录一下我的歌单</title><link>https://blog.canmoe.com/posts/my-playlist/</link><guid isPermaLink="true">https://blog.canmoe.com/posts/my-playlist/</guid><description>如果有机会的话，应该能一直更新，记录我当前的歌单以及内容变化</description><pubDate>Tue, 30 Jun 2026 00:00:00 GMT</pubDate><content:encoded>&lt;h1&gt;当前歌单&lt;/h1&gt;
&lt;blockquote&gt;
&lt;p&gt;顺序不分先后&lt;/p&gt;
&lt;/blockquote&gt;
&lt;ul&gt;
&lt;li&gt;All Falls Down - Alan Walker&amp;amp;Noah Cyrus&amp;amp;Digital Farm Animals&amp;amp;Juliander&lt;/li&gt;
&lt;li&gt;All For Love - Tungevaag&amp;amp;Raaban&amp;amp;Richard Smitt&lt;/li&gt;
&lt;li&gt;Aurora - JJD/Alex Skrindo&lt;/li&gt;
&lt;li&gt;Barbara - bzd4576&lt;/li&gt;
&lt;li&gt;Be The One - PANDORA/Beverly&lt;/li&gt;
&lt;li&gt;Blossom - PIKASONIC&lt;/li&gt;
&lt;li&gt;Burning Desires 绝望吧台 - 三Z-STUDIO/HOYO-MiX&lt;/li&gt;
&lt;li&gt;By Your Side - Jonas Blue&amp;amp;RAYE&lt;/li&gt;
&lt;li&gt;China-RhyThm - Maker/听风Xyi&lt;/li&gt;
&lt;li&gt;Counting Stars - OneRepublic&lt;/li&gt;
&lt;li&gt;Dangerous - Olivia Addams&lt;/li&gt;
&lt;li&gt;Ena - Hinkik&lt;/li&gt;
&lt;li&gt;Ethereal - RuKoops&lt;/li&gt;
&lt;li&gt;Fly to the moon (feat. 中村さんそ) - PSYQUI/中村さんそ&lt;/li&gt;
&lt;li&gt;Franna - CNA&lt;/li&gt;
&lt;li&gt;GoneBad - Bobina&lt;/li&gt;
&lt;li&gt;Got It 6 (氛围Phonk) - VZEUS/YaKio/Wehti/离离离&lt;/li&gt;
&lt;li&gt;Inverted World (Extended Mix) - ARForest&lt;/li&gt;
&lt;li&gt;Last Dance - Xomu&lt;/li&gt;
&lt;li&gt;Little Wish (片段循环 by 璨梦踏月) - 塞壬唱片-MSR/Sincere/Ws Music&lt;/li&gt;
&lt;li&gt;Magical Girl - Kirara Magic&lt;/li&gt;
&lt;li&gt;Miles Away (Original Mix) - Janji&lt;/li&gt;
&lt;li&gt;Mine (Illenium Remix) - ILLENIUM&amp;amp;Phoebe Ryan&lt;/li&gt;
&lt;li&gt;Nevada - Vicetone&amp;amp;Cozi Zuehlsdorff&lt;/li&gt;
&lt;li&gt;Normal No More (Explicit) - Tysm&lt;/li&gt;
&lt;li&gt;Outside - Calvin Harris&amp;amp;Ellie Goulding&lt;/li&gt;
&lt;li&gt;Pixel Candy - Elements Garden&lt;/li&gt;
&lt;/ul&gt;
&lt;blockquote&gt;
&lt;p&gt;来自视觉小说《天选庶民的真命之选》&lt;/p&gt;
&lt;/blockquote&gt;
&lt;ul&gt;
&lt;li&gt;Run Free - Deep Chills/IVIE&lt;/li&gt;
&lt;li&gt;So Far Away - Martin Garrix&amp;amp;David Guetta&amp;amp;Jamie Scott&amp;amp;Romy Dya&lt;/li&gt;
&lt;li&gt;Survivors - CH17S&lt;/li&gt;
&lt;li&gt;Take me hand - Cécile Corbel&lt;/li&gt;
&lt;li&gt;Umbrella (Matte Remix) - MatteEmber Island&lt;/li&gt;
&lt;li&gt;Wake (Live) - Hillsong Young &amp;amp; Free&lt;/li&gt;
&lt;li&gt;Walk Thru Fire - Vicetone&amp;amp;Meron Ryan&lt;/li&gt;
&lt;li&gt;Withered - Mr Chip/暴君de&lt;/li&gt;
&lt;li&gt;bonbon sucré Song - 水月陵&lt;/li&gt;
&lt;/ul&gt;
&lt;blockquote&gt;
&lt;p&gt;来自视觉小说《与你相恋的恋爱Recette》（我没玩过）&lt;/p&gt;
&lt;/blockquote&gt;
&lt;ul&gt;
&lt;li&gt;【NeuroV3 Evil】学猫叫 (首次中文歌) 20240807 - Neuro和Evil&lt;/li&gt;
&lt;li&gt;【Nightcore】怦然心动 - &quot;看晚霞彩虹夜空和繁星 和你零距离&quot;&lt;/li&gt;
&lt;li&gt;【Nightcore】落日星空 - &quot;因为落日和星空 只能在黄昏相拥&quot;&lt;/li&gt;
&lt;li&gt;クリームソーダとシャンデリア - Akie秋绘/早凉&lt;/li&gt;
&lt;li&gt;テルテルユー - 鎖那&lt;/li&gt;
&lt;li&gt;今天不是明天 (feat. 兰音Reine) - 电音联盟/音波狂潮/V-Festival/兰音Reine/PIKASONIC&lt;/li&gt;
&lt;li&gt;Ivory Tower - bilibili@任舒瞳&lt;/li&gt;
&lt;li&gt;你看 世界好美（《卡拉彼丘》香奈美角色主题曲） - 卡拉彼丘/宴宁&lt;/li&gt;
&lt;li&gt;再会の誓い - BGMer&lt;/li&gt;
&lt;li&gt;奔向天际线 - Akie秋绘&lt;/li&gt;
&lt;li&gt;定玄 - 鸣潮先约电台/黄霄雲/杨秉音&lt;/li&gt;
&lt;li&gt;幻境中 - 兰音Reine&lt;/li&gt;
&lt;li&gt;拂晓 Proi Proi - HOYO-MiX/NIDA&lt;/li&gt;
&lt;li&gt;桃花庵 - 音阙诗听/封茗囧菌&lt;/li&gt;
&lt;li&gt;Ring Ring Ring (Single Version) - 梦音茶糯&lt;/li&gt;
&lt;li&gt;比天高 - 兰音Reine&lt;/li&gt;
&lt;li&gt;永不结束的歌 - 鸣潮先约电台/xTR33x/Tarokiki&lt;/li&gt;
&lt;li&gt;独角 - UnicornPhantom&lt;/li&gt;
&lt;li&gt;红昭愿-Akie秋绘 - bilibili@Akie秋绘&amp;amp;Akie秋绘&lt;/li&gt;
&lt;li&gt;银河与星斗 - 兰音Reine&lt;/li&gt;
&lt;li&gt;门前篱下 - s-zero-pie&lt;/li&gt;
&lt;/ul&gt;
&lt;hr /&gt;
&lt;h1&gt;变化记录&lt;/h1&gt;
&lt;h2&gt;2026-06-30&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;新增 定玄 - 鸣潮先约电台/黄霄雲/杨秉音&lt;/li&gt;
&lt;li&gt;移除 深海回响 (LUYA版) - Luya&lt;/li&gt;
&lt;li&gt;移除 暮色回响 【原神五神】 - bilibili@澈零喵&lt;/li&gt;
&lt;li&gt;移除 调查中（砂金 填词） - bilibili@澈零喵&lt;/li&gt;
&lt;li&gt;移除 把回忆拼好给你（崩铁） - bilibili@祸尾氏&lt;/li&gt;
&lt;li&gt;移除 ⚡用原神全三十位五星角色唱一曲原神版【半山腰】⚡ (改编版) - bilibili@萌宠教主&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;2026-07-01&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;新增 反乌托邦 - 乌托邦P&lt;/li&gt;
&lt;/ul&gt;
</content:encoded><author>璨梦踏月</author></item><item><title>小米17全系(含红米K90PM)秒解解锁BL！？完全免费,无需授权,无需9008,无需拆机</title><link>https://blog.canmoe.com/posts/xioami-17promax-unlock-bootloader/</link><guid isPermaLink="true">https://blog.canmoe.com/posts/xioami-17promax-unlock-bootloader/</guid><description>收紧BL政策后居然还可以解锁?欢迎收看 3.8解锁节 ,全民解锁BL!</description><pubDate>Sun, 08 Mar 2026 00:00:00 GMT</pubDate><content:encoded>&lt;h1&gt;起因&lt;/h1&gt;
&lt;p&gt;8号早上的时候朋友突然跟我说200块就能解锁BL,还不快冲?&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;我因为换机原因(首发换的小米17PM)无法解锁BL所以被迫放弃了root,原先计划是等过保之后花钱解,但是现在居然这么便宜还不用拆机,还能远程??&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;于是去闲鱼和酷安搜了一下,发现都在传,当时是有多个店铺在卖,然后立即下单开始排队;中午的时候,突然有人公开的解锁方法,使用了三个漏洞实现,于是就见证了价格从1000邮寄-&amp;gt;300拆机-&amp;gt;200远程-&amp;gt;&lt;strong&gt;0!?&lt;/strong&gt;&lt;/p&gt;
&lt;h1&gt;三个漏洞&lt;/h1&gt;
&lt;p&gt;这三个漏洞分别为 关闭SELinux强制执行, 以root身份执行任意命令, 永久解锁bootloader&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;关闭SELinux强制执行&lt;br /&gt;
&lt;code&gt;fastboot oem set-gpu-preemption-value 0 androidboot.selinux=permissive&lt;/code&gt;&lt;br /&gt;
此漏洞为高通限定,&lt;a href=&quot;https://git.codelinaro.org/clo/la/abl/tianocore/edk2/-/commit/fb8e864254cdc370670233e3cb73a2b18ff33c9f&quot;&gt;已修复&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;以root身份执行任意命令&lt;br /&gt;
&lt;code&gt;service call miui.mqsas.IMQSNative 21 i32 1 s16 &quot;命令&quot; i32 1 s16 &quot;参数列表&quot; s16 &apos;输出路径&apos; i32 600&lt;/code&gt;&lt;br /&gt;
系统自带组件提权 uid0 root&lt;/li&gt;
&lt;li&gt;永久解锁bootloader&lt;br /&gt;
https://github.com/hicode002/qualcomm_gbl_exploit_poc&lt;br /&gt;
此漏洞为高通限定(8e5新加的分区),把 gbl_efi_unlock.efi 写入 efisp 分区,需要root权限&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;于是,我们组合起来就可以:
进入 bootloader -&amp;gt; 关闭SELinux强制执行 -&amp;gt; 以 root 权限将 gbl_efi_unlock.efi 写入 efisp 分区 -&amp;gt; 解锁 BL&lt;/p&gt;
&lt;h1&gt;实际操作&lt;/h1&gt;
&lt;p&gt;:::tip
在8号下午约16:00左右,就已经开始了下发补丁进行修复(关闭系统自动更新无效,依然会更新)
这个漏洞在小米17系列上,只有Android安全更新在2026-02-01前的版本可用,正式版最高是2026-01-01;K90PM即使安全更新为 2026-02-01 依然可用
如果在低版本并且想解锁BL,建议立刻使用adb权限将系统更新卸载,防止补丁修复的版本被强制推送
:::&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;设备开启adb并连接&lt;/li&gt;
&lt;li&gt;具体顺序如图
在关闭SELinux强制执行后执行 fastboot continue 继续启动(设备会黑屏,这是正常的),然后推送解锁文件,用root权限将 gbl_efi_unlock.efi 写入 efisp 分区,重启至 bootloader 即可解锁BL
&lt;img src=&quot;images/xioami-17promax-unlock-bootloader-1.png&quot; alt=&quot;&quot; /&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;大功告成,于是我们就成功解锁了!&lt;/p&gt;
</content:encoded><author>璨梦踏月</author></item><item><title>网站全球秒开：教你如何实现网站分流解析</title><link>https://blog.canmoe.com/posts/website-traffic-routing/</link><guid isPermaLink="true">https://blog.canmoe.com/posts/website-traffic-routing/</guid><description>本教程详细介绍了如何通过 DNS 分流解析（Cloudflare + 阿里云 DNS / DNSPod）实现网站全球加速。涵盖了使用 Cloudflare Workers 作为海外源，腾讯云 EdgeOne 或阿里云 ESA 作为国内源的具体部署步骤，以及 SSL 证书申请和 DNS 记录配置的完整指南。</description><pubDate>Sat, 21 Feb 2026 00:00:00 GMT</pubDate><content:encoded>&lt;p&gt;:::tip&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;教程以本站为例&lt;/li&gt;
&lt;li&gt;只适用于需要分流解析子域名，根域名不进行分流&lt;/li&gt;
&lt;li&gt;本教程中使用的国内 CDN 需要域名备案，否则无法提供服务
:::&lt;/li&gt;
&lt;/ul&gt;
&lt;h1&gt;NS 解析&lt;/h1&gt;
&lt;p&gt;将域名托管至 Cloudflare（即根域名 NS 解析在 Cloudflare）。
&lt;img src=&quot;images/website-traffic-routing-1.png&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;
&lt;h1&gt;DNS 解析&lt;/h1&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;由于 Cloudflare 的 DNS 记录不支持根据地区等其他方式分流解析，因此我们需要使用其他 DNS 服务商。二选一（或其他支持根据地域解析的服务商），后续以阿里云为例：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://www.dnspod.com&quot;&gt;DNSPod&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;阿里云（&lt;a href=&quot;https://www.alibabacloud.com/&quot;&gt;国际站&lt;/a&gt;/&lt;a href=&quot;https://www.aliyun.com/&quot;&gt;国内站&lt;/a&gt;）&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;在 DNS 解析中添加你需要分流的子域名（阿里云的 DNS 在 &lt;strong&gt;云解析 DNS -&amp;gt; 解析配置 -&amp;gt; 公网权威解析&lt;/strong&gt;），并按要求通过 TXT 等其他方式验证域名；然后在 Cloudflare 的 DNS 记录中将对应子域名 NS 解析到服务商要求的记录。
&lt;img src=&quot;images/website-traffic-routing-2.png&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;h2&gt;部署静态页面&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;国外源&lt;/strong&gt;：通过 Cloudflare Workers 部署页面（如果通过 Vercel 等其他方式部署可跳过）。&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;:::tip
&lt;strong&gt;为什么要使用 Workers 而不是 Pages？&lt;/strong&gt;
因为 Pages 需要检查 CNAME 解析是否正确。在本例中，CNAME 解析是不指向 Pages 要求的 CNAME，而 Workers 不检查。
:::&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;国内源&lt;/strong&gt;：推荐使用 &lt;strong&gt;腾讯云 EdgeOne Pages&lt;/strong&gt; / &lt;strong&gt;阿里云 ESA Pages&lt;/strong&gt; 部署页面（均免费但需要域名备案）。&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;:::tip&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;纯静态页面不使用函数的情况下我更推荐阿里云 ESA，因为能直接绑定域名并且可以享受到 CDN 的 WAF。腾讯云的 EdgeOne 独立于 CDN，（近乎）无法配置 WAF，除非你确信你的网站不会受到攻击。&lt;/li&gt;
&lt;li&gt;阿里云 ESA 的函数兼容性较差，例如可以在腾讯云 EdgeOne 和 Cloudflare Workers 运行的函数，跑到阿里云 ESA 就会报错。&lt;/li&gt;
&lt;li&gt;（腾讯云 EdgeOne 在下文简称 EO，阿里云 ESA 在下文简称 ESA）
:::&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;动态页面&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;国内&lt;/strong&gt;：直接使用 EO 或 ESA 进行回源即可。如果是非标端口推荐使用 EO，ESA 需要占用一个规则位置才能配置自定义回源端口，而 EO 可以直接设置。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;国外&lt;/strong&gt;：使用 Cloudflare 回源。&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;DCV 委派&lt;/h3&gt;
&lt;p&gt;由于 CNAME 是分流解析，且免费服务默认使用的证书签发大概率为 &lt;strong&gt;Let&apos;s Encrypt / Digicert&lt;/strong&gt;，他们获取到的是非国内解析的 CNAME，无法颁发证书，因此需要通过DCV委派的方式签发证书。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;EO&lt;/strong&gt;：在接入站点（域名）后，&lt;strong&gt;域名服务 -&amp;gt; 域名管理 -&amp;gt; 右侧 HTTPS 配置&lt;/strong&gt;，根据指引设置 CNAME 记录。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;ESA&lt;/strong&gt;：在 &lt;strong&gt;站点管理 -&amp;gt; 点击你接入的域名 -&amp;gt; SSL/TLS -&amp;gt; 边缘证书 -&amp;gt; 下方 托管 DCV&lt;/strong&gt;，根据指引设置 CNAME 记录（ESA 免费版只有 Let&apos;s Encrypt 证书，因此设置的是 &lt;code&gt;_acme-challenge.&lt;/code&gt;）。
&lt;img src=&quot;images/website-traffic-routing-3.png&quot; alt=&quot;&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;设置解析&lt;/h2&gt;
&lt;p&gt;以阿里云 DNS 配置为例：&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;非国内解析&lt;/strong&gt;需要在 Cloudflare 添加一个任意子域名，然后 A 记录填写 &lt;code&gt;192.0.2.1&lt;/code&gt;，并开启代理；然后将这个域名填写至记录值中（这个设置是让流量打到 Cloudflare CDN 上，然后就可以正常解析了）！
&lt;img src=&quot;images/website-traffic-routing-6.png&quot; alt=&quot;&quot; /&gt;
&lt;img src=&quot;images/website-traffic-routing-4.png&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;
&lt;p&gt;配置完如图：
&lt;img src=&quot;images/website-traffic-routing-5.png&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;
&lt;h1&gt;大功告成！&lt;/h1&gt;
&lt;p&gt;结果如图：
&lt;img src=&quot;images/website-traffic-routing-7.png&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;
</content:encoded><author>璨梦踏月</author></item><item><title>叛逆神魂创意工坊剧情补丁安装教程</title><link>https://blog.canmoe.com/posts/godsoul-workshop-patch-install-guide/</link><guid isPermaLink="true">https://blog.canmoe.com/posts/godsoul-workshop-patch-install-guide/</guid><description>教你如何为《叛逆神魂》游戏安装创意工坊剧情补丁，解锁角色好感度剧情内容。</description><pubDate>Tue, 13 Jan 2026 00:00:00 GMT</pubDate><content:encoded>&lt;h1&gt;所有教程与补丁文件发布地址&lt;/h1&gt;
&lt;blockquote&gt;
&lt;p&gt;有猪咪把NSFW打成了NFSW(包含图片中的内容),这些错误会在下一次整体更新时修正,但视频教程中的内容可能不会修正&lt;/p&gt;
&lt;p&gt;此教程链接只在steam创意工坊以及其他教程内发布,因此默认您是从创意工坊来的,所以本篇不会有指向steam创意工坊的链接&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;:::warning
黑屏问题已知,但由于相关补丁文件在完成后,从未进行过任何二次更改,且在1.78及以前的版本可正常使用(可先降级至1.78版本体验,方法见叛逆神魂更新公告);因此我倾向于是叛逆神魂更新导致的问题
:::&lt;/p&gt;
&lt;h2&gt;教程&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;本博客(本帖包含教程)&lt;/li&gt;
&lt;li&gt;QQ群 (530516796)&lt;/li&gt;
&lt;/ol&gt;
&lt;blockquote&gt;
&lt;p&gt;此群已被群风险提醒,如果炸了请等待新群或先加入 &lt;strong&gt;Discord/TG&lt;/strong&gt; 群组. &lt;s&gt;没炸也可以加一下备用&lt;/s&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;ol&gt;
&lt;li&gt;&lt;a href=&quot;https://discord.gg/ug7SRYDwVe&quot;&gt;Discord&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.bilibili.com/video/BV1LZqZBJEn5/&quot;&gt;BiliBili&lt;/a&gt; &lt;strong&gt;(视频教程)&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.youtube.com/watch?v=WYZ7S4dEoEg&quot;&gt;YouTube&lt;/a&gt; &lt;strong&gt;(视频教程)&lt;/strong&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;h2&gt;补丁文件&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;QQ群群文件&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://discord.gg/ug7SRYDwVe&quot;&gt;Discord&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://t.me/cmtyxsc&quot;&gt;TG&lt;/a&gt; (已绑定讨论群组,亦可加入讨论群组;如果找不到补丁文件请使用搜索功能搜索频道内容&lt;code&gt;#叛逆神魂&lt;/code&gt;)&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://cmtyx-my.sharepoint.com/:f:/g/personal/cmty_cmtyx_onmicrosoft_com/IgACRwpRLy1KR67XufCsk0VeARSgEhqMPxzUoccpDKLQZkc&quot;&gt;OneDrive&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;h1&gt;补丁安装教程&lt;/h1&gt;
&lt;ol&gt;
&lt;li&gt;下载对应角色的补丁文件&lt;/li&gt;
&lt;li&gt;Steam右键叛逆神魂-&amp;gt;管理-&amp;gt;浏览本地文件-&amp;gt;将地址栏的 &lt;code&gt;common\GODSOUL&lt;/code&gt; 替换为 &lt;code&gt;workshop\content\1213300&lt;/code&gt; (这个文件夹即是叛逆神魂创意工坊目录)&lt;br /&gt;
&lt;strong&gt;Steam Deck&lt;/strong&gt; 用户替换为 &lt;code&gt;workshop/content/1213300&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;补丁文件的数字即是ModID,将压缩包内文件覆盖至相同ModID的文件夹&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;启动游戏! 读取存档后找到对应角色的好感度剧情&lt;/p&gt;
&lt;h2&gt;不常见问题&lt;/h2&gt;
&lt;blockquote&gt;
&lt;p&gt;这些问题真的不常见,一般不会遇到问题&lt;/p&gt;
&lt;/blockquote&gt;
&lt;ol&gt;
&lt;li&gt;Q: 订阅后没有创意工坊目录&lt;br /&gt;
A: 尝试手动创建对应目录,然后安装补丁文件(别问我,我不知道为什么喵,问steam喵)&lt;/li&gt;
&lt;li&gt;Q: 订阅模组或安装补丁后,游戏内对应角色没有出现所订阅模组的好感度剧情&lt;br /&gt;
A: 请检查游戏版本确保为最新版本或 &lt;strong&gt;EA1.68&lt;/strong&gt; 及以上的版本,考古版本可能还未支持创意工坊~&lt;/li&gt;
&lt;li&gt;什么!?你还有问题!?评论区留言或通过QQ/Discord/TG向我(昵称:&lt;strong&gt;璨梦踏月&lt;/strong&gt;)联系;请勿直接通过steam发送好友申请,陌生人一般不会同意&lt;/li&gt;
&lt;/ol&gt;
</content:encoded><author>璨梦踏月</author></item><item><title>通过render+supabase部署umami</title><link>https://blog.canmoe.com/posts/umami-supabase-render/</link><guid isPermaLink="true">https://blog.canmoe.com/posts/umami-supabase-render/</guid><pubDate>Sun, 07 Dec 2025 00:00:00 GMT</pubDate><content:encoded>&lt;h1&gt;supabase&lt;/h1&gt;
&lt;p&gt;https://supabase.com/&lt;/p&gt;
&lt;p&gt;创建新项目，点击上方的&lt;strong&gt;Connet&lt;/strong&gt;，&lt;strong&gt;Method&lt;/strong&gt;切换到&lt;strong&gt;Session pooler&lt;/strong&gt;，复制并将&lt;code&gt;[YOUR-PASSWORD]&lt;/code&gt;替换为你的密码然后保存，如果遗忘可以在数据库设置中进行重置(像我这样的笨蛋已经忘记密码了)&lt;/p&gt;
&lt;h1&gt;render&lt;/h1&gt;
&lt;p&gt;https://dashboard.render.com/&lt;/p&gt;
&lt;p&gt;创建项目选&lt;strong&gt;Web Services&lt;/strong&gt;，&lt;strong&gt;Image&lt;/strong&gt;填&lt;code&gt;docker.umami.is/umami-software/umami:postgresql-latest&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;环境变量&lt;/p&gt;
&lt;p&gt;必须&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Key&lt;/th&gt;
&lt;th&gt;Value&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;APP_SECRET&lt;/td&gt;
&lt;td&gt;random string&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;DATABASE_URL&lt;/td&gt;
&lt;td&gt;在supabase保存的内容&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;可选&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Key&lt;/th&gt;
&lt;th&gt;Value&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;TRACKER_SCRIPT_NAME&lt;/td&gt;
&lt;td&gt;自定义你的脚本名称，可以帮助你避免某些广告拦截器&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;DATABASE_TYPE&lt;/td&gt;
&lt;td&gt;postgresql&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;更多环境变量请见 https://umami.is/docs/environment-variables&lt;/p&gt;
&lt;p&gt;之后部署即可&lt;/p&gt;
&lt;h1&gt;保活&lt;/h1&gt;
&lt;p&gt;使用任意手段，每10分钟访问一次你的网页(理论14分钟也可以)，例如uptimebot&lt;/p&gt;
</content:encoded><author>璨梦踏月</author></item><item><title>Git 双仓库同步与提交压缩实战指南</title><link>https://blog.canmoe.com/posts/github-repo-sync-rebase/</link><guid isPermaLink="true">https://blog.canmoe.com/posts/github-repo-sync-rebase/</guid><description>实现私有仓库轻松同步公开仓库的更新，并通过 rebase 优雅地压缩提交历史</description><pubDate>Sun, 16 Nov 2025 00:00:00 GMT</pubDate><content:encoded>&lt;p&gt;:::caution[AI内容警告]&lt;/p&gt;
&lt;p&gt;本文使用了AI润色,更多内容请看&lt;a href=&quot;../sth/#%E5%85%B3%E4%BA%8Eaigc&quot;&gt;文章内容说明&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;:::&lt;/p&gt;
&lt;h1&gt;初始化&lt;/h1&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;首先使用&lt;code&gt;git init&lt;/code&gt;进行初始化(这里假设是全新私有仓库,如果需要在现有仓库则跳过此步)&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;code&gt;git commit --allow-empty -m &quot;Initial commit&quot;&lt;/code&gt;创建一个空提交&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;code&gt;git remote add origin https://github.com/your-username/my-awesome-project.git&lt;/code&gt;添加你的远程私有仓库(替换链接)&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;h1&gt;设置上游并合并&lt;/h1&gt;
&lt;p&gt;:::note
下文的所有&lt;code&gt;upstream&lt;/code&gt;均可自定义为你想要的上游仓库的名称,&lt;code&gt;master&lt;/code&gt;修改为实际你需要同步的上游仓库分支的名称(一般主分支名称为&lt;code&gt;main&lt;/code&gt;或&lt;code&gt;master&lt;/code&gt;)
:::&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;使用&lt;code&gt;git remote add upstream https://github.com/your-username/my-awesome-project.git&lt;/code&gt;添加上游公开仓库&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;code&gt;git fetch upstream&lt;/code&gt;获取上游仓库最新内容&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;code&gt;git merge upstream/master&lt;/code&gt;合并上游仓库(注意主分支名称)
:::tip
如果出现&lt;code&gt;fatal: refusing to merge unrelated histories&lt;/code&gt;报错是正常的,因为提交历史不同,添加&lt;code&gt;--allow-unrelated-histories&lt;/code&gt;参数强制合并即可:&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;pre&gt;&lt;code&gt;git merge --allow-unrelated-histories upstream/master
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;如果不希望合并立即被提交可以使用&lt;code&gt;git merge --squash upstream/main&lt;/code&gt;，&lt;code&gt;--squash&lt;/code&gt; 参数会把文件变更应用到你当前的工作区和暂存区。&lt;/p&gt;
&lt;p&gt;如果是在已有仓库上合并,可能会出现大量文件冲突,需要手动解决冲突。
:::&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;code&gt;git tag last-sync-point upstream/master&lt;/code&gt;在上游的提交添加标签用于后续增量同步内容&lt;/li&gt;
&lt;/ol&gt;
&lt;h1&gt;后续同步&lt;/h1&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;&lt;code&gt;git fetch upstream&lt;/code&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;code&gt;git diff last-sync-point upstream/master &amp;gt; upstream.patch&lt;/code&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;code&gt;git apply --reject upstream.patch&lt;/code&gt; 然后解决冲突(如果有),删除&lt;code&gt;upstream.patch&lt;/code&gt;文件并提交
:::tip
推荐使用 &lt;code&gt;--reject&lt;/code&gt; 选项，它可以在发生冲突时，生成&lt;code&gt;.rej&lt;/code&gt;文件而不会报错终止；
如果遇到冲失败需要手动查看&lt;code&gt;.rej&lt;/code&gt;并处理内容
:::&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;更新标签&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;pre&gt;&lt;code&gt;# 先删除旧的标签
git tag -d last-sync-point

# 获取 upstream/master 最新的哈希值，并创建同名新标签
git tag last-sync-point upstream/master
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;:::tip
如果你的情况比较复杂，那么我建议还是使用merge来合并上游仓库吧 (&lt;/p&gt;
&lt;p&gt;如果遇到大量&lt;code&gt;.rej&lt;/code&gt;文件生成,也可以考虑使用AI辅助处理冲突内容,但是注意审查AI修改后的内容
:::&lt;/p&gt;
&lt;h2&gt;压缩提交&lt;/h2&gt;
&lt;p&gt;:::caution
&amp;lt;mark style=&quot;background: #FFF3A3A6;&quot;&amp;gt;&lt;strong&gt;重要警告&lt;/strong&gt;&amp;lt;/mark&amp;gt;：&lt;code&gt;git rebase&lt;/code&gt; 会&lt;strong&gt;重写历史&lt;/strong&gt;。这意味着你需要使用 &lt;code&gt;git push --force&lt;/code&gt;(&lt;strong&gt;强制推送&lt;/strong&gt;)。请确保这个分支只有你一个人在用，或者你的所有协作者都清楚你在重写历史，并知道如何同步
:::&lt;/p&gt;
&lt;p&gt;假设当前 Git 历史如下：&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;A --- B --- C --- D   &amp;lt;-- main, origin/main
&lt;/code&gt;&lt;/pre&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;code&gt;A&lt;/code&gt; 是你上次从 upstream 同步后得到的那个“大”提交。&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;code&gt;B&lt;/code&gt;, &lt;code&gt;C&lt;/code&gt;, &lt;code&gt;D&lt;/code&gt; 是你在这段时间内自己做的三个新提交。&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;目标把 &lt;code&gt;B&lt;/code&gt;, &lt;code&gt;C&lt;/code&gt;, &lt;code&gt;D&lt;/code&gt; 压缩成一个提交 &lt;code&gt;BCD&lt;/code&gt;:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;A --- BCD   &amp;lt;-- main
&lt;/code&gt;&lt;/pre&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;找到 &lt;code&gt;A&lt;/code&gt; 提交的哈希值,复制它哈希值的前 7 位以上(假设是 &lt;code&gt;a1b2c3d&lt;/code&gt;)&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;使用交互式变基&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;pre&gt;&lt;code&gt;git rebase -i a1b2c3d
&lt;/code&gt;&lt;/pre&gt;
&lt;ol&gt;
&lt;li&gt;执行命令后，Git 会打开一个文本编辑器，里面是这样的内容：&lt;/li&gt;
&lt;/ol&gt;
&lt;pre&gt;&lt;code&gt;pick b1b2b3b Commit message of B
pick c1c2c3c Commit message of C
pick d1d2d3d Commit message of D

# Rebase ...
# ... (注释说明)
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;需要修改这个文件来告诉 Git 如何压缩。把第二行及以后的 &lt;code&gt;pick&lt;/code&gt; 改成 &lt;code&gt;s&lt;/code&gt; (squash) 或者 &lt;code&gt;f&lt;/code&gt; (fixup)。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;code&gt;s&lt;/code&gt; (squash): 会把这个提交和上一个提交合并，并且让你重新编辑合并后的提交信息。&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;code&gt;f&lt;/code&gt; (fixup): 和 &lt;code&gt;s&lt;/code&gt; 一样，但会直接丢弃这个提交的信息，使用上一个的。&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;修改成这样：&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;pick b1b2b3b Commit message of B
s c1c2c3c Commit message of C
s d1d2d3d Commit message of D
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;保存并关闭。&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;编写新的提交信息&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;因为你使用了 &lt;code&gt;squash&lt;/code&gt;，Git 会再次打开编辑器，让你为这个合并后的新提交（&lt;code&gt;BCD&lt;/code&gt;）写一个新的、总结性的提交信息。比如 &quot;Feature: Add user login and profile page&quot;。写好后保存退出。推送到远程仓库即可(需要使用 &lt;code&gt;-f&lt;/code&gt; 强制推送)。&lt;/p&gt;
</content:encoded><author>璨梦踏月</author></item><item><title>5TB OneDrive存储空间,微软Office 365 E3订阅免费购买</title><link>https://blog.canmoe.com/posts/ms-e3-od-5t/</link><guid isPermaLink="true">https://blog.canmoe.com/posts/ms-e3-od-5t/</guid><description>该订阅包含企业日常所需的全套办公工具，每位用户可在最多 5 台电脑 / Mac、5 台平板电脑和 5 部手机上安装使用。涵盖 Word、Excel、PowerPoint 等基础办公软件，还包含 Outlook（邮件与日程管理）、OneNote（笔记工具）、SharePoint（企业内容管理与协作平台）、OneDrive（个人云存储）等，满足文档编辑、团队协作等基础需求。</description><pubDate>Fri, 14 Nov 2025 00:00:00 GMT</pubDate><content:encoded>&lt;h1&gt;注册账号&lt;/h1&gt;
&lt;p&gt;(如果已有&lt;strong&gt;Microsoft 365 Admin Center&lt;/strong&gt;账号并且确保你有管理员权限就跳过此步)&lt;/p&gt;
&lt;p&gt;https://signup.microsoft.com/get-started/signup?products=35dffc92-9eb4-4d5c-82c2-2582b37bb9c4&amp;amp;culture=zh-cn&amp;amp;country=cn&lt;/p&gt;
&lt;p&gt;推荐注册国区(可以选择Alipay,且实际不需要绑定)(其他区域需要对应区域的Visa卡或万事达等国外银行卡,修改country=你需要的区域)&lt;/p&gt;
&lt;p&gt;(纳税人识别号随便填写一个15位数即可)&lt;/p&gt;
&lt;p&gt;(最后会要求验证信用卡,可以直接下一步的链接购买E3)&lt;/p&gt;
&lt;h2&gt;购买E3&lt;/h2&gt;
&lt;p&gt;:::tip
不用修改数量, “选择许可证数量”已为 25 个
:::&lt;/p&gt;
&lt;p&gt;https://admin.cloud.microsoft/?pid=C69E7747-2566-4897-8CBA-B998ED3BAB88&amp;amp;quan=25&amp;amp;bc=1&amp;amp;sku=189a915c-fe4f-4ffa-bde4-85b9628d07a0&amp;amp;ru=PDP#/Purchase/checkout&lt;/p&gt;
&lt;h1&gt;设置OneDrive&lt;/h1&gt;
&lt;p&gt;进入主页&lt;/p&gt;
&lt;p&gt;https://admin.cloud.microsoft/#/homepage&lt;/p&gt;
&lt;p&gt;左侧 账单(Billing) -&amp;gt; 你的产品(Your products) -&amp;gt; Office 365 E3 Developer -&amp;gt; 分配许可证(Assign licenses)&lt;br /&gt;
分配给你的账户
:::tip
建议修改计费频率为年付,如果修改时有任何报错,等待一段时间再试
:::&lt;/p&gt;
&lt;p&gt;回到主页 -&amp;gt; 点击全部显示(Show all) -&amp;gt; 点击管理中心(Admin centers)下的SharePoint (如果没有请等待几分钟) -&amp;gt; 设置 -&amp;gt; 存储限制(为用户设置默认存储限制) -&amp;gt; 修改为5120&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;images/ms-e3-od-5t-2.png&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;
&lt;p&gt;打开 https://myapplications.microsoft.com/ 点击OneDrive,如果无法打开/主页提示出了点问题请等待一段时间(可能长达数小时甚至12小时及以上)&lt;/p&gt;
&lt;p&gt;回到主页 -&amp;gt; 用户(Users) -&amp;gt; 活跃用户(Active users) -&amp;gt; 选择你的用户 -&amp;gt; OneDrive -&amp;gt; 编辑(Edit) -&amp;gt; 存储限制(Storage limit)改为此用户的最大存储空间(Maximum storage for this user)
&lt;img src=&quot;images/ms-e3-od-5t-3.png&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;
&lt;hr /&gt;
&lt;p&gt;结束!&lt;/p&gt;
&lt;hr /&gt;
&lt;p&gt;参考资料:&lt;/p&gt;
&lt;p&gt;https://forum.naixi.net/thread-6702-1-1.html&lt;/p&gt;
&lt;p&gt;https://forum.naixi.net/forum.php?mod=viewthread&amp;amp;tid=6723&lt;/p&gt;
&lt;p&gt;https://blog.2b2x.cn/posts/ms-e3/&lt;/p&gt;
&lt;p&gt;https://www.tr0.cn/officefore3/&lt;/p&gt;
&lt;p&gt;https://www.nodeseek.com/post-504804-1&lt;/p&gt;
&lt;p&gt;https://www.nodeseek.com/post-505193-1&lt;/p&gt;
</content:encoded><author>璨梦踏月</author></item><item><title>解决Windows下DNS泄露问题</title><link>https://blog.canmoe.com/posts/windows-dns-leak/</link><guid isPermaLink="true">https://blog.canmoe.com/posts/windows-dns-leak/</guid><pubDate>Tue, 21 Oct 2025 00:00:00 GMT</pubDate><content:encoded>&lt;p&gt;导致DNS泄露的原因主要就两种:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;配置不对导致的&lt;/li&gt;
&lt;li&gt;Windows导致的(智能多宿主名称解析)&lt;/li&gt;
&lt;/ol&gt;
&lt;h1&gt;正确配置DNS&lt;/h1&gt;
&lt;p&gt;:::note
此处DNS配置&lt;strong&gt;仅适用于mihomo内核&lt;/strong&gt;,其他内核格式与此不同&lt;/p&gt;
&lt;p&gt;另外在DNS配置中始终不要使用&lt;strong&gt;fallback&lt;/strong&gt;,这会直接导致泄露
:::&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;(推荐) 使用fake-ip
:::tip
在fake-ip模式下,所有的DNS请求均会返回一个虚假IP地址,&lt;strong&gt;DNS 解析的责任从代理客户端转移到了代理服务器、尽可能避免在本地进行 DNS 解析，因此 Fake IP 无需额外的 DNS 转发配置、天生就具备「无视 DNS 污染」和「CDN 体验优化」两大优势。&lt;/strong&gt;&lt;a href=&quot;%5B%E5%BC%95%E7%94%A8%5D(https://blog.skk.moe/post/lets-talk-about-dns-cdn-fake-ip/#:~:text=DNS%20%E8%A7%A3%E6%9E%90%E7%9A%84%E8%B4%A3%E4%BB%BB%E4%BB%8E%E4%BB%A3%E7%90%86%E5%AE%A2%E6%88%B7%E7%AB%AF%E8%BD%AC%E7%A7%BB%E5%88%B0%E4%BA%86%E4%BB%A3%E7%90%86%E6%9C%8D%E5%8A%A1%E5%99%A8%E3%80%81%E5%B0%BD%E5%8F%AF%E8%83%BD%E9%81%BF%E5%85%8D%E5%9C%A8%E6%9C%AC%E5%9C%B0%E8%BF%9B%E8%A1%8C%20DNS%20%E8%A7%A3%E6%9E%90%EF%BC%8C%E5%9B%A0%E6%AD%A4%20Fake%20IP%20%E6%97%A0%E9%9C%80%E9%A2%9D%E5%A4%96%E7%9A%84%20DNS%20%E8%BD%AC%E5%8F%91%E9%85%8D%E7%BD%AE%E3%80%81%E5%A4%A9%E7%94%9F%E5%B0%B1%E5%85%B7%E5%A4%87%E3%80%8C%E6%97%A0%E8%A7%86%20DNS%20%E6%B1%A1%E6%9F%93%E3%80%8D%E5%92%8C%E3%80%8CCDN%20%E4%BD%93%E9%AA%8C%E4%BC%98%E5%8C%96%E3%80%8D%E4%B8%A4%E5%A4%A7%E4%BC%98%E5%8A%BF%E3%80%82)&quot;&gt;^fake-ip&lt;/a&gt;&lt;br /&gt;
因此,由于DNS解析不在本地进行(直连访问依然是本地解析),配置极为简单,只需要配置&lt;code&gt;default-nameserver&lt;/code&gt;和&lt;code&gt;nameserver&lt;/code&gt;为国内DNS即可
:::&lt;/li&gt;
&lt;/ol&gt;
&lt;pre&gt;&lt;code&gt;dns:
  enable: true
  enhanced-mode: fake-ip
  fake-ip-filter-mode: blacklist
  fake-ip-range: 28.0.0.1/8

  # 其他设置
  
  # 默认 DNS, 用于解析 DNS 服务器 的域名
  # 必须为 IP, 可为加密 DNS
  # 推荐使用国内DNS/运营商DNS
  default-nameserver:
    - tls://223.5.5.5
  # 访问直连域名使用的DNS服务器
  # 默认的域名解析服务器
  # 推荐使用国内DNS/运营商DNS
  nameserver:
    - https://dns.alidns.com/dns-query
    - https://doh.pub/dns-query
&lt;/code&gt;&lt;/pre&gt;
&lt;ol&gt;
&lt;li&gt;使用redir-host&lt;/li&gt;
&lt;/ol&gt;
&lt;pre&gt;&lt;code&gt;dns:
  enable: true
  enhanced-mode: redir-host

  # 其他设置

  # 默认 DNS, 用于解析 DNS 服务器 的域名
  # 必须为 IP, 可为加密 DNS
  # 推荐使用国内DNS/运营商DNS
  default-nameserver:
    - tls://223.5.5.5
  # 访问非直连域名使用的DNS服务器
  # 推荐使用国内外DNS
  # 把下方#后的 自动选择 和 节点选择 替换为你的配置中真实的代理组(这个代理组的节点会用于访问DNS),这里仅为示例
  nameserver:
    - tls://1.1.1.1#自动选择
    - https://dns.google/dns-query#节点选择
  # 访问直连域名使用的DNS服务器
  # 推荐使用国内DNS/运营商DNS
  direct-nameserver:
    - https://dns.alidns.com/dns-query
    - https://doh.pub/dns-query
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;:::tip
你也可以使用客户端接管DNS设置并使用客户端的使用图形化界面进行调整(如果支持的话)
:::&lt;/p&gt;
&lt;h1&gt;智能多宿主名称解析&lt;/h1&gt;
&lt;p&gt;&quot;智能多宿主名称解析&quot;（LLMNR，Link-Local Multicast Name Resolution）是微软引入Windows的加快DNS解析速度的功能，通过在所有可用的网络适配器上发送DNS请求来实现，并自动选择返回速度最快的信息。&lt;br /&gt;
简单来说,这会导致在tun模式下DNS泄露(系统代理模式下不受此影响,如果系统代理模式下泄露请检查配置)(会给你系统默认的网卡发送一个 DNS 请求)&lt;/p&gt;
&lt;h2&gt;关闭方法&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;打开组策略( Win + R 输入 gpedit.msc 回车)&lt;/li&gt;
&lt;li&gt;计算机配置-&amp;gt;管理模板-&amp;gt;网络-&amp;gt;DNS 客户端&lt;/li&gt;
&lt;li&gt;右侧找到 &lt;strong&gt;禁用智能多宿主名称解析&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;双击,在弹出窗口中选择&lt;strong&gt;已启用&lt;/strong&gt;并确定&lt;/li&gt;
&lt;/ol&gt;
&lt;h1&gt;依然泄露?&lt;/h1&gt;
&lt;p&gt;请检查规则中是否存在IP类规则,如有请添加&lt;code&gt;no-resolve&lt;/code&gt;参数&lt;/p&gt;
&lt;p&gt;除了配置的问题之外&lt;/p&gt;
&lt;p&gt;例如Firefox/Zen浏览器在经过上面两步后依然泄露,但是在相同情况下Chrome/Edge浏览器不泄漏&lt;/p&gt;
&lt;p&gt;有两种解决办法:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;启用严格路由&lt;/li&gt;
&lt;/ol&gt;
&lt;ul&gt;
&lt;li&gt;在tun的配置中增加 &lt;code&gt;strict-route: true&lt;/code&gt; 或者 在你的客户端中修改tun模式的配置
:::warning
这将将所有连接路由到 tun 来防止泄漏，&lt;strong&gt;但你的设备将无法其他设备被访问&lt;/strong&gt;&lt;br /&gt;
(如遇内网无法访问,可以尝试添加排除自定义网段)
:::&lt;/li&gt;
&lt;/ul&gt;
&lt;ol&gt;
&lt;li&gt;修改Firefox的设置(两种办法,Zen同理)
&lt;ol&gt;
&lt;li&gt;修改&lt;strong&gt;基于 HTTPS 的 DNS&lt;/strong&gt;为&lt;strong&gt;最大保护&lt;/strong&gt; (绕过系统及内核的DNS)&lt;/li&gt;
&lt;li&gt;在内核设置中开放混合端口(默认7890)打开Firefox的连接设置,改为手动配置代理,在&lt;strong&gt;SOCKS 主机&lt;/strong&gt;主机处填写IP(mihomo内核运行在本机使用就127.0.0.1)和端口(默认7890),确保使用&lt;strong&gt;SOCKS_v5&lt;/strong&gt;,并勾选&lt;strong&gt;使用 SOCKS v5 时代理 DNS 查询&lt;/strong&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;如果你还想了解&lt;strong&gt;更多DNS/fake-ip相关的内容&lt;/strong&gt;,建议阅读&lt;a href=&quot;https://blog.skk.moe/post/lets-talk-about-dns-cdn-fake-ip/&quot;&gt;Sukka的博客&lt;/a&gt;&lt;/p&gt;
&lt;h1&gt;参考资料:&lt;/h1&gt;
&lt;p&gt;https://linux.do/t/topic/198120&lt;/p&gt;
&lt;p&gt;https://linux.do/t/topic/1061825&lt;/p&gt;
&lt;p&gt;https://medium.com/@ValdikSS/beware-of-windows-10-dns-resolver-and-dns-leaks-5bc5bfb4e3f1&lt;/p&gt;
&lt;p&gt;https://wiki.metacubex.one/config/dns/#default-nameserver&lt;/p&gt;
&lt;p&gt;https://finalpi.github.io/post/002.html&lt;/p&gt;
&lt;p&gt;https://www.v2ex.com/t/1034325&lt;/p&gt;
</content:encoded><author>璨梦踏月</author></item><item><title>Backblaze免费存储无银行卡外网无限流量访问教程</title><link>https://blog.canmoe.com/posts/backblaze-free-stored/</link><guid isPermaLink="true">https://blog.canmoe.com/posts/backblaze-free-stored/</guid><pubDate>Tue, 14 Oct 2025 00:00:00 GMT</pubDate><content:encoded>&lt;p&gt;免费10GB,流量无限
:::note
Backblaze加入了CloudFlare的 &lt;a href=&quot;https://www.cloudflare.com/bandwidth-alliance/&quot;&gt;带宽联盟（ Bandwidth Alliance）&lt;/a&gt; Backblaze与CloudFlare之间的流量直接免费，也就是每天&lt;strong&gt;无限量&lt;/strong&gt;下行流量，配上CloudFlare超长缓存，每天下载请求无限次免费&lt;br /&gt;
&lt;strong&gt;注意：如果是公网访问，1GB流量是免费的，如果前面套了 Cloudflare 的CDN，那基本是全免了&lt;/strong&gt;
:::
:::tip
部分内容参考&lt;a href=&quot;https://linux.do/t/topic/23970&quot;&gt;Linux Do&lt;/a&gt;
本文可能会省略一些过程
:::&lt;/p&gt;
&lt;h1&gt;开始&lt;/h1&gt;
&lt;h2&gt;需要准备的内容&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;注册 &lt;a href=&quot;https://www.backblaze.com/&quot;&gt;Backblaze&lt;/a&gt; 账号&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;注册 Cloudflare 账号,并且有一个托管在 Cloudflare 上的域名&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;前置内容&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;在Cloudflare增加一个你准备用于访问存储桶的域名(开启小黄云也就是代理,CNAME向任意地址)&lt;/li&gt;
&lt;li&gt;Cloudflare 左侧栏点击&lt;strong&gt;规则&lt;/strong&gt;-&amp;gt;&lt;strong&gt;创建规则&lt;/strong&gt;-&amp;gt;&lt;strong&gt;URL 重写规则&lt;/strong&gt;,名称随意,选择&lt;strong&gt;自定义筛选表达式&lt;/strong&gt;,字段选择&lt;strong&gt;主机名&lt;/strong&gt;,运算符选择&lt;strong&gt;等于&lt;/strong&gt;,值输入在步骤1中添加的域名,路径选择&lt;strong&gt;重写到...&lt;/strong&gt;,内容随意写,然后部署,然后再次编辑刚刚创建的&lt;strong&gt;URL 重写规则&lt;/strong&gt;,&lt;strong&gt;随意修改一点内容&lt;/strong&gt;,然后部署(这里的内容后续都会被&lt;strong&gt;CloudFlare Workers&lt;/strong&gt;覆盖,因此可以随意填写)&lt;/li&gt;
&lt;li&gt;Cloudflare &lt;strong&gt;转到账户概述&lt;/strong&gt;-&amp;gt;&lt;strong&gt;管理账号&lt;/strong&gt;-&amp;gt;&lt;strong&gt;审核日志&lt;/strong&gt;-&amp;gt;稍等几分钟日志出现-&amp;gt;找到操作类型为&lt;strong&gt;update&lt;/strong&gt;,资源为&lt;strong&gt;rulesets&lt;/strong&gt;,参与者电子邮箱为你的账号邮箱,参与者上下文为&lt;strong&gt;dash&lt;/strong&gt;,点击右侧详细信息,找到&lt;strong&gt;raw&lt;/strong&gt;部分的&lt;strong&gt;uri&lt;/strong&gt;部分,内容类似&lt;/li&gt;
&lt;/ol&gt;
&lt;pre&gt;&lt;code&gt;/zones/3abcxxxxxxxxxxxxx9e79b/rulesets/741axxxxxxxxxxxx1b228c/rules/24abafxxxxxxxxxxxxxxxfd63e7
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&lt;strong&gt;zones&lt;/strong&gt;后的&lt;strong&gt;3abcxxxxxxxxxxxxx9e79b&lt;/strong&gt;就是区域ID,复制并保存,&lt;strong&gt;rulesets&lt;/strong&gt;是规则集ID,复制并保存,rules是规则ID,复制并保存
4. Cloudflare 主界面右上角,进入&lt;strong&gt;配置文件&lt;/strong&gt;(个人资料)-&amp;gt;&lt;strong&gt;API令牌&lt;/strong&gt;-&amp;gt;&lt;strong&gt;创建令牌&lt;/strong&gt;-&amp;gt;&lt;strong&gt;创建自定义令牌&lt;/strong&gt;-&amp;gt;名称随意,添加两个权限&lt;strong&gt;账户 - 账户规则集 - 读取&lt;/strong&gt;,&lt;strong&gt;区域 - 转换规则 - 编辑&lt;/strong&gt;&lt;img src=&quot;images/backblaze-free-stored-1.png&quot; alt=&quot;&quot; /&gt;然后保存,&lt;strong&gt;妥善保存这个 CloudFlare API 令牌&lt;/strong&gt;&lt;/p&gt;
&lt;h2&gt;存储桶&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;打开 Backblaze ,创建存储桶(私有桶,公共桶要求一次性付款一美元或者有历史付款记录),保存存储桶名&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Application Keys&lt;/strong&gt;-&amp;gt;&lt;strong&gt;Add a New Application Key&lt;/strong&gt;-&amp;gt;名称随意,&lt;strong&gt;Allow access to Bucket&lt;/strong&gt;选择步骤1中创建的存储桶(all也可以,如果你就这一个存储桶的话),然后点击下方按钮创建密钥,&lt;strong&gt;妥善保存keyID和applicationKey&lt;/strong&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;h2&gt;Workers&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;打开Cloudflare,进入&lt;strong&gt;Workers 和 pages&lt;/strong&gt;-&amp;gt;&lt;strong&gt;创建应用程序&lt;/strong&gt;-&amp;gt;&lt;strong&gt;从 Hello World! 开始&lt;/strong&gt;-&amp;gt;名称随意,自己认识/知道是干什么的即可,点击部署-&amp;gt;点击设置,找到&lt;strong&gt;变量和机密&lt;/strong&gt;,点击添加&lt;/li&gt;
&lt;/ol&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;变量名&lt;/th&gt;
&lt;th&gt;值&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;B2KeyID&lt;/td&gt;
&lt;td&gt;Backblaze 的 &lt;code&gt;keyID&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;B2AppKey&lt;/td&gt;
&lt;td&gt;Backblaze 的 &lt;code&gt;applicationKey&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;B2BucketName&lt;/td&gt;
&lt;td&gt;Backblaze 的存储桶名&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;CfAuthKey&lt;/td&gt;
&lt;td&gt;上面创建的 CloudFlare API 令牌&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;CfHostname&lt;/td&gt;
&lt;td&gt;CloudFlare CNAME好的域名&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;CfZoneID&lt;/td&gt;
&lt;td&gt;区域 ID&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;CfRulesetID&lt;/td&gt;
&lt;td&gt;规则集 ID&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;CfRuleID&lt;/td&gt;
&lt;td&gt;规则 ID&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;添加完成后选择保存版本(如果手快选择了部署也无所谓),右上角&lt;strong&gt;编辑代码&lt;/strong&gt;,复制下方代码,然后部署&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;addEventListener(&quot;fetch&quot;, (event) =&amp;gt; {
  event.respondWith(handleRequest(event.request));
});
addEventListener(&quot;scheduled&quot;, (event) =&amp;gt; {
  event.waitUntil(updateRule());
});

const getB2Token = async () =&amp;gt; {
  const res = await fetch(
    &quot;https://api.backblazeb2.com/b2api/v2/b2_authorize_account&quot;,
    {
      headers: {
        Authorization: &quot;Basic &quot; + btoa(B2KeyID + &quot;:&quot; + B2AppKey),
      },
    }
  );
  const data = await res.json();
  return data.authorizationToken;
};

const updateRule = async () =&amp;gt; {
  const b2Token = await getB2Token();

  const res = await fetch(
    `https://api.cloudflare.com/client/v4/zones/${CfZoneID}/rulesets/${CfRulesetID}/rules/${CfRuleID}`,
    {
      method: &quot;PATCH&quot;,
      headers: {
        &quot;Authorization&quot;: `Bearer ${CfAuthKey}`
      },
      body: 
      `{
        &quot;description&quot;: &quot;修改Backblaze桶地址和访问令牌&quot;,
        &quot;action&quot;: &quot;rewrite&quot;,
        &quot;expression&quot;: &quot;(http.host eq \\\&quot;${CfHostname}\\\&quot; and not starts_with(http.request.uri.path, \\\&quot;/file/${B2BucketName}\\\&quot;))&quot;,
        &quot;action_parameters&quot;: {
          &quot;uri&quot;: {
              &quot;path&quot;: {
                  &quot;expression&quot;: &quot;concat(\\\&quot;/file/${B2BucketName}\\\&quot;, http.request.uri.path)&quot;
              },
              &quot;query&quot;: {
                  &quot;value&quot;: &quot;Authorization=${b2Token}&quot;
              }
          }
        }
      }`,
    }
  );

  const data = await res.text();
  console.log(data);
  return data;
};

async function handleRequest(request) {
  const data = await updateRule();
  return new Response(data);
}
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;如果代码错误,请访问:&lt;/p&gt;
&lt;p&gt;https://gist.github.com/longsays/0527603c1d6b883b73e7249e053b83da&lt;/p&gt;
&lt;p&gt;部署完成后访问,看到如下界面则代表成功&lt;img src=&quot;images/backblaze-free-stored-2.jpg&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;
&lt;p&gt;最后,进入设置-&amp;gt;触发事件-&amp;gt;Cron 触发器-&amp;gt;Cron 表达式-&amp;gt;输入&lt;code&gt;0 4,16 * * *&lt;/code&gt;&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;BackBlaze的文档说一个 Token 的有效期&lt;strong&gt;最大不超过 24 小时&lt;/strong&gt;，我为了保险起见，选择每天两次触发这个 Worker 来生成一个新的 Token&lt;/p&gt;
&lt;/blockquote&gt;
</content:encoded><author>璨梦踏月</author></item><item><title>折腾中柏N100迷你主机记录</title><link>https://blog.canmoe.com/posts/jumper-n100/</link><guid isPermaLink="true">https://blog.canmoe.com/posts/jumper-n100/</guid><pubDate>Sun, 21 Sep 2025 00:00:00 GMT</pubDate><content:encoded>&lt;h1&gt;前言&lt;/h1&gt;
&lt;p&gt;因需要一台低功耗设备长期运行作为&quot;家里云&quot;去运行某些服务,挑选很久后选择了中柏N100(闲鱼)&lt;/p&gt;
&lt;p&gt;系统选择了飞牛OS,虽然这是一个NAS系统 (还是想要一个图形化界面的)&lt;/p&gt;
&lt;hr /&gt;
&lt;h1&gt;刷入飞牛OS&lt;/h1&gt;
&lt;p&gt;:::warning&lt;/p&gt;
&lt;p&gt;在此之前,需要准备一个大于等于8G的U盘用于烧录系统&lt;/p&gt;
&lt;p&gt;如果安装前硬盘有任何重要数据请先备份&lt;/p&gt;
&lt;p&gt;:::&lt;/p&gt;
&lt;h2&gt;下载系统镜像&lt;/h2&gt;
&lt;p&gt;访问&lt;/p&gt;
&lt;p&gt;https://www.fnnas.com/&lt;/p&gt;
&lt;p&gt;选择&lt;strong&gt;下载 fnOS&lt;/strong&gt;&lt;/p&gt;
&lt;h2&gt;下载烧录工具&lt;/h2&gt;
&lt;p&gt;访问&lt;/p&gt;
&lt;p&gt;https://github.com/balena-io/etcher/releases&lt;/p&gt;
&lt;p&gt;选择适合你系统的版本进行下载&lt;/p&gt;
&lt;h2&gt;烧录系统&lt;/h2&gt;
&lt;p&gt;下载完成后打开 &lt;strong&gt;Etcher&lt;/strong&gt; ,选择&lt;strong&gt;从文件烧录&lt;/strong&gt;,选择你下载的飞牛OS镜像,然后选择你的目标磁盘,最后点击烧录&lt;/p&gt;
&lt;p&gt;等待完成,拔出U盘,&lt;s&gt;狠狠地&lt;/s&gt;插&lt;s&gt;入&lt;/s&gt;到需要装系统的设备上&lt;/p&gt;
&lt;h2&gt;安装飞牛OS&lt;/h2&gt;
&lt;h3&gt;通过U盘启动和BIOS的一些设置&lt;/h3&gt;
&lt;p&gt;启动设备,选择通过U盘启动&lt;/p&gt;
&lt;p&gt;以中柏N100为例,按 Delete 键进入 BIOS ,确保 &lt;strong&gt;Boot option #1&lt;/strong&gt;是你的U盘&lt;/p&gt;
&lt;h4&gt;设置来电开机(可选):&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;在 Advanced 选项中选择「OEM Configuration」&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;在最后一行「AC Power Loss」中选择模式&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Power Off: 关闭相关功能。
Power On: 传统意义上的来电自启，只要接通电源就会自启动。
Last State: 只有在上次关机是意外断电导致时，接通电源才会自启动。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h4&gt;设置网络唤醒(可选):&lt;/h4&gt;
&lt;p&gt;网络唤醒只能从有线网络唤醒，设置位置也在「OEM Configuration」下面。&lt;/p&gt;
&lt;p&gt;「Wake from Lan」&lt;/p&gt;
&lt;p&gt;有线网络唤醒开启后，虽然在关机时，网口的灯不亮，但可以唤醒。&lt;/p&gt;
&lt;p&gt;设置完成后按 f10+enter 重启&lt;/p&gt;
&lt;p&gt;等待一段时间进入 fnOS Install 安装界面,选择你需要把系统安装到的硬盘,系统分区和Swap大小建议默认&lt;/p&gt;
&lt;p&gt;:::warning&lt;/p&gt;
&lt;p&gt;如果硬盘有重要数据,现在是最后的备份机会
:::&lt;/p&gt;
&lt;p&gt;最后点击确定 &lt;strong&gt;这将格式化硬盘&lt;/strong&gt;&lt;/p&gt;
&lt;h3&gt;网卡设置&lt;/h3&gt;
&lt;h4&gt;使用有线网络&lt;/h4&gt;
&lt;p&gt;插入网线后一般能够自动识别,不需要管,拔出引导盘点击 保存 确定即可,然后跳转到&lt;a href=&quot;#%E8%BF%9B%E5%85%A5%E9%A3%9E%E7%89%9B&quot;&gt;进入飞牛&lt;/a&gt;&lt;/p&gt;
&lt;h4&gt;使用无线网络(需要无线网卡)&lt;/h4&gt;
&lt;p&gt;拔出引导盘,点击 保存 确定&lt;/p&gt;
&lt;p&gt;来到重启后的界面,&lt;strong&gt;确保选中Debian GNU/Linux&lt;/strong&gt;,按 E,向下移动到&lt;code&gt;linux&lt;/code&gt;所在的行,按 ctrl+e ,输入(注意开头有个空格)&lt;/p&gt;
&lt;pre&gt;&lt;code&gt; init=/bin/bash
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;输入完成后按 ctrl+x 启动系统&lt;/p&gt;
&lt;p&gt;等待出现命令行后输入并回车&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;mount -o remount,rw /
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;输入并回车&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;passwd root
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;出现&lt;code&gt;New password:&lt;/code&gt;输入新密码并回车(然后会要求再次输入相同密码,输入密码时不会显示),出现&lt;code&gt;passwd: password updated successfully&lt;/code&gt;为设置成功&lt;/p&gt;
&lt;p&gt;输入并回车&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;sync
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;输入并回车(重启系统)&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;reboot -f
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;等待出现命令行(FNOS图标)&lt;/p&gt;
&lt;p&gt;输入&lt;code&gt;root&lt;/code&gt;(用户名)回车,然后后输入密码&lt;/p&gt;
&lt;p&gt;接下来输入 查找附近WiFi&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;nmcli device wifi list
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;:::tip&lt;/p&gt;
&lt;p&gt;非英文/数字 WiFi名称会显示异常为正常情况&lt;/p&gt;
&lt;p&gt;:::&lt;/p&gt;
&lt;p&gt;输入你需要连接的WiFi名称和密码并回车(&lt;strong&gt;别漏空格和双引号&lt;/strong&gt;哦)&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;nmcli device wifi connect &quot;WiFi名称&quot; password &quot;密码&quot;
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;回车后看到&lt;code&gt;Device &apos;网卡名称&apos; successfully activated with &apos;串码&apos;&lt;/code&gt;即为连接成功&lt;/p&gt;
&lt;p&gt;输入&lt;code&gt;reboot -f&lt;/code&gt;重启&lt;/p&gt;
&lt;h3&gt;进入飞牛&lt;/h3&gt;
&lt;p&gt;进入系统后会显示&lt;code&gt;IP:port&lt;/code&gt;,直接访问即可,首次进入需要注册访问用户(此处密码不等于之前设置的root用户密码)&lt;/p&gt;
&lt;p&gt;:::tip&lt;/p&gt;
&lt;p&gt;恭喜你,现在已经安装完成并且可以访问了&lt;/p&gt;
&lt;p&gt;:::&lt;/p&gt;
&lt;h1&gt;使用飞牛OS&lt;/h1&gt;
&lt;h2&gt;创建存储空间&lt;/h2&gt;
&lt;p&gt;看个人需求自行设置即可&lt;/p&gt;
&lt;h2&gt;其他&lt;/h2&gt;
&lt;p&gt;都图形化界面了,应该不用说什么了吧&lt;/p&gt;
&lt;h2&gt;1panel&lt;/h2&gt;
&lt;p&gt;来源:&lt;/p&gt;
&lt;p&gt;https://bbs.fit2cloud.com/t/topic/6418&lt;/p&gt;
&lt;p&gt;在飞牛OS上安装1panel后可能会出现重启设备后无法访问1panel&lt;/p&gt;
&lt;p&gt;解决方法如下:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;sudo vim /etc/systemd/system/1panel.service
# 修改

[Service]
ExecStartPre=/bin/sleep 10
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;:::warning&lt;/p&gt;
&lt;p&gt;升级、快照恢复这些操作会覆盖 &lt;code&gt;/etc/systemd/system/1panel.service&lt;/code&gt; 需要重新修改
:::&lt;/p&gt;
&lt;h2&gt;切换TCP拥塞控制算法(BBR)&lt;/h2&gt;
&lt;pre&gt;&lt;code&gt;sudo -i

echo -e &quot;\nnet.core.default_qdisc=fq\nnet.ipv4.tcp_congestion_control=bbr&quot; &amp;gt;&amp;gt; /etc/sysctl.conf &amp;amp;&amp;amp; sysctl -p

sysctl net.ipv4.tcp_congestion_control
&lt;/code&gt;&lt;/pre&gt;
&lt;pre&gt;&lt;code&gt;#root@MEmini-B20E:~# sysctl net.ipv4.tcp_congestion_control

#net.ipv4.tcp_congestion_control = bbr
&lt;/code&gt;&lt;/pre&gt;
&lt;pre&gt;&lt;code&gt;如何删除:
nano /etc/sysctl.conf
编辑文件夹

删除
nnet.core.default_qdisc=fq
nnet.ipv4.tcp_congestion_control=bbr
保存退出

sysctl -p
再执行这个代码
&lt;/code&gt;&lt;/pre&gt;
</content:encoded><author>璨梦踏月</author></item><item><title>一些常用mods来源备份</title><link>https://blog.canmoe.com/posts/game-mods/</link><guid isPermaLink="true">https://blog.canmoe.com/posts/game-mods/</guid><pubDate>Thu, 18 Sep 2025 00:00:00 GMT</pubDate><content:encoded>&lt;p&gt;1.往生堂Mod（up主：往生堂桃姐aa）资源导航页：&lt;/p&gt;
&lt;p&gt;https://link3.cc/xiaohutao&lt;/p&gt;
&lt;p&gt;2.辉辉的七月时光&lt;/p&gt;
&lt;p&gt;https://huihui168.org/&lt;/p&gt;
&lt;p&gt;3.小散的mod文档（up主：Supreme小散）（最会咕咕的）&lt;/p&gt;
&lt;p&gt;https://docs.qq.com/smartsheet/DZVNZbnlBZmRiWFB5?tab=BB08J2&lt;/p&gt;
&lt;p&gt;3.可莉的小仓库（小散の老版本文档）&lt;/p&gt;
&lt;p&gt;https://kdocs.cn/l/ccSu7CnMVaKL/&lt;/p&gt;
&lt;p&gt;4.寄子游戏分享导航页主页&lt;/p&gt;
&lt;p&gt;https://docs.qq.com/aio/DYWpwemFBSm9acGVG&lt;/p&gt;
&lt;p&gt;5.咖啡森林（up主：林离a）&lt;/p&gt;
&lt;p&gt;https://docs.qq.com/aio/DS3RlZUtDTU1XeFNz&lt;/p&gt;
&lt;p&gt;6.踩蘑菇网站（up：虹汐哥）&lt;/p&gt;
&lt;p&gt;https://www.caimogu.cc/circle/440.html&lt;/p&gt;
</content:encoded><author>璨梦踏月</author></item><item><title>给你的VPS增加WARP出口(非全局)</title><link>https://blog.canmoe.com/posts/vps-outbound-warp/</link><guid isPermaLink="true">https://blog.canmoe.com/posts/vps-outbound-warp/</guid><description>解决IP送中, 解锁AI/奈飞; 双栈(IPV4+IPV6)体验(拯救单IPV6)</description><pubDate>Thu, 21 Aug 2025 00:00:00 GMT</pubDate><content:encoded>&lt;p&gt;:::important&lt;/p&gt;
&lt;p&gt;本教程仅用于个人使用和通信，请勿将其用于非法目的，请勿在生产环境中使用。&lt;/p&gt;
&lt;p&gt;:::&lt;/p&gt;
&lt;p&gt;:::tip&lt;/p&gt;
&lt;p&gt;本文建立在你已安装3X-UI的基础上,&lt;a href=&quot;../3x-ui-setup/&quot;&gt;3X-UI安装使用教程&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;我相信你应该知道这里所指的VPS是干什么的VPS,国内一般连不上WARP&lt;/p&gt;
&lt;p&gt;WARP出口位置和你的VPS所在地理位置有关联,通常是相同/相近区域&lt;/p&gt;
&lt;p&gt;:::&lt;/p&gt;
&lt;p&gt;:::note[为什么要增加WARP出口?]&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;s&gt;增强隐私 (并非主要目的)&lt;/s&gt;&lt;/li&gt;
&lt;li&gt;给送中IP使用的 (Google的IP定位漂移到中国,这会导致无法使用一些服务,例如 YouTube Premium / Gemini)&lt;/li&gt;
&lt;li&gt;解锁AI(例如 ChatGPT)/奈飞&lt;/li&gt;
&lt;li&gt;&lt;s&gt;WARP出口可以被认为真实用户,能减少各类网站验证? (不过也存在滥用,不好说)&lt;/s&gt;&lt;/li&gt;
&lt;li&gt;如果你是单栈(只有IPV4/IPV6)的机器,走WARP后能有双栈体验(IPV4/IPV6都有,如果是单IPV4,即使你在代理工具的配置没有开启IPV6,依然能访问IPV6网站,前提走WARP出口)&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;:::&lt;/p&gt;
&lt;h1&gt;快速开始&lt;/h1&gt;
&lt;p&gt;&lt;strong&gt;在此之前你需要在入站列表已经创建好需要走warp出口的入站&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;进入面板&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;左侧选择&lt;code&gt;Xray 设置&lt;/code&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;选择&lt;code&gt;出站规则&lt;/code&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;点击&lt;code&gt;WARP&lt;/code&gt;,添加出口&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;确保在出站规则下能看到一个&lt;code&gt;warp&lt;/code&gt;标签,&lt;code&gt;wireguard&lt;/code&gt;协议的出站,然后点击&lt;code&gt;路由规则&lt;/code&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;点击&lt;code&gt;添加规则&lt;/code&gt;,接下来分两种使用情况 (如果你需要切换到入站列表创建新的入站,记得先保存设置哦)&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;根据域名/IP分流(指定域名/IP走WARP出口)&lt;/li&gt;
&lt;/ol&gt;
&lt;ul&gt;
&lt;li&gt;在&lt;code&gt;Domain&lt;/code&gt;/&lt;code&gt;IP&lt;/code&gt;处添加需要走WARP出口的域名/IP(逗号分隔)&lt;/li&gt;
&lt;li&gt;&lt;code&gt;Inbound Tags&lt;/code&gt;选择你的入站&lt;/li&gt;
&lt;li&gt;&lt;code&gt;Outbound Tag&lt;/code&gt;选择&lt;code&gt;warp&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;ol&gt;
&lt;li&gt;根据入站分流(指定入站走WARP出口)&lt;/li&gt;
&lt;/ol&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;Inbound Tags&lt;/code&gt;选择你需要走WARP的入站&lt;/li&gt;
&lt;li&gt;&lt;code&gt;Outbound Tag&lt;/code&gt;选择&lt;code&gt;warp&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;修改完成后点击左上角保存,重启Xray;等待重启完成后即可使用&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
</content:encoded><author>璨梦踏月</author></item><item><title>NoActive进阶文档</title><link>https://blog.canmoe.com/posts/noactive/expressive/</link><guid isPermaLink="true">https://blog.canmoe.com/posts/noactive/expressive/</guid><pubDate>Sat, 09 Aug 2025 00:00:00 GMT</pubDate><content:encoded>&lt;p&gt;&amp;lt;div align=&apos;center&apos; &amp;gt;&amp;lt;font size=&apos;70&apos;&amp;gt;NoActive&amp;lt;/font&amp;gt;&amp;lt;/div&amp;gt;
&amp;lt;div align=&apos;center&apos; &amp;gt;&amp;lt;font size=&apos;70&apos;&amp;gt;进阶文档&amp;lt;/font&amp;gt;&amp;lt;/div&amp;gt;&lt;/p&gt;
&lt;p&gt;:::caution[文章内容过时警告]&lt;/p&gt;
&lt;p&gt;此文章内容上次更新应该是24年底或25年初,部分内容可能过时;例如SukiSU等管理器可能需要自行探索&lt;/p&gt;
&lt;p&gt;:::&lt;/p&gt;
&lt;h1&gt;前言&lt;/h1&gt;
&lt;p&gt;:::warning&lt;/p&gt;
&lt;p&gt;本文是为&lt;code&gt;极客和有折腾精神的人&lt;/code&gt;所准备的进阶篇文档,大部分内容需要你自己动手实操，并且可能会出现包括但不限于以下几种情况：&amp;lt;span style=&quot;color: red;&quot;&amp;gt;手机变砖、出现发热与卡顿、环境异常等&amp;lt;/span&amp;gt;&lt;/p&gt;
&lt;p&gt;:::&lt;/p&gt;
&lt;p&gt;如果你觉得本文有任何错误或需要补充的地方，可在频道&amp;lt;span style=&quot;color: purple;&quot;&amp;gt;@Glitchspire&amp;lt;/span&amp;gt;(频道ID)进行添加或修改&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;如果找不到&amp;lt;span style=&quot;color: purple;&quot;&amp;gt;@Glitchspire&amp;lt;/span&amp;gt;(频道ID)可以尝试&amp;lt;span style=&quot;color: purple;&quot;&amp;gt;@璨梦踏月-JOYUI13-5.10&amp;lt;/span&amp;gt;(频道ID)&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;:::caution&lt;/p&gt;
&lt;p&gt;&amp;lt;br&amp;gt;&lt;/p&gt;
&lt;h1&gt;免责声明&lt;/h1&gt;
&lt;p&gt;&lt;strong&gt;你所进行的一切行为均由你自己承担责任，别砖了过来找我，不会提供任何帮助，自己想办法&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;:::&lt;/p&gt;
&lt;hr /&gt;
&lt;h1&gt;Re-Kernel KPM相关问题&lt;/h1&gt;
&lt;p&gt;KPM模块为Apatch独占（即Apatch管理器内核模块一栏），所以你需要刷入Apatch才能使用KPM版Re-Kernel&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;/p&gt;
&lt;hr /&gt;
&lt;h2&gt;Apatch与其它Root方案共存&lt;/h2&gt;
&lt;p&gt;你需要两个东西：KernelPatch镜像与Apatch Apk&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://github.com/bmax121/kernelpatch&quot;&gt;KernelPatch&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://github.com/bmax121/APatch&quot;&gt;Apatch&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;:::important&lt;/p&gt;
&lt;p&gt;无论何时都只建议使用Release版本进行替换，Pre-Release或Github Ci构建的的版本可能导致不可知的问题&lt;/p&gt;
&lt;p&gt;以及，请务必使Apatch安装包的&amp;lt;span style=&quot;color: red;&quot;&amp;gt;原KernelPatch版本号与你要替换的版本号&amp;lt;/span&amp;gt;对应，&amp;lt;span style=&quot;color: red;&quot;&amp;gt;不对应的版本号会不生效，同时有极大概率导致变砖&amp;lt;/span&amp;gt;，一定注意&lt;/p&gt;
&lt;p&gt;:::&lt;/p&gt;
&lt;p&gt;这里以Apatch 10763版本为例，下载对应的kpimg-linux&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;./%E5%85%B1%E5%AD%98.png&quot; alt=&quot;共存&quot; /&gt;&lt;/p&gt;
&lt;p&gt;然后重命名kpimg-linux为kpimg，并替换掉Apatch Apk当中的kpimg&lt;/p&gt;
&lt;p&gt;:::tip&lt;/p&gt;
&lt;p&gt;kpimg在assets文件夹&lt;/p&gt;
&lt;p&gt;:::&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;./%E5%85%B1%E5%AD%982.png&quot; alt=&quot;共存&quot; /&gt;&lt;/p&gt;
&lt;p&gt;然后用Scene之类的工具提取你当前的boot.img，用你替换完的Apatch修补后再刷入boot.img&lt;/p&gt;
&lt;p&gt;:::note&lt;/p&gt;
&lt;p&gt;VAB分区的设备你当前处于哪个分区就提取哪个，别搞错活动分区了&lt;/p&gt;
&lt;p&gt;例：A分区设备提取boot_a.img&lt;/p&gt;
&lt;p&gt;:::&lt;/p&gt;
&lt;p&gt;至此，共存部分结束，重启后你会发现仅内核模块可用，Root授权和系统模块均不可用，这时就可以使用Re-Kernel KPM了&lt;/p&gt;
&lt;p&gt;:::warning&lt;/p&gt;
&lt;p&gt;只建议先加载，然后再使用嵌入，以防止出现内核不兼容导致的&amp;lt;span style=&quot;color: red;&quot;&amp;gt;卡开机&amp;lt;/span&amp;gt;问题等&lt;/p&gt;
&lt;p&gt;:::&lt;/p&gt;
&lt;hr /&gt;
&lt;h2&gt;用Apatch作为Root方案&lt;/h2&gt;
&lt;p&gt;流程与其它Root方案几乎一致&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://github.com/bmax121/APatch&quot;&gt;Apatch Apk&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;:::important&lt;/p&gt;
&lt;p&gt;无论何时，Apatch提取并修补的都是&amp;lt;span style=&quot;color: red;&quot;&amp;gt;boot分区&amp;lt;/span&amp;gt;，除非Google未来更换Linux内核位置，否则均为boot&lt;/p&gt;
&lt;p&gt;:::&lt;/p&gt;
&lt;hr /&gt;
&lt;h2&gt;从Magisk/Kernel SU切换至Apatch&lt;/h2&gt;
&lt;p&gt;太简单了，不想写，你们自己看吧：&lt;a href=&quot;https://coolapk.com/feed/57809622?shareKey=MjMyYjNmN2YyNzJhNjZkMWM1ZjU~&amp;amp;shareUid=22627121&amp;amp;shareFrom=com.coolapk.market_13.3.3&quot;&gt;查看链接&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;:::important&lt;/p&gt;
&lt;p&gt;使用此方法可能会导致Root方案残留，我只建议走2的流程，使用纯净boot修补然后正常刷入&lt;/p&gt;
&lt;p&gt;:::&lt;/p&gt;
&lt;hr /&gt;
&lt;h1&gt;内存优化&lt;/h1&gt;
&lt;p&gt;如果你希望修改内存的保留值，你可以到&lt;code&gt;/data/system/NoActive_xxxxxxxx/config/MemConfig.json&lt;/code&gt;中修改freeRAM或freeSWAP&lt;/p&gt;
&lt;p&gt;0(自动)，负整数(关闭)，正整数为指定的值单位为&amp;lt;span style=&quot;color: red;&quot;&amp;gt;MB&amp;lt;/span&amp;gt;&lt;/p&gt;
&lt;p&gt;:::important&lt;/p&gt;
&lt;p&gt;&amp;lt;span style=&quot;color: red;&quot;&amp;gt;注意：ZRAM和Swapfile都属于SWAP(交换分区)&amp;lt;br&amp;gt;你需要写入符合JSON语法格式的配置，否则Noactive会自动清除错误配置并还原&amp;lt;/span&amp;gt;&lt;/p&gt;
&lt;p&gt;:::&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;{
	&quot;freeRAM&quot;:0,   &amp;lt;---- 物理内存保留值
	&quot;freeSWAP&quot;:0,  &amp;lt;---- 交换分区保留值
	&quot;highPriorityUidSet&quot;:[ &amp;lt;-- (高)
		10258,
		10299
	],
	&quot;lowPriorityUidSet&quot;:[ &amp;lt;-- (低)
		10272,
		10289
	],
	&quot;mediumPriorityUidSet&quot;:[ &amp;lt;-- (中)
		
	]
}
&lt;/code&gt;&lt;/pre&gt;
&lt;hr /&gt;
&lt;h1&gt;FCM解冻&lt;/h1&gt;
&lt;p&gt;Noactive自pro-173往后支持FCM解冻，由于配置文件变更，此处仅讨论此文发出时的最新版pro-185&lt;/p&gt;
&lt;hr /&gt;
&lt;h2&gt;不使用自定义，所有应用都支持FCM解冻&lt;/h2&gt;
&lt;p&gt;你需要更改的配置文件/data/system/NoActive_xxxxxxxx/的AdvanceConfig文件，receiveFCM后面的false改成true，保存后无需重启即可生效&lt;/p&gt;
&lt;p&gt;示例配置:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;{
	&quot;adaptiveIcon&quot;:false,
	&quot;fcmAppSet&quot;:[
	],
	&quot;receiveFCM&quot;:true,    
	&quot;speedMode&quot;:false
}
&lt;/code&gt;&lt;/pre&gt;
&lt;hr /&gt;
&lt;h2&gt;使用自定义，选择部分应用可以FCM解冻&lt;/h2&gt;
&lt;p&gt;配置文件依然为/data/system/NoActive_xxxxxxxx/的AdvanceConfig文件&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;{
	&quot;adaptiveIcon&quot;:false,
	&quot;fcmAppSet&quot;:[
        &quot;com.microsoft.office.outlook&quot;,
        &quot;com.x8bit.bitwarden&quot;                 &amp;lt;-- (在这里添加包名)
	],
	&quot;receiveFCM&quot;:false,
	&quot;speedMode&quot;:false
}
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;:::important&lt;/p&gt;
&lt;p&gt;你依然需要填写符合&amp;lt;span style=&quot;color: red;&quot;&amp;gt;JSON格式&amp;lt;/span&amp;gt;的包名&lt;/p&gt;
&lt;p&gt;如果填写包名，则receiveFCM应为false&lt;/p&gt;
&lt;p&gt;:::&lt;/p&gt;
&lt;hr /&gt;
&lt;h1&gt;冻结Binder&lt;/h1&gt;
&lt;p&gt;关于Binder的介绍请查看名词解读与定义：&lt;a href=&quot;../guide/#binder&quot;&gt;名词解读&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;BinderFreeze用于阻断被冻结的应用与其它应用之间的通信，此特性自5.10内核开始支持，但目前仍然存在各种各样的问题，包括但不限于&amp;lt;span style=&quot;color: red;&quot;&amp;gt;应用假断网、出现卡屏或闪弹&amp;lt;/span&amp;gt;&lt;/p&gt;
&lt;p&gt;:::tip&lt;/p&gt;
&lt;p&gt;Noactive的BinderFreeze默认关闭，如果你出现以上这些问题请看：&lt;a href=&quot;../guide/#%E5%8D%A1%E5%B1%8F&quot;&gt;名词解读&lt;/a&gt;&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;2025-08-09迁移时注释: 我不确定这个是不是指向这里, 之前虽然也是指向的名词解读, 但这对于解决问题似乎没有帮助&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;:::&lt;/p&gt;
&lt;p&gt;6.1内核会比5.10/5.15具有更良好的BinderFreeze体验，但仍然不建议使用BinderFreeze，目前的Binder临时解冻虽然不够完美，但依然是目前唯一不存在问题的解决方案&lt;/p&gt;
</content:encoded><author>璨梦踏月</author></item><item><title>NoActive新人必看文档</title><link>https://blog.canmoe.com/posts/noactive/guide/</link><guid isPermaLink="true">https://blog.canmoe.com/posts/noactive/guide/</guid><pubDate>Fri, 08 Aug 2025 00:00:00 GMT</pubDate><content:encoded>&lt;p&gt;&amp;lt;div align=&apos;center&apos; &amp;gt;&amp;lt;font size=&apos;70&apos;&amp;gt;NoActive&amp;lt;/font&amp;gt;&amp;lt;/div&amp;gt;&lt;/p&gt;
&lt;p&gt;&amp;lt;div align=&apos;center&apos; &amp;gt;&amp;lt;font size=&apos;70&apos;&amp;gt;新人必看文档&amp;lt;/font&amp;gt;&amp;lt;/div&amp;gt;&lt;/p&gt;
&lt;p&gt;:::tip&lt;/p&gt;
&lt;p&gt;本文于 2025-08-08 从旧博客开始迁移至新博客,修改部分内容&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;主要更新日志:&lt;/p&gt;
&lt;p&gt;2025-08-08: 新人必看文档迁移&lt;/p&gt;
&lt;p&gt;2025-08-09: 名词解读合并进新人必看文档, 迁移进阶文档, 修复页内锚点失效&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;:::&lt;/p&gt;
&lt;p&gt;:::caution&lt;/p&gt;
&lt;p&gt;新人必看已完全停更，主要维护者均已放弃维护此文档，如你想继续维护可联系任意一人 &lt;code&gt;@Glitchspire&lt;/code&gt; &lt;code&gt;@小天（小康PRO版）&lt;/code&gt; &lt;code&gt;@璨梦踏月-JOYUI13-5.10&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;基于以上原因，一切新人必看与官方文档不符的部分均以官方文档为准，也请不要以新人必看内的内容来质疑官方文档&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;:::&lt;/p&gt;
&lt;p&gt;&amp;lt;div style=&quot;border: 2px solid #dddddd; border-radius: 10px;&quot;&amp;gt;
&amp;lt;details style=&quot;padding: 5px;&quot;&amp;gt;
&amp;lt;summary&amp;gt;一些删除内容&amp;lt;/summary&amp;gt;
本文由&amp;lt;span style=&quot;color: purple;&quot;&amp;gt;@小天（小康PRO版）&amp;lt;/span&amp;gt;(频道ID),&amp;lt;span style=&quot;color: purple;&quot;&amp;gt;@Glitchspire&amp;lt;/span&amp;gt;(频道ID),&amp;lt;span style=&quot;color: purple;&quot;&amp;gt;@璨梦踏月-JOYUI13-5.10&amp;lt;/span&amp;gt;(频道ID)共同维护,只会将个人认为比较&amp;lt;span style=&quot;color: red;&quot;&amp;gt;重要&amp;lt;/span&amp;gt;,或者官方文档&amp;lt;span style=&quot;color: red;&quot;&amp;gt;没有写&amp;lt;/span&amp;gt;的内容放进来,如果文中&amp;lt;span style=&quot;color: red;&quot;&amp;gt;有错误&amp;lt;/span&amp;gt;或&amp;lt;span style=&quot;color: red;&quot;&amp;gt;你有补充&amp;lt;/span&amp;gt;可以在频道@我们进行&amp;lt;span style=&quot;color: red;&quot;&amp;gt;添加/修改&amp;lt;/span&amp;gt;
&lt;strong&gt;转载自腾讯文档:&lt;/strong&gt; &amp;lt;a href=&quot;https://docs.qq.com/doc/DS0hGeUppQmFyWW5X&quot;&amp;gt;NoActive新人必看&amp;lt;/a&amp;gt;,&amp;lt;a           href=&quot;https://docs.qq.com/doc/DS05PalBZbFR6cEdB&quot;&amp;gt;NoActive进阶文档&amp;lt;/a&amp;gt;,&amp;lt;a     href=&quot;https://docs.qq.com/doc/DWG5HUUx5UGREd0ti&quot;&amp;gt;名词解读&amp;lt;/a&amp;gt;
已经完成全部的迁移,腾讯文档现已放弃维护，请直接查看本篇文章.
目录可以帮你快速找到解答，{% label 目录在右侧(没看到就往下翻,手机端在右下角有目录按钮) orange %},如果你的问题在新入必看文档中无法得到解答，可以带着详细描述与相关截图到频道内进行询问，或尝试查看{% btn &apos;../NoActive进阶文档&apos;,进阶文档,far fa-hand-point-right,orange larger %}寻找答案
{% note warning flat %}
类似于{% btn &apos;#常见问题解答&apos;,跳转到常见问题解答,far fa-hand-point-right,outline blue larger %}的页内跳转锚点偶尔会失效!请手动查找目录或再次点击
&amp;lt;br&amp;gt;
&amp;lt;/details&amp;gt;
&amp;lt;/div&amp;gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;官方文档链接：&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;https://app.myflv.cn/&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;官方下载站链接：&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;https://down.app.myflv.cn&lt;/p&gt;
&lt;p&gt;封面来自: &amp;lt;a href=&quot;https://www.coolapk.com/feed/57006904?shareKey=NzNiMjExZmM3MWVkNjc3MTViMTg~&amp;amp;shareUid=26757217&amp;amp;shareFrom=com.coolapk.market_13.3.6&quot;&amp;gt;Starrhymelodge的酷安&amp;lt;/a&amp;gt;&lt;/p&gt;
&lt;hr /&gt;
&lt;h1&gt;NoActive新人必看文档&lt;/h1&gt;
&lt;h2&gt;NoActive简介&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;NoA只是单纯的墓碑模块，与任何墓碑或与墓碑相关的模块都会产生冲突。&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;墓碑作用：通过冻结的方式降低后台应用的CPU使用率，让更多的CPU能被前台应用使用，从而让前台应用更流畅&amp;lt;br&amp;gt;
在不保留大量后台的情况下，使不使用墓碑基本上是无感的，在某些时候，甚至不如不使用墓碑模块&amp;lt;br&amp;gt;
在某些地方，你会看到使用墓碑可以更省电的或类似的话，这类话出现的原因大概为：后台消耗的CPU降低了，电就省下来了。事实上靠墓碑省电的效果微乎其微，墓碑最大的作用就是在内存高压状态下尽可能保持前台应用使用的流畅&lt;/p&gt;
&lt;/blockquote&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;任何可以使用LSPosed框架的设备都可以正常使用NoActive&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;此外,你需要确保你的Android版本受支持,以及&lt;strong&gt;LSPosed&lt;/strong&gt;正常,第三方LSPosed导致的问题不受理,请更换至官方版本(7024/7058/内测版)&lt;/p&gt;
&lt;p&gt;见&lt;a href=&quot;#%E5%85%B3%E4%BA%8E%E7%89%88%E6%9C%AC%E5%8F%B7&quot;&gt;支持的Android版本&lt;/a&gt;, &lt;a href=&quot;#%E6%8E%92%E6%9F%A5lsposed%E7%89%88%E6%9C%AC&quot;&gt;排查LSPosed版本&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;&amp;lt;div style=&quot;border: 2px solid #dddddd; border-radius: 10px;&quot;&amp;gt;
&amp;lt;details style=&quot;padding: 5px;&quot;&amp;gt;
&amp;lt;summary&amp;gt;此处修改&amp;lt;/summary&amp;gt;
原文:任何可以使用LSPosed框架，可以正常授权Root的Root管理器都可以正常使用NoActive
&amp;lt;/details&amp;gt;
&amp;lt;/div&amp;gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;NoActive是一个独立的Xposed墓碑模块&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;工作方法并不是建立于系统的墓碑，理论上任何拥有LSPosed的安卓系统都可以正常使用NoActive&amp;lt;span style=&quot;color: red;&quot;&amp;gt;（第三方系统/内核使用出现问题请不要反馈）&amp;lt;/span&amp;gt;
&lt;img src=&quot;./Noactive%E7%AE%80%E4%BB%8B1.jpg&quot; alt=&quot;Noactive简介1&quot; /&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;你并不需要调整开发者选项内的某些设置，NoActive工作不依赖也从未依赖过这些设置&lt;/strong&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;NoActive不管省电，只保证前台流畅性&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;由于应用被冻结后依然会占用物理内存，而高内存占用必然带来额外耗电及卡顿，包括但不限于频繁的解压缩物理内存至Zram/Swap，或者频繁切换前台导致的内存压力增大，都会影响流畅度和耗电&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;如果你觉得使用NoActive之后变得更加耗电，请做好严格的变量控制。如果真的是这样，你可以选择停止使用NoActive。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;NoActive与系统杀后台并没有直接的关联&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;如果你发现应用经常重新加载，请确定应用是被杀了还是因为&amp;lt;span style=&quot;color: red;&quot;&amp;gt;没有Binder而重载&amp;lt;/span&amp;gt;。如果是因为没有Binder而重载，你可以选择使用Re-kernel&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;Binder注释点击&lt;a href=&quot;#binder&quot;&gt;Binder&lt;/a&gt; &amp;lt;br&amp;gt;Re-kernel说明点击&lt;a href=&quot;#re-kernel&quot;&gt;跳转到Re-kernel&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;3.x版NoActive并没有配置进程功能&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;由于应用的部分进程未冻结，可能会与冻结进程进行Binder通信，导致应用产生很多未知问题&amp;lt;br&amp;gt;
而杀死进程每次在应用后台后杀死，再次打开时会重新启动，反反复复杀死进程的开销更大&amp;lt;br&amp;gt;
所以NoActive设计上是整体冻结应用，不会支持白名单进程，也不会支持杀死进程&lt;/p&gt;
&lt;/blockquote&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;NoActive冻结后应用会断网&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;如果你发现冻结后应用断网了，影响了某个APP的使用，你可以给予白名单，或停止使用NoActive，冻结QQ后，再打开QQ，消息加载慢很可能是因为这个&lt;/p&gt;
&lt;/blockquote&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;NoActive冻结的是带&amp;lt;span style=&quot;color: red;&quot;&amp;gt;应用uid的系统/三方应用&amp;lt;/span&amp;gt;，且对于具备系统签名的应用默认白名单，NoActive&amp;lt;span style=&quot;color: red;&quot;&amp;gt;不会冻结或者休眠不具备uid的进程&amp;lt;/span&amp;gt;&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;至于某充电模块，NoActive与你的模块&amp;lt;span style=&quot;color: red;&quot;&amp;gt;不存在任何冲突&amp;lt;/span&amp;gt;，请不要再宣传这一概念然后让用户来这里反馈bug，毫无意义，且浪费开发者的时间&lt;/p&gt;
&lt;/blockquote&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;hr /&gt;
&lt;h3&gt;关于版本号&lt;/h3&gt;
&lt;p&gt;例:2.x；3.x&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;最前面的数字代表的是大版本&lt;/strong&gt;，例如第二代NoA,第三代NoA&lt;/li&gt;
&lt;li&gt;后面的x代表的是小版本号，2x版本最终停留在了2.9，3x版本目前是3.9，还在更新中，&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;2.x支持的安卓版本: 11-13&lt;/p&gt;
&lt;p&gt;3.x支持的安卓版本: 12-15&lt;/p&gt;
&lt;p&gt;:::important&lt;/p&gt;
&lt;p&gt;停更的正式版及最后一个免费版3.3pro&amp;lt;span style=&quot;color: red;&quot;&amp;gt;不支持Android15&amp;lt;/span&amp;gt;，所以别再问为什么用不了了&amp;lt;br&amp;gt;
Pro版自 3.9Pro-185 支持Android15&lt;/p&gt;
&lt;p&gt;:::&lt;/p&gt;
&lt;p&gt;在此之外，你还会在&amp;lt;span style=&quot;color: green;&quot;&amp;gt;【公告】NoA-Pro &amp;lt;/span&amp;gt;看到版本更新写着PRO-xxx，这里的xxx代表着小小版本号，正常更新为小小版本号迭代，&lt;s&gt;小小版本号不会在NoActive的当前版本与系统中写出来&lt;/s&gt; 某次更新后会在NoActive中显示小小版本号了
&amp;lt;br&amp;gt;
据&amp;lt;span style=&quot;color: purple;&quot;&amp;gt;@myflavor &amp;lt;/span&amp;gt;所说，这样做是为了方便降级&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;注：&amp;lt;br&amp;gt;
3.9Pro-172之前版本＆免费版的NoActive文件配置目录为/data/system/NoActive&amp;lt;br&amp;gt;
3.9Pro-172之后版本的NoActive文件配置目录为/data/system/NoActive_xxxxxxxx（8位随机字符）&amp;lt;br&amp;gt;
所以&lt;strong&gt;跨大版本号升级/降级NoActive都需要去mt管理器卸载NoA的文件目录&lt;/strong&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;hr /&gt;
&lt;h2&gt;墓碑附加模块的介绍&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;该模块是为了给新版本NoActive或Freezer提供必要的运行环境，想要使用新版本的NoActive，&lt;strong&gt;附加模块必须安装&lt;/strong&gt;，&amp;lt;span style=&quot;color: red;&quot;&amp;gt;别再问什么os什么ui要不要装了，必须装&amp;lt;/span&amp;gt;&lt;/li&gt;
&lt;li&gt;附加模块已经整合了Hans_Config与Millet_Config_V2，并且自动判定使用哪个。所以说安装墓碑附加模块后，Hans_Config与Millet_Config_V2模块就可以卸载了&lt;/li&gt;
&lt;li&gt;老版本NoActive也可以使用墓碑附加模块，没必要卸载了换回Hans_Config或Millet_Config_V2
当然，你使用了其他墓碑，为了禁用系统的墓碑也可以使用这个模块&lt;/li&gt;
&lt;li&gt;墓碑附加模块内并未内置Re-kernel，&amp;lt;span style=&quot;color: red;&quot;&amp;gt;Re-kernel跟墓碑附加模块也没有任何关系&amp;lt;/span&amp;gt;，所以别问刷了一个另外一个要不要刷这种问题了&lt;/li&gt;
&lt;/ol&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;注：
如果刷入墓碑附加模块，NoActive UI或日志依然提示说要安装附加模块的，点击&lt;a href=&quot;#ui%E5%86%85%E4%B8%80%E7%9B%B4%E5%BC%B9%E5%87%BA%E6%8F%90%E7%A4%BA%E8%AF%B7%E5%88%B7%E5%85%A5%E9%99%84%E5%8A%A0%E6%A8%A1%E5%9D%97%E5%B9%B6%E5%9C%A8lsposed%E4%B8%AD%E6%BF%80%E6%B4%BBnoactive&quot;&gt;跳转到UI内一直弹出提示“请刷入附加模块并在LSPosed中激活NoActive”&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;如果你使用的是NoActive或Freezer，刷入了附加模块后，附加模块显示未在设备中发现Freezer和NoActive，这只是一个bug，具体以NoActive或Freezer的日记为准&lt;/p&gt;
&lt;/blockquote&gt;
&lt;hr /&gt;
&lt;h2&gt;如何正确的进行捐赠(重要)&lt;/h2&gt;
&lt;p&gt;在此之前，你可以查看历史更新记录，再决定是否需要进行捐赠：&lt;/p&gt;
&lt;p&gt;https://down.app.myflv.cn/#/Pro/%E6%9B%B4%E6%96%B0%E6%97%A5%E5%BF%97&lt;/p&gt;
&lt;p&gt;捐赠链接快速访问：&lt;/p&gt;
&lt;p&gt;https://qr.alipay.com/tsx16080oparhrwyitxop12&lt;/p&gt;
&lt;p&gt;如果你认为本条链接并不安全，可以选择前往官方文档快速开始的最下面，付费说明里或NoActive的设置进行捐赠&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;下载任意版本的NoActive&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;打开NoActive的设置，设置最下面有支付宝捐赠的链接（&amp;lt;span style=&quot;color: red;&quot;&amp;gt;一个激活码需捐赠10RMB&amp;lt;/span&amp;gt;）&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;注：
别问为什么没有微信捐赠途径，没有就是没有
如果你在其他地方发现有说是 &amp;lt;span style=&quot;color: purple;&quot;&amp;gt;@myflavor &amp;lt;/span&amp;gt;的微信/支付宝捐赠途径/链接，请立即反馈，并且不要在那进行捐赠，被骗了我们并不会负责&lt;/p&gt;
&lt;/blockquote&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;img src=&quot;./%E6%AD%A3%E7%A1%AE%E6%8D%90%E8%B5%A01.png&quot; alt=&quot;为什么没微信支付&quot; /&gt;&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;前往激活码领取链接输入你领取激活码的邮箱地址与支付宝订单号
激活码领取链接：https://app.myflv.cn/pay&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;注:
现在无需进入频道也可随时获取最新的下载密码，前往激活码找回链接，输入你领取激活码的邮箱，等待激活码与最新版下载密码的发放即可
激活码找回链接：http://app.myflv.cn/find&lt;/p&gt;
&lt;/blockquote&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;img src=&quot;./%E6%BF%80%E6%B4%BB%E7%A0%81%E6%89%BE%E5%9B%9E%E9%82%AE%E7%AE%B1%E6%A0%B7%E5%BC%8F.png&quot; alt=&quot;激活码找回邮箱样式&quot; /&gt;&lt;/p&gt;
&lt;p&gt;如果你还想加入频道PRO用户的话&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;将捐赠截图发&amp;lt;span style=&quot;color: green;&quot;&amp;gt;[反馈]NoActive&amp;lt;/span&amp;gt;并 &amp;lt;span style=&quot;color: purple;&quot;&amp;gt;@myflavor &amp;lt;/span&amp;gt;（不听的禁言7天起步）&lt;/p&gt;
&lt;p&gt;:::caution
&amp;lt;span style=&quot;color: red;&quot;&amp;gt;请先领取激活码再发捐赠截图，避免被小人先行一步领取激活码，激活码将通过你提供的邮箱地址进行发放，每个订单号只能输入一次，注意邮箱地址是否正确，注意查收邮件&amp;lt;/span&amp;gt;&lt;/p&gt;
&lt;p&gt;:::
完成以上操作后，等待下载密码与激活码的发放，等待&amp;lt;span style=&quot;color: purple;&quot;&amp;gt;@myflavor &amp;lt;/span&amp;gt;拉你进&amp;lt;span style=&quot;color: green;&quot;&amp;gt;《富家子弟—NoActive》&amp;lt;/span&amp;gt;身份组&lt;/p&gt;
&lt;p&gt;被拉进&amp;lt;span style=&quot;color: green;&quot;&amp;gt;《富家子弟—NoActive》&amp;lt;/span&amp;gt;身份组后，将多出2个子频道：&amp;lt;br&amp;gt;
&amp;lt;span style=&quot;color: green;&quot;&amp;gt;[Pro用户]NoActive&amp;lt;/span&amp;gt;&amp;lt;br&amp;gt;
&amp;lt;span style=&quot;color: green;&quot;&amp;gt;[公告]NoA-Pro&amp;lt;/span&amp;gt;&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;注：
别问什么时候拉你进身份组，由&amp;lt;span style=&quot;color: purple;&quot;&amp;gt;@myflavor &amp;lt;/span&amp;gt;人工审核并拉入身份组，再问禁言 1天。&lt;a href=&quot;#%E6%BF%80%E6%B4%BB%E7%A0%81%E7%9A%84%E4%BD%BF%E7%94%A8&quot;&gt;点击跳转到激活码的使用&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;PRO版下载密码会发在&amp;lt;span style=&quot;color: green;&quot;&amp;gt;[公告]NoA-Pro&amp;lt;/span&amp;gt;, 进了身份组频道就别退了，NoActive大多数东西，例如更改后的密码，更新的公告，都是在频道发布，你退出频道之后，身份组也会跟着丢失，付款后7天内退出又重新加入频道，有一次机会可拉回身份组，7天后则需重新捐赠走流程&lt;/p&gt;
&lt;/blockquote&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&amp;lt;!-- &lt;img src=&quot;./%E6%AD%A3%E7%A1%AE%E6%8D%90%E8%B5%A02.png&quot; alt=&quot;正确捐赠图2&quot; /&gt; --&amp;gt;&lt;/p&gt;
&lt;p&gt;&amp;lt;!-- &lt;img src=&quot;./%E6%AD%A3%E7%A1%AE%E6%8D%90%E8%B5%A03.png&quot; alt=&quot;正确捐赠3&quot; /&gt; --&amp;gt;&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;./%E6%AD%A3%E7%A1%AE%E6%8D%90%E8%B5%A04.png&quot; alt=&quot;正确捐赠4&quot; /&gt;&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;./%E6%AD%A3%E7%A1%AE%E6%8D%90%E8%B5%A05.png&quot; alt=&quot;正确捐赠5&quot; /&gt;&lt;/p&gt;
&lt;hr /&gt;
&lt;h2&gt;激活码的说明&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;2024年2月18号前捐赠的用户，为不限设备用户（&amp;lt;span style=&quot;color: red;&quot;&amp;gt;激活码请使用2月16之后发放的&amp;lt;/span&amp;gt;），该用户的激活码无激活设备限制，但激活3个设备后还要激活的需要带上你接收验证码的邮箱在&amp;lt;span style=&quot;color: green;&quot;&amp;gt;【反馈】NoActive &amp;lt;/span&amp;gt;告知&amp;lt;span style=&quot;color: purple;&quot;&amp;gt;@myflavor &amp;lt;/span&amp;gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;img src=&quot;./%E6%BF%80%E6%B4%BB%E7%A0%81%E8%AF%B4%E6%98%8E1.png&quot; alt=&quot;激活码说明1&quot; /&gt;&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;./%E6%BF%80%E6%B4%BB%E7%A0%81%E8%AF%B4%E6%98%8E2.png&quot; alt=&quot;激活码说明2&quot; /&gt;&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;2024年2月18号后捐赠，默认1个激活码10RMB&amp;lt;br&amp;gt;
如果出现设备数量达到上线&amp;lt;br&amp;gt;
需重新捐赠10r，然后前往激活码领取链接输入你领取激活码的邮箱地址与支付宝订单号&amp;lt;br&amp;gt;
激活码领取链接：&lt;a href=&quot;https://app.myflv.cn/pay&quot;&gt;点击跳转&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&amp;lt;!--&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;./%E6%BF%80%E6%B4%BB%E7%A0%81%E8%AF%B4%E6%98%8E3.png&quot; alt=&quot;激活码说明3&quot; /&gt;&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;./%E6%BF%80%E6%B4%BB%E7%A0%81%E8%AF%B4%E6%98%8E4.png&quot; alt=&quot;激活码说明4&quot; /&gt;&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;./%E6%BF%80%E6%B4%BB%E7%A0%81%E8%AF%B4%E6%98%8E5.jpg&quot; alt=&quot;激活码说明5&quot; /&gt;&lt;/p&gt;
&lt;p&gt;--&amp;gt;&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;./%E6%BF%80%E6%B4%BB%E7%A0%81%E8%AF%B4%E6%98%8E6.jpg&quot; alt=&quot;激活码说明6&quot; /&gt;&lt;/p&gt;
&lt;p&gt;:::warning&lt;/p&gt;
&lt;p&gt;注：
请注意，&amp;lt;span style=&quot;color: red;&quot;&amp;gt;刷入或关闭改主板ID，序列号，机型的模块&amp;lt;/span&amp;gt;都会导致&amp;lt;span style=&quot;color: red;&quot;&amp;gt;NoActive激活失效&amp;lt;/span&amp;gt;，使用该类型模块导致的激活失效，清除激活信息也会记录在3个月清除一次的记录内&lt;/p&gt;
&lt;p&gt;如果你实在想对应用更改机型，可以考虑使用Zygisk-Tweaker对应用进行配置更改机型， 或自行寻找能对应用单独改机型的模块修改。(Zygisk-Tweaker与Zygisk-Next&amp;lt;span style=&quot;color: red;&quot;&amp;gt;疑似存在兼容性的问题&amp;lt;/span&amp;gt;，同时使用&amp;lt;span style=&quot;color: red;&quot;&amp;gt;可能&amp;lt;/span&amp;gt;会发生卡第二屏的现象。)&lt;/p&gt;
&lt;p&gt;使用Zygisk-Tweaker对应用进行配置后，会&amp;lt;span style=&quot;color: red;&quot;&amp;gt;泄露Zygisk被配置的应用检测到&amp;lt;/span&amp;gt;。&lt;/p&gt;
&lt;p&gt;https://www.coolapk.com/feed/51335047 (此链接无法访问)&lt;/p&gt;
&lt;p&gt;:::&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;刷机的，只要没改变设备ID就可以继续使用激活码，如果不能重新使用，点击&amp;lt;a href=&quot;#激活码的说明&quot;&amp;gt;跳转到激活码的说明&amp;lt;/a&amp;gt;解决（自己重新激活看看能不能激活成功就知道了，谁都不知道你刷的什么，没人能明确回答你）。&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;如果激活码丢失了，可以前往激活码找回链接输入你领取激活码的邮箱找回激活码
&lt;a href=&quot;http://app.myflv.cn/find&quot;&gt;激活码找回链接&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;h3&gt;激活码的使用&lt;/h3&gt;
&lt;p&gt;前置：请先确保你刷入了&amp;lt;span style=&quot;color: red;&quot;&amp;gt;墓碑附加模块&amp;lt;/span&amp;gt;并在&amp;lt;span style=&quot;color: red;&quot;&amp;gt;LSPosed中启用了NoActive&amp;lt;/span&amp;gt;，完成这两步之后，打开NoActive, UI无提示弹出，即可进行下一步操作&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;附加模块相关在&lt;a href=&quot;#%E5%A2%93%E7%A2%91%E9%99%84%E5%8A%A0%E6%A8%A1%E5%9D%97%E7%9A%84%E4%BB%8B%E7%BB%8D&quot;&gt;墓碑附加模块的介绍&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;如果刷入墓碑附加模块，NoActive UI或日志依然提示说要安装附加模块的，点击&lt;a href=&quot;#ui%E5%86%85%E4%B8%80%E7%9B%B4%E5%BC%B9%E5%87%BA%E6%8F%90%E7%A4%BA%E8%AF%B7%E5%88%B7%E5%85%A5%E9%99%84%E5%8A%A0%E6%A8%A1%E5%9D%97%E5%B9%B6%E5%9C%A8lsposed%E4%B8%AD%E6%BF%80%E6%B4%BBnoactive&quot;&gt;UI内一直弹出提示“请刷入附加模块并在LSPosed中激活NoActive&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;获取激活码相关请点击&lt;a href=&quot;#%E5%A6%82%E4%BD%95%E6%AD%A3%E7%A1%AE%E7%9A%84%E8%BF%9B%E8%A1%8C%E6%8D%90%E8%B5%A0%E9%87%8D%E8%A6%81&quot;&gt;跳转到如何正确的进行捐赠(重要)&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;打开NoActive的设置页面，”当前版本“这一项会显示“未激活”，点击“未激活”，之后会出现输入激活码的UI，将你的激活码输入，然后重启即可正常使用&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;如果遇到”激活出错”请排查你的网络问题和模块&amp;lt;br&amp;gt;
如果遇到“激活设备达到上线”点击&lt;a href=&quot;#%E6%BF%80%E6%B4%BB%E7%A0%81%E7%9A%84%E8%AF%B4%E6%98%8E&quot;&gt;激活码的说明&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;如果使用了会&amp;lt;span style=&quot;color: red;&quot;&amp;gt;更改设备id，序列号之类的模块，脚本请勿激活&amp;lt;/span&amp;gt;，否则重启之后会显示未激活，当你不小心使用了会更改设备id，序列号之类的模块，脚本，并且不小心激活了，记得关了，然后点击&lt;a href=&quot;#%E6%BF%80%E6%B4%BB%E7%A0%81%E7%9A%84%E8%AF%B4%E6%98%8E&quot;&gt;激活码的说明&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;如果你想获得更好的使用体验，可以考虑开启后台优化与内存优化（后台优化与内存优化默认不开启）&amp;lt;br&amp;gt;
即解锁NoActive完全体&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;激活NoActive后直接在NoActive设置中开启后台优化，开启后NoActive最顶上会提示“&amp;lt;span style=&quot;color: red;&quot;&amp;gt;当前配置重启后生效&amp;lt;/span&amp;gt;”，之后重启即可&amp;lt;br&amp;gt;
（后台优化功能介绍请点击&lt;a href=&quot;#%E5%90%8E%E5%8F%B0%E4%BC%98%E5%8C%96&quot;&gt;跳转到后台优化&lt;/a&gt;）&lt;/p&gt;
&lt;p&gt;开启后台优化后，在NoActive的设置中长按“当前版本”一栏即可开启内存优化，开启后NoActive最顶上会提示“&amp;lt;span style=&quot;color: red;&quot;&amp;gt;内存优化已开启，重启生效&amp;lt;/span&amp;gt;”，之后重启即可&lt;/p&gt;
&lt;p&gt;注：
&amp;lt;span style=&quot;color: red;&quot;&amp;gt;内存优化只有开启后台优化后才可使用&amp;lt;/span&amp;gt;&amp;lt;br&amp;gt;
（内存优化功能介绍请点击&lt;a href=&quot;#%E5%86%85%E5%AD%98%E4%BC%98%E5%8C%96&quot;&gt;跳转到内存优化&lt;/a&gt;）&amp;lt;br&amp;gt;
&amp;lt;span style=&quot;color: red;&quot;&amp;gt;后台优化与内存优化的关闭方法与开启相同，并且都需要重启&amp;lt;/span&amp;gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;hr /&gt;
&lt;h2&gt;常见问题解答&lt;/h2&gt;
&lt;h3&gt;需要使用的冻结模式&lt;/h3&gt;
&lt;p&gt;:::tip&lt;/p&gt;
&lt;p&gt;如果内核支持v2, 那么始终建议使用v2&lt;/p&gt;
&lt;p&gt;:::&lt;/p&gt;
&lt;p&gt;根据内核判断，一般而言5.4及其往上使用v2，5.4以下使用v1或kill&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;对于部分厂商而言，4.19系内核且使用高通处理器的设备同样支持v2，这部分需要自行测试，或使用Tombed Monitor进行查看&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;如果不确定冻结模式选什么的可以下载Tombed Monitor查看，打开之后授权Root，然后点右上角感叹号就可以了&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://coolapk.com/feed/48435014?shareKey=MjZkZTkzMzFjODc1NjYyYjA4ODU~&amp;amp;shareUid=22627121&amp;amp;shareFrom=com.coolapk.market_13.3.3&quot;&gt;下载链接&lt;/a&gt;&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;显示已挂载v2就用v2&amp;lt;br&amp;gt;
显示已挂载v1就用v1&amp;lt;br&amp;gt;
显示不支持Freezer就用kill&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h4&gt;系统不支持v2冻结,但是我想使用怎么办&lt;/h4&gt;
&lt;ol&gt;
&lt;li&gt;如果你的内核是4.19，你可以尝试刷入挂载v2模块，看看挂载后能不能使用v2模式冻结（2个都可以试试，不保证成功，但是可以试试）&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;a href=&quot;https://lanzout.com/irptX25uxnfe&quot;&gt;下载链接1 来自@ff19(频道ID)，由@Prslc(频道ID)修改，不限系统使用&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://cloud.bzmshang.top/Software/Tombstone/Other/Mount&amp;amp;Monitor/Cgroup-Mount/Download/%E6%8C%82%E8%BD%BDFreezerV2(JARK006).zip&quot;&gt;下载链接2 来自@Jark006(频道ID),仅安卓11-安卓13可使用&lt;/a&gt;&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;如果你是其他内核，或4.19刷挂载v2，没能成功挂载v2，可以尝试刷入apatch的内核级挂载v2模块（详情可以看&lt;a href=&quot;#re-kernel-kpm&quot;&gt;点击跳转到Re-kernel-KPM&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;:::important&lt;/p&gt;
&lt;p&gt;注： 如果你的机子，支持Binder临时解冻，请勿挂载v2（Apatch的内核级挂载除外），因为这将直接导致Binder通知事件消失。怎么检测是否支持Binder临时解冻请点击&lt;a href=&quot;#%E5%BF%AB%E9%80%9F%E6%B5%8B%E8%AF%95%E6%98%AF%E5%90%A6%E6%9C%89binder&quot;&gt;跳转到快速测试是否有Binder&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;在有Binder通知的情况下，使用v1其实与使用v2的体验并无太大区别，如果想完美使用v2,必须使用内核级别的挂载v2模块&lt;/p&gt;
&lt;p&gt;:::&lt;/p&gt;
&lt;h3&gt;查看应用是否冻结&lt;/h3&gt;
&lt;p&gt;在NoActive主页中，先将应用列表切换为运行列表，这时候可以看见还在运行的非系统应用，如果应用后面有kill;v1;v2，并且写了X个进程X个已冻结则代表冻结成功&lt;/p&gt;
&lt;p&gt;如果你使用的是3.5Pro-19或之后的版本，还可以点击想查询的应用，用以查看应用状态&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;./%E5%B8%B8%E8%A7%81%E9%97%AE%E9%A2%98%E8%A7%A3%E7%AD%941.png&quot; alt=&quot;常见问题解答1&quot; /&gt;&lt;/p&gt;
&lt;p&gt;:::important
kill，v1，v2为使用的冻结方式，正常情况下不会同时出现，如果同时出现了你需要排除一下是否使用了多个墓碑，是否屏蔽系统墓碑等&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;
冻结时，应用的所有进程一般也会全部冻结，例如3个进程3个已冻结，如果出现了冻结不完全你需要排除一下是否使用了多个墓碑，是否屏蔽系统墓碑等&lt;/p&gt;
&lt;p&gt;:::&lt;/p&gt;
&lt;hr /&gt;
&lt;h3&gt;快速测试是否有Binder&lt;/h3&gt;
&lt;h4&gt;使用陌陌判断(推荐)&lt;/h4&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&quot;https://www.coolapk.com/apk/com.immomo.momo&quot;&gt;下载链接&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;使用QQ登陆陌陌&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;日记出现Binder 临时解冻等字眼即可&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;:::important&lt;/p&gt;
&lt;p&gt;注：&amp;lt;br&amp;gt;
1.使用QQ登录陌陌时，QQ需要在后台，并且是冻结状态&amp;lt;br&amp;gt;
2.如果没有Binder解冻，陌陌将登录不了，会出现白屏，无反应现象&amp;lt;br&amp;gt;
3.如果你的系统不支持binder解冻，并且你使用是&amp;lt;span style=&quot;color: red;&quot;&amp;gt;付费版&amp;lt;/span&amp;gt;的NoActiive。那么可以考虑使用Re-kernel系列模块获得binder事件的检测（具体可以查看&lt;a href=&quot;#re-kernel&quot;&gt;Re-kernel&lt;/a&gt;）
点击&lt;a href=&quot;#%E6%80%8E%E4%B9%88%E6%9F%A5%E7%9C%8B%E6%97%A5%E5%BF%97&quot;&gt;跳转日志查看方法&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;:::&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;./%E5%B8%B8%E8%A7%81%E9%97%AE%E9%A2%98%E8%A7%A3%E7%AD%943.png&quot; alt=&quot;常见问题解答3&quot; /&gt;&lt;/p&gt;
&lt;h4&gt;从系统判断(不推荐)&lt;/h4&gt;
&lt;p&gt;这个方法只是单纯的猜,不能作为实际,因此已删除;&lt;/p&gt;
&lt;p&gt;如无法使用陌陌判断,可使用一段时间(例如一天)后去日志查看是否包含有 &lt;code&gt;Binder通知 临时解冻&lt;/code&gt; 这样的内容,必须要有实际的Binder解冻,仅仅是日志的 xx专属Binder正常 不能作为完全的判断依据&lt;/p&gt;
&lt;p&gt;&amp;lt;div style=&quot;border: 2px solid #dddddd; border-radius: 10px;&quot;&amp;gt;
&amp;lt;details style=&quot;padding: 5px;&quot;&amp;gt;
&amp;lt;summary&amp;gt;删除的内容&amp;lt;/summary&amp;gt;
这只是个初略的判断方法。我更建议你{% btn &apos;#使用陌陌判断-推荐&apos;,使用陌陌判断,far fa-hand-point-right,outline blue larger %}
如果你使用的系统是官方的ColorOS；RealmeUI；MIUI；HyperOS；originOS，并且内核是官方内核，内核版本在5.10或以上，一般情况下，都是支持Binder解冻的
&amp;lt;/details&amp;gt;
&amp;lt;/div&amp;gt;&lt;/p&gt;
&lt;hr /&gt;
&lt;h3&gt;UI内一直弹出提示“请刷入附加模块并在LSPosed中激活NoActive”&lt;/h3&gt;
&lt;p&gt;首先最基本的，你需要刷入附加模块，该“&amp;lt;span style=&quot;color: red;&quot;&amp;gt;附加模块&amp;lt;/span&amp;gt;”指的是“&amp;lt;span style=&quot;color: red;&quot;&amp;gt;墓碑附加模块&amp;lt;/span&amp;gt;”，而非Rekernel&lt;/p&gt;
&lt;p&gt;下载链接与模块解释点击&lt;a href=&quot;#%E5%A2%93%E7%A2%91%E9%99%84%E5%8A%A0%E6%A8%A1%E5%9D%97%E7%9A%84%E4%BB%8B%E7%BB%8D&quot;&gt;跳转到墓碑附加模块的介绍&lt;/a&gt;&lt;/p&gt;
&lt;h4&gt;排查Magisk版本&lt;/h4&gt;
&lt;p&gt;附加模块使用了Magiskpolicy来修补Selinux规则并允许 NoActive 加载 jni 运行库，但Magisk版本号高于27000并小于27007的版本存在一个未修复的Magiskpolicy bug，无法正常修补Selinux规则导致NoActive不能正常运行&lt;/p&gt;
&lt;p&gt;&amp;lt;span style=&quot;color: red;&quot;&amp;gt;如果你正在使用Kitsune Mask，请切换至Canary或Alpha，所有在Kitsune Mask环境下反馈的问题和bug均会被忽视&amp;lt;/span&amp;gt;&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;解决方法：&amp;lt;br&amp;gt;
1.切换至Magisk Alpha 27006及其以上&amp;lt;br&amp;gt;
2.切换至Magisk Canary 27007及其以上&amp;lt;br&amp;gt;
3.切换至其它Root方案&lt;/p&gt;
&lt;p&gt;下载地址&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://github.com/topjohnwu/Magisk/releases&quot;&gt;Magisk官方&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://install.appcenter.ms/users/vvb2060/apps/magisk/distribution_groups/public&quot;&gt;Magisk Alpha&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://kernelsu.org/zh_CN/&quot;&gt;KernelSU&lt;/a&gt;  (可考虑MKSU,链接自行探索)&lt;/p&gt;
&lt;p&gt;Apatch：&lt;s&gt;目前不建议使用，可能出现相同的问题&lt;/s&gt; 自行探索&lt;/p&gt;
&lt;p&gt;SukiSU等其他 自行探索&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h4&gt;排查LSPosed版本&lt;/h4&gt;
&lt;p&gt;有能力者请优先使用 LSPosed 内测版，内测版通用于目前所有主流安卓版本&amp;lt;br&amp;gt;
内测版需要自己申请&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;./%E5%B8%B8%E8%A7%81%E9%97%AE%E9%A2%98%E8%A7%A3%E7%AD%944.png&quot; alt=&quot;常见问题解答4&quot; /&gt;&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;如果你正在使用的安卓版本低于Android 14，请使用LSPosed官方版，即LSPosed 7024/7058&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;如果你正在使用Android 14及以上，可尝试使用LSPosed npm 7075，该版本在A14上已测试通过，可以正常使用NoActive，但A15未经测试，可自行尝试是否可用&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;如果你正在使用Android 15，可尝试使用LSPosed（By JingMartix）
优先推荐使用内测版LSPosed，因为第三方LSPosed版本众多，出现bug各不相同，不会因为你使用的是改版LSPosed而修复bug&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;img src=&quot;./LSPosed%E7%89%88%E6%9C%AC%E8%AF%B4%E6%98%8E1.jpg&quot; alt=&quot;LSPosed版本说明1&quot; /&gt;&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;./LSPosed%E7%89%88%E6%9C%AC%E8%AF%B4%E6%98%8E2.jpg&quot; alt=&quot;LSPosed版本说明2&quot; /&gt;&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;下载地址:&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://github.com/LSPosed/LSPosed/releases&quot;&gt;LSPosed 官方 (停更)&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://t.me/LSPosed/287&quot;&gt;LSPosed 内测版申请&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://down.app.myflv.cn/Env&quot;&gt;LSPosed npm&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://github.com/JingMatrix/LSPosed&quot;&gt;LSPosed（JingMatrix）&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h4&gt;以上两种均符合还提示&lt;/h4&gt;
&lt;p&gt;如果你按照以上方式排查了，UI还是一直提示“请刷入附加模块并在LSPosed中启用NoActive”，可以尝试&amp;lt;span style=&quot;color: red;&quot;&amp;gt;卸载&amp;lt;/span&amp;gt;墓碑附加模块&amp;lt;span style=&quot;color: red;&quot;&amp;gt;重新刷入&amp;lt;/span&amp;gt;，不行的话再带着你的环境信息，到&amp;lt;span style=&quot;color: green;&quot;&amp;gt;[Pro用户]NoActive&amp;lt;/span&amp;gt;进行提问&lt;/p&gt;
&lt;p&gt;:::important&lt;/p&gt;
&lt;p&gt;需要带上的环境信息有：&lt;/p&gt;
&lt;p&gt;&lt;code&gt;LSPosed版本，安卓版本，NoActive版本，使用的root管理器，root管理器的版本&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;:::&lt;/p&gt;
&lt;h3&gt;怎么查看日志&lt;/h3&gt;
&lt;p&gt;先从NoActive设置里查看你路径的输出方式(默认是框架，建议改成文件)&lt;/p&gt;
&lt;p&gt;日志等级修改同样在NoActive设置中，一般来讲信息足矣，如果你需要反馈bug请使用&amp;lt;span style=&quot;color: red;&quot;&amp;gt;调试&amp;lt;/span&amp;gt;&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;框架的输出路径在LSP的日志里&amp;lt;br&amp;gt;
文件的输出路径在/data/system/NoActive_xxxxxxxx/的log文件与last.log文件里
&amp;lt;span style=&quot;color: red;&quot;&amp;gt;log文件&amp;lt;/span&amp;gt;记录的是你&amp;lt;span style=&quot;color: red;&quot;&amp;gt;当前的日志&amp;lt;/span&amp;gt;&amp;lt;br&amp;gt;
last.log文件记录的是你最近一次重启前的日志&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;
注：&amp;lt;br&amp;gt;&amp;lt;del&amp;gt;改完文件输出路径需要重启才生效&amp;lt;/del&amp;gt;
在新版本中是立即生效无需重启&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;如果出现多次系统界面Hook，说明你的系统界面莫名其妙的挂掉了，每次重启系统界面NoAcitve都会再次进行Hook以确保磁贴解冻正常工作&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;./%E5%B8%B8%E8%A7%81%E9%97%AE%E9%A2%98%E8%A7%A3%E7%AD%945.png&quot; alt=&quot;常见问题解答5&quot; /&gt;&lt;/p&gt;
&lt;p&gt;如图,属于&amp;lt;span style=&quot;color: red;&quot;&amp;gt;正常现象&amp;lt;/span&amp;gt;&lt;/p&gt;
&lt;h4&gt;报错&lt;/h4&gt;
&lt;p&gt;NoAcitve的常见报错一般分为两种，前置Hook报错及冻结错误，此处仅讨论本条目更新时的最新版Pro-196&lt;/p&gt;
&lt;p&gt;:::important&lt;/p&gt;
&lt;p&gt;停更的正式版（3.3 Pro）&amp;lt;span style=&quot;color: red;&quot;&amp;gt;不支持Android15&amp;lt;/span&amp;gt;，别再问为什么报错/用不了了&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;
以下所有情况均为基于&amp;lt;span style=&quot;color: red;&quot;&amp;gt;官方包官方内核&amp;lt;/span&amp;gt;讨论，如果你正在使用官改/第三方Rom，也可尝试按以下流程走，但既不保证解决问题也不保证你的问题能得到修复&lt;/p&gt;
&lt;p&gt;:::&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;前置Hook报错&lt;/p&gt;
&lt;p&gt;一般而言，这是因为你使用的LSPosed版本是三方/魔改版，请尽量使用LSPosed 7024/7058，有能力者尽量使用内测版LSPosed&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;关于Android 14/15 LSPosed版本的选择，&lt;a href=&quot;#%E6%8E%92%E6%9F%A5lsposed%E7%89%88%E6%9C%AC&quot;&gt;排查LSPosed版本&lt;/a&gt;有详细说明，此处不再写&lt;/p&gt;
&lt;/blockquote&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;如果已经排查过LSPosed版本，但问题依然存在，可按照&lt;a href=&quot;#%E5%A6%82%E4%BD%95%E6%8F%90%E9%97%AE%E4%B8%8E%E5%8F%8D%E9%A6%88&quot;&gt;如何提问与反馈&lt;/a&gt;的格式向&amp;lt;span style=&quot;color: purple;&quot;&amp;gt;@myflavor &amp;lt;/span&amp;gt;进行反馈&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;冻结错误&lt;/p&gt;
&lt;p&gt;&amp;lt;span style=&quot;color: red;&quot;&amp;gt;常见&amp;lt;/span&amp;gt;情况分为两种&lt;/p&gt;
&lt;p&gt;2.1 该进程在被NoActive冻结时被杀死&lt;/p&gt;
&lt;p&gt;出于很明显的原因，当NoActive冻结时进程必须存活，当进程死亡与冻结同时发生时就会出现该报错，属于正常情况&lt;/p&gt;
&lt;p&gt;2.2 你使用了你的设备不支持的冻结方式&lt;/p&gt;
&lt;p&gt;如果&amp;lt;span style=&quot;color: red;&quot;&amp;gt;频繁出现&amp;lt;/span&amp;gt;该报错，说明你的设备&amp;lt;span style=&quot;color: red;&quot;&amp;gt;不支持&amp;lt;/span&amp;gt;你选择的冻结方式，如何选择冻结方式写在&lt;a href=&quot;#%E9%9C%80%E8%A6%81%E4%BD%BF%E7%94%A8%E7%9A%84%E5%86%BB%E7%BB%93%E6%A8%A1%E5%BC%8F&quot;&gt;需要使用的冻结模式&lt;/a&gt;，如果你的设备不支持v2冻结但你希望使用可看&lt;a href=&quot;#%E7%B3%BB%E7%BB%9F%E4%B8%8D%E6%94%AF%E6%8C%81v2%E5%86%BB%E7%BB%93%E4%BD%86%E6%98%AF%E6%88%91%E6%83%B3%E4%BD%BF%E7%94%A8%E6%80%8E%E4%B9%88%E5%8A%9E&quot;&gt;系统不支持v2冻结,但是我想使用怎么办&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;h4&gt;警告&lt;/h4&gt;
&lt;p&gt;NoActive的警告通常出现在你未在LSPosed中选择全部推荐作用域，目前只有一个不勾选文件的警告&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;./%E5%B8%B8%E8%A7%81%E9%97%AE%E9%A2%98%E8%A7%A3%E7%AD%946.png&quot; alt=&quot;常见问题解答6&quot; /&gt;&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;检测Binder是否正常请点击&lt;a href=&quot;#%E5%BF%AB%E9%80%9F%E6%B5%8B%E8%AF%95%E6%98%AF%E5%90%A6%E6%9C%89Binder&apos;,%E8%B7%B3%E8%BD%AC%E5%88%B0%E5%BF%AB%E9%80%9F%E6%B5%8B%E8%AF%95%E6%98%AF%E5%90%A6%E6%9C%89binder&quot;&gt;快速测试是否有Binder&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Re-Kernel的使用请点击&lt;a href=&quot;#re-kernel&quot;&gt;Re-kernel&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h3&gt;冻结系统应用&lt;/h3&gt;
&lt;p&gt;配置文件示例:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;{
	&quot;backgroundOptimize&quot;:false,
	&quot;commandInject&quot;:true,
	&quot;dozeType&quot;:&quot;off&quot;,
	&quot;freezeBinder&quot;:false,
	&quot;memoryOptimize&quot;:false,
	&quot;netLink&quot;:0,
	&quot;rotationInterval&quot;:360,
	&quot;rotationThaw&quot;:false,
	&quot;skipXposed&quot;:true,
	&quot;systemAppSet&quot;:[
		&quot;com.tencent.mobileqq&quot;
	],
	&quot;userAppSet&quot;:[
		&quot;com.agzvev.app&quot;,
		&quot;com.whzvaj.app&quot;
		
	]
}
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;systemAppSet意思为在NoA中将某个应用视为&lt;strong&gt;系统应用&lt;/strong&gt;&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;例：&amp;lt;br&amp;gt;我想在NoA中，将用户应用“QQ”视为系统应用，应用列表中不出现“QQ”，就找到“QQ”的包名，输入到和示例文件中的相同位置&lt;/p&gt;
&lt;/blockquote&gt;
&lt;blockquote&gt;
&lt;p&gt;效果：&amp;lt;br&amp;gt;输入进去，并且保存重启了，NoA会将“QQ”从用户应用更改为系统应用，不会出现在应用配置列表里面，也不会进行冻结&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;userAppSet意思为在NoA中将某个应用识别为&lt;strong&gt;用户应用&lt;/strong&gt;&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;例：&amp;lt;br&amp;gt;我想在NoA中，将系统应用“天气”视为用户应用，并可以进行配置冻结，就找到“天气”的包名，输入到和示例文件中&quot;com.agzvev.app&quot;,&quot;com.whzvaj.app&quot;相同的位置&lt;/p&gt;
&lt;/blockquote&gt;
&lt;blockquote&gt;
&lt;p&gt;效果：&amp;lt;br&amp;gt;输入进去后，并且保存重启了，NoA会将“天气”从系统应用识别更改为用户应用，默认冻结它，你可以在应用列表中对其进行配置（例如进行白名单，常驻通知等操作）&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;:::warning&lt;/p&gt;
&lt;p&gt;注：&amp;lt;br&amp;gt;
1.添加包名之前请仔细思考，确定是否要添加，&amp;lt;span style=&quot;color: purple;&quot;&amp;gt;@myflavor &amp;lt;/span&amp;gt;不在列表加入系统应用最主要的原因就是，随意冻结可能会导致莫名的bug，以及系统应用利用Binder频繁解冻。&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;
2.包名前后必须加&quot;符号。&amp;lt;br&amp;gt;
3.想添加多个应用，需要换行，并且在每个应用的包名后面加上英文,符号（最后的包名不需要加）&amp;lt;br&amp;gt;
例：&amp;lt;br&amp;gt;
&quot;com.agzvev.app&quot;,&amp;lt;br&amp;gt;
&quot;com.whzvaj.app&quot;,&amp;lt;br&amp;gt;
&quot;com.ajwvdv.app&quot;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;
4.重启手机配置才生效。&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;
5.如果你使用的是付费版本，将会出现冻结系统应用警告&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;
6.如果你填写的包名格式不符合Json的语法要求，NoActive将自动还原该配置文件为默认配置&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;
配置文件地址：&amp;lt;br&amp;gt;
/data/system/NoActive_xxxxxxxx/config/的MasterConfig.json文件&lt;/p&gt;
&lt;p&gt;:::&lt;/p&gt;
&lt;p&gt;官方文档原话：&lt;/p&gt;
&lt;p&gt;为了保证系统稳定，系统应用不会被冻结，你可以修改/data/system/NoActive_xxxxxxxx/config/MasterConfig.json&lt;/p&gt;
&lt;p&gt;通过userAppSet添加用户应用，格式 应用包名 例如 com.xiaomi.smarthome&lt;/p&gt;
&lt;p&gt;&lt;code&gt;再次提醒：谨慎进行配置！！！&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;&lt;code&gt;再次提醒：谨慎进行配置！！！&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;&lt;code&gt;再次提醒：谨慎进行配置！！！&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;视频演示:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;始终无法解析摆烂了&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h3&gt;设置白名单的应用被冻结&lt;/h3&gt;
&lt;p&gt;如果你设置白名单的应用被冻结了，一般有以下几种情况：&lt;/p&gt;
&lt;p&gt;情况1.你刷了多个墓碑，设置白名单的应用被另外一个墓碑冻结了，&lt;/p&gt;
&lt;p&gt;情况2.系统墓碑把白名单应用冻结了&lt;/p&gt;
&lt;p&gt;情况3.其他原因&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;如果是情况1，卸载其他墓碑即可&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;
如果是情况2，可以先确定一下你的系统&amp;lt;br&amp;gt;
如果你是米系系统，请先检查一下有没有刷入Millet_Config_V2模块&amp;lt;br&amp;gt;
如果你是Oppo系系统，请检查一下有没有刷入Hans_Config模块&amp;lt;br&amp;gt;
如果你是除了这两个系统之外的系统，那么这个问题大概率无解，因为找不到对应的模块来禁用你系统的墓碑（这个可以不需要管，因为是系统墓碑冻结的，一般不会对使用体验造成太大的影响）&amp;lt;br&amp;gt;
注：&amp;lt;br&amp;gt;
因为墓碑附加模块把Hans_Config与Millet_Config_V2的模块内容整合进去了，并把他们的下载地址移除了，所以说你是，米系用户或oppo系用户，可以下墓碑附加模块安装上，以此禁用系统墓碑（附加模块介绍在&lt;a href=&quot;#%E5%A2%93%E7%A2%91%E9%99%84%E5%8A%A0%E6%A8%A1%E5%9D%97%E7%9A%84%E4%BB%8B%E7%BB%8D&quot;&gt;点击跳转到墓碑附加模块的介绍&lt;/a&gt;）&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;
如果你是情况3，欢迎带上你的系统环境+详细描述来群里提问&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h3&gt;墓碑冻结应用后,应用不发送通知&lt;/h3&gt;
&lt;p&gt;你可以尝试让应用走第三方的push，或给予白名单&lt;/p&gt;
&lt;p&gt;:::important&lt;/p&gt;
&lt;p&gt;注：&amp;lt;br&amp;gt;
如果你使用了华为的HMS push，请将HMS core给予白名单&amp;lt;br&amp;gt;
微信不支持走第三方push，虽然有很多方法可以让其冻结后也能接收到消息，但是我都不推荐。&amp;lt;del&amp;gt;我还是建议你去骂（ ）小龙&amp;lt;/del&amp;gt;&lt;/p&gt;
&lt;p&gt;:::&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://coolapk.com/feed/37685586?shareKey=YWQyOTY1ZDQ3ODdlNjYzYzlhM2Q~&amp;amp;shareUid=22627121&amp;amp;shareFrom=com.coolapk.market_13.3.3&quot;&gt;HMS使用教程&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;s&gt;MiPush使用教程：&lt;a href=&quot;https://coolapk.com/feed/44999548?shareKey=MWZiYjU1YTQ4YjBlNjYzYzlhMzU~&amp;amp;shareUid=22627121&amp;amp;shareFrom=com.coolapk.market_13.3.3&quot;&gt;查看链接&lt;/a&gt;&lt;/s&gt;&lt;/p&gt;
&lt;p&gt;不建议使用该MiPush教程,因为该教程版本过旧，建议滑动Android·墓碑频道到最下方能够看到&quot;MiPush&quot;,点击会自动跳转至MiPush频道(或&lt;a href=&quot;https://pd.qq.com/s/hmvj5e36&quot;&gt;点击加入MiPush频道&lt;/a&gt;),随后查看讨论组的第一个选项&quot;指南&quot;&lt;/p&gt;
&lt;h3&gt;FCM相关问题&lt;/h3&gt;
&lt;p&gt;NoActive Pro现已支持FCM解冻&lt;/p&gt;
&lt;p&gt;:::important&lt;/p&gt;
&lt;p&gt;请不要问微信为什么走不了FCM推送，这本来就是玄学，&amp;lt;span style=&quot;color: red;&quot;&amp;gt;与NoActive无关&amp;lt;/span&amp;gt;&lt;/p&gt;
&lt;p&gt;:::&lt;/p&gt;
&lt;p&gt;设置FCM解冻相关请查看：&lt;a href=&quot;../expressive/#fcm%E8%A7%A3%E5%86%BB&quot;&gt;进阶文档&lt;/a&gt;&lt;/p&gt;
&lt;h3&gt;在使用NoActive后Zygisk失效&lt;/h3&gt;
&lt;p&gt;据&amp;lt;span style=&quot;color: purple;&quot;&amp;gt;@myflavor&amp;lt;/span&amp;gt;(频道ID)所说，掉zygisk是因为你使用的系统对system_server开启了ptrace调试&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;解决方法&amp;lt;br&amp;gt;
1.使用历史版本里的163版本NoActive，在此之后的所有版本均存在该问题
（163版不支持安卓15）&lt;/p&gt;
&lt;p&gt;2.更换系统ROM&lt;/p&gt;
&lt;p&gt;3.将selinux从宽容改成严格并重启
（自行确定可行性）&lt;/p&gt;
&lt;/blockquote&gt;
&lt;hr /&gt;
&lt;h2&gt;如何提问与反馈&lt;/h2&gt;
&lt;p&gt;&amp;lt;span style=&quot;color: red;&quot;&amp;gt;大部分时候，你应该考虑优先查看文档，而非选择出问题直接提问，更不要指望会有人立刻解答你的问题，管理的时间不是无限的，不会一天24小时盯着群&amp;lt;/span&amp;gt;&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;./%E5%A6%82%E4%BD%95%E6%8F%90%E9%97%AE%E4%B8%8E%E5%8F%8D%E9%A6%881.png&quot; alt=&quot;如何提问与反馈1&quot; /&gt;&lt;/p&gt;
&lt;p&gt;在查看文档无解答之后，可优先前往&amp;lt;span style=&quot;color: green;&quot;&amp;gt;【Pro用户】NoActive&amp;lt;/span&amp;gt;进行提问&lt;/p&gt;
&lt;p&gt;:::warning&lt;/p&gt;
&lt;p&gt;注：&amp;lt;br&amp;gt;
正如本条目开头所说，请优先查看文档，而非直接提问并希望有人给出解答&lt;/p&gt;
&lt;p&gt;:::&lt;/p&gt;
&lt;p&gt;如果&amp;lt;span style=&quot;color: red;&quot;&amp;gt;确认是Bug&amp;lt;/span&amp;gt;，请按照以下格式操作&lt;/p&gt;
&lt;p&gt;前往【反馈】NoActive按照以下格式把你遇到的Bug反馈进去即可&lt;/p&gt;
&lt;p&gt;&amp;lt;span style=&quot;color: red;&quot;&amp;gt;Bug反馈&amp;lt;/span&amp;gt;
&amp;lt;span style=&quot;color: red;&quot;&amp;gt;安卓版本: &amp;lt;/span&amp;gt;
&amp;lt;span style=&quot;color: red;&quot;&amp;gt;定制UI： &amp;lt;/span&amp;gt;
&amp;lt;span style=&quot;color: red;&quot;&amp;gt;内核版本： &amp;lt;/span&amp;gt;
&amp;lt;span style=&quot;color: red;&quot;&amp;gt;使用的冻结模式：&amp;lt;/span&amp;gt;
&amp;lt;span style=&quot;color: red;&quot;&amp;gt;Bug表现： &amp;lt;/span&amp;gt;
&amp;lt;span style=&quot;color: red;&quot;&amp;gt;正常表现： &amp;lt;/span&amp;gt;&lt;/p&gt;
&lt;p&gt;附上调试级别日志，大多情况下无需复现就能直接修复，最好再附上bug视频。如未上传，Bug可能无限期不修复&lt;/p&gt;
&lt;p&gt;由于安卓的系统，内核众多，不可能每个系统，每个内核遇到的bug都给你修复，所以只能保证你是在&amp;lt;span style=&quot;color: red;&quot;&amp;gt;官方系统，官方内核&amp;lt;/span&amp;gt;的情况下进行修复&lt;/p&gt;
&lt;p&gt;请不要反馈&amp;lt;span style=&quot;color: red;&quot;&amp;gt;看更新日志&amp;lt;/span&amp;gt;就能解决的睿智问题&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;例：&amp;lt;br&amp;gt;
Bug反馈&amp;lt;br&amp;gt;
安卓版本：13&amp;lt;br&amp;gt;
定制UI：MIUI14&amp;lt;br&amp;gt;
内核版本：5.10&amp;lt;br&amp;gt;
使用的冻结模式：v2&amp;lt;br&amp;gt;
Bug表现：启用模块后重启，掉Zygisk&amp;lt;br&amp;gt;
正常表现：启用模块后不掉Zygisk&amp;lt;br&amp;gt;
再附上调试级别日志，最好再附上bug视频。大多情况下无需复现就能直接修复，如未上传，Bug可能无限期不修复&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;
注：&amp;lt;br&amp;gt;
请不要不带任何信息就在群里提问，每个人的环境，遇到的问题都不一样，没有统一的标准答案，所以说请一定要带上设备环境与详细信息&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h2&gt;后台优化及内存优化&lt;/h2&gt;
&lt;h3&gt;后台优化&lt;/h3&gt;
&lt;p&gt;激活NoActive后直接在NoActive设置中开启后台优化，开启后NoActive最顶上会提示“&amp;lt;span style=&quot;color: red;&quot;&amp;gt;当前配置重启后生效&amp;lt;/span&amp;gt;”，之后重启即可&lt;/p&gt;
&lt;p&gt;开启后NoActive会修改oom_adj，应用设置内将会多出重要程度一栏，有“高中低”选项给你选，白名单默认“高”，其他默认“低”，你按照你认为应用的重要程度了来设置就好了。设置后系统优先杀你设置不重要的应用，即先杀设置“低”的。&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;例子:&amp;lt;br&amp;gt;
假如我这里有5款软件，scene,李跳跳，QQ,酷安，抖音。&amp;lt;br&amp;gt;
scene对我来说很重要，我不想让他被系统随便杀死，那我就设置“高”。&amp;lt;br&amp;gt;
李跳跳，酷安我觉得不是很重要，但是也不想让系统优先杀死他们，那我就设置“中”。&amp;lt;br&amp;gt;
QQ，抖音对我来说一-点都不重要，系统可以优先杀死他们，那我就设置“低”。&amp;lt;br&amp;gt;
系统在杀死了设置“低”的应用QQ之后如果内存充足，那么他就不会继续杀抖音，李跳跳，酷安，scene等。&amp;lt;br&amp;gt;
如果杀死了设置低的应用QQ，抖音之后内存还是不足，那么他将会继续杀死设置“中”的应用酷安，李跳跳，直到达到系统内存阈值&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;
注：&amp;lt;br&amp;gt;
&amp;lt;span style=&quot;color: red;&quot;&amp;gt;任何修改oom_adj的模块或功能都与后台优化冲突&amp;lt;/span&amp;gt;&amp;lt;br&amp;gt;
后台优化本身并没有杀后台的行为，只是将应用进行排序，让系统自己杀后台&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h3&gt;内存优化&lt;/h3&gt;
&lt;p&gt;开启后台优化后，在NoActive的设置中长按“当前版本”一栏即可开启内存优化，开启后NoActive最顶上会提示“&amp;lt;span style=&quot;color: red;&quot;&amp;gt;内存优化已开启，重启生效&amp;lt;/span&amp;gt;”，之后重启即可&lt;/p&gt;
&lt;p&gt;开启此功能后，NoActive会在应用页面切换时检测设备的内存使用率。当可用内存低于设定的保留值时，NoActive会评估应用的后台留存时长。仅对于重要程度设置为低的应用，如果这些应用在长时间未回到前台的情况下，将会被清理。清理的顺序从最长时间未开启的应用到最近开启的应用，直到内存使用率回升至保留值以上时停止清理。&lt;/p&gt;
&lt;p&gt;:::important&lt;/p&gt;
&lt;p&gt;从Pro-173开始，FCM临时解冻、Shell临时解冻、意图临时解冻、轮番解冻、UI设置白名单解冻、Binder解冻，都不会影响到OOM排序&amp;lt;br&amp;gt;
注：&amp;lt;br&amp;gt;
&amp;lt;span style=&quot;color: red;&quot;&amp;gt;内存优化只有开启后台优化后才可使用&amp;lt;/span&amp;gt;&amp;lt;br&amp;gt;
&amp;lt;span style=&quot;color: red;&quot;&amp;gt;从Pro-173开始所有设备固定保留值为物理内存和虚拟内存的10%&amp;lt;/span&amp;gt;&amp;lt;br&amp;gt;
如果你希望自定义，请查看：&lt;a href=&quot;../expressive/#%E5%86%85%E5%AD%98%E4%BC%98%E5%8C%96&quot;&gt;进阶文档&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;:::&lt;/p&gt;
&lt;h2&gt;Re-kernel&lt;/h2&gt;
&lt;p&gt;:::important&lt;/p&gt;
&lt;p&gt;只有Pro版NoActive接入了Re-kernel，对于目前停更的免费版而言，刷入也不会有任何效果 (因为免费版更新时Re-kernel尚未出现)&lt;/p&gt;
&lt;p&gt;:::&lt;/p&gt;
&lt;p&gt;模块效果：&lt;/p&gt;
&lt;p&gt;为不支持监测对应系统Binder通讯的系统添加共同的Binder通讯，使用的墓碑模块只需要接入了Re-kernel就可以监测Binder。如果你的系统能被检测到Binder，并且可以正常使用，就没必要刷了&lt;/p&gt;
&lt;p&gt;Re-kernel跟墓碑附加模块并没有任何关联。不存在刷了一个另外一个有没有必要刷的情况。&lt;/p&gt;
&lt;p&gt;对于&amp;lt;span style=&quot;color: red;&quot;&amp;gt;米系，OPPO系，VIVO系原厂系统&amp;lt;/span&amp;gt;用户，因为NoActive支持这三家系统底层的binder通讯检测，所以&amp;lt;span style=&quot;color: red;&quot;&amp;gt;刷不刷都行&amp;lt;/span&amp;gt;，但如果你使用自带的Binder时出现重载，闪弹，卡屏现等象可尝试刷入Re-kernel看看能不能解决，但&amp;lt;span style=&quot;color: red;&quot;&amp;gt;其他系统&amp;lt;/span&amp;gt;的用户，为了更好的使用体验，还是建议刷上&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;注：&amp;lt;br&amp;gt;
关于是否能被检测到Binder，是否有Binder解冻可以看&lt;a href=&quot;#%E5%BF%AB%E9%80%9F%E6%B5%8B%E8%AF%95%E6%98%AF%E5%90%A6%E6%9C%89binder&quot;&gt;快速测试是否有Binder&lt;/a&gt;&amp;lt;br&amp;gt;
&amp;lt;span style=&quot;color: red;&quot;&amp;gt;LKM版&amp;lt;/span&amp;gt;Re-kernel与&amp;lt;span style=&quot;color: red;&quot;&amp;gt;KPM版&amp;lt;/span&amp;gt;Re-kernel并不兼容，一起使用&amp;lt;span style=&quot;color: red;&quot;&amp;gt;会死机&amp;lt;/span&amp;gt;（来自Re-kernel kpm的作者&amp;lt;span style=&quot;color: purple;&quot;&amp;gt;@lztxer&amp;lt;/span&amp;gt;(频道ID)的提醒）&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h3&gt;Re-kernel LKM&lt;/h3&gt;
&lt;p&gt;:::warning&lt;/p&gt;
&lt;p&gt;使用要求&amp;lt;br&amp;gt;
内核大版本必须大于等于5.10（低于5.10请点击&lt;a href=&quot;#re-kernel-kpm&quot;&gt;跳转到Re-kernel-KPM&lt;/a&gt;）&amp;lt;br&amp;gt;
目前已知Pandora内核，Marisa内核，OriginOS系统内核，HarmonyOS系统内核，较新魅族系统内核无法使用该版rekernel，请使用kpm版rekernel&lt;a href=&quot;#re-kernel-kpm&quot;&gt;跳转到Re-kernel-KPM&lt;/a&gt;）&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;
注：&amp;lt;br&amp;gt;
移植包正常情况下是没有Binder通知的。关于闪弹，重载，卡屏的词语解释在&lt;a href=&quot;#%E5%90%8D%E8%AF%8D%E8%A7%A3%E8%AF%BB&quot;&gt;名词解读&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;:::&lt;/p&gt;
&lt;p&gt;Re-kernel模块名称解析：&lt;/p&gt;
&lt;p&gt;ReKernel-Lite-v7.5 -（5.10 A12）.zip
rekernel: 模块名称
Lite：去除了网络通讯通知，精简了对应的代码（精简掉的代码是配合网络解冻使用的，但NoActive没有这个功能，故而精简对应的代码）
V7.5： 模块版本
5.10 ：对应的内核版本
a12：指定了内核安卓版本”为Android12的才可用，未表明a几则无需在意这个&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://down.app.myflv.cn/ReKernel&quot;&gt;Re-kernel下载链接&lt;/a&gt;&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;注：对应内核版本下载，不要下错了&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;
例：&amp;lt;br&amp;gt;
5.10内核用户下载5.10的&amp;lt;br&amp;gt;
Re-Kernel-v7.5-5.10.zip&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;
5.15内核用户下载5.15的&amp;lt;br&amp;gt;
Re-Kernel-v7.5-5.15.zip&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;
6.1内核用户下载的6.1的&amp;lt;br&amp;gt;
Re-Kernel-v7.5-6.1.zip&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;
&amp;lt;span style=&quot;color: red;&quot;&amp;gt;警告：&amp;lt;/span&amp;gt;&amp;lt;br&amp;gt;
&amp;lt;span style=&quot;color: red;&quot;&amp;gt;内核为6.1的OPPO系统用户，使用ksu的情况下请勿刷版本为v2.7的rekernel&amp;lt;/span&amp;gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h3&gt;Re-kernel KPM&lt;/h3&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;该模块能被4.4；4.19；5.4；5.10；5.15；6.1的内核使用，但是因为需要兼容低版本内核，所以说在执行效率上不如LKM版Rekernel，高版本内核推荐LKM版Rekernel&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;由于该模块的特殊性，所以需要依靠Apatch管理器运行，所以在此之前，你需要把管理器更换成Apatch或者让Magisk/Kernel SU与Apatch共存&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://docs.qq.com/doc/DS05PalBZbFR6cEdB&quot;&gt;方法&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&quot;https://coolapk.com/feed/55238890&quot;&gt;Re-kernel KPM官方路径链接&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;:::warning&lt;/p&gt;
&lt;p&gt;注：&amp;lt;br&amp;gt;
kpm无需看内核下载对应的版本，只要是&amp;lt;span style=&quot;background-color: #90EE90;&quot;&amp;gt;模块支持的内核版本&amp;lt;/span&amp;gt;，一般选择最新刷入即可
因为NoActive并没有网络解冻功能，所以优先推荐使用没&amp;lt;span style=&quot;color: red;&quot;&amp;gt;network&amp;lt;/span&amp;gt;后缀的版本&amp;lt;br&amp;gt;
如若&amp;lt;span style=&quot;background-color: #ADD8E6;&quot;&amp;gt;内核不支持该模块&amp;lt;/span&amp;gt;，将会导致手机发生死机；无限重启；软重启等现象&amp;lt;br&amp;gt;
&amp;lt;span style=&quot;background-color: #90EE90;&quot;&amp;gt;模块支持的内核版本&amp;lt;/span&amp;gt;。&amp;lt;span style=&quot;background-color: #ADD8E6;&quot;&amp;gt;内核不支持该模块&amp;lt;/span&amp;gt;是两个概念，请勿搞混，如若发生死机；无限重启；软重启等问题，先刷入原Boot&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;
如果你正在使用VK内核，则需要去&amp;lt;span style=&quot;color: red;&quot;&amp;gt;配置文件里把netlink后面的数字改成26&amp;lt;/span&amp;gt;，这是因为VK内核自带的Rekernel是残疾状态，不会告知binder通讯，且会与Rekernel KPM抢占通讯通道，这将会导致NoActive日志显示连接成功，但事实上不会输出binder并解冻应用&amp;lt;br&amp;gt;
配置文件目录：/data/system/NoActive_xxxxxxx/config/MasterConfig.json&lt;/p&gt;
&lt;p&gt;:::&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;因为Apatch的特殊性，所以写上2条你们可能用得上的特殊KPM模块&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;4.1 挂载v2模块（4.4；4.9；4.14；419可用）&lt;/p&gt;
&lt;p&gt;官方路径链接：&lt;a href=&quot;https://coolapk.com/feed/56384132&quot;&gt;查看链接&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;4.2 拦截内核kill信号模块（保后台类型）&lt;/p&gt;
&lt;p&gt;官方路径链接：&lt;a href=&quot;https://coolapk.com/feed/56816886&quot;&gt;查看链接&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;h1&gt;名词解读&lt;/h1&gt;
&lt;h2&gt;白重载&lt;/h2&gt;
&lt;p&gt;由应用被压缩太严重，进程被杀或者应用没及时进行解冻造成。&lt;/p&gt;
&lt;p&gt;表现为：&lt;/p&gt;
&lt;p&gt;打开应用，应用页面重新加载&lt;/p&gt;
&lt;hr /&gt;
&lt;h2&gt;黑重载&lt;/h2&gt;
&lt;p&gt;相当于冷启动，因为存在程序不完整或者进程丢失，也就是炸binder。&lt;/p&gt;
&lt;p&gt;表现为：&lt;/p&gt;
&lt;p&gt;应用黑闪一下，出现桌面，然后重新加载页面&lt;/p&gt;
&lt;hr /&gt;
&lt;h2&gt;闪弹&lt;/h2&gt;
&lt;p&gt;目前闪弹触发条件不明，我觉得大部分出现于kill上面。&lt;/p&gt;
&lt;p&gt;表现为：&lt;/p&gt;
&lt;p&gt;应用进入后台之后再次打开，应用在动画没结束的时候就会自动闪退。等再次进入的时候就会发现重新启动了【这种再次重新加载也被成为冷启动】&lt;/p&gt;
&lt;hr /&gt;
&lt;h2&gt;内存泄漏&lt;/h2&gt;
&lt;p&gt;1.当你打开软件，然后清掉后台，重复操作，内存占用会一直累加，等到内存耗尽，就会出现卡顿和死机&lt;/p&gt;
&lt;p&gt;正常情况下杀死应用后会回收应用占用内存（如QQ占用1.7G内存，杀死QQ及其后台以后系统应能空闲出1.7G左右内存），但是内存泄漏情况下杀死应用后内存不会被回收，导致内存占用越来越多。目前仅freezerv1存在此问题。&lt;/p&gt;
&lt;p&gt;表现为：&lt;/p&gt;
&lt;p&gt;打开进程查询软件，如果出现2个一样的进程就是内存泄露（非双开应用）&lt;/p&gt;
&lt;p&gt;注：&lt;/p&gt;
&lt;p&gt;内存泄露会无法释放内存，导致内存满手机卡死，noa3x已经打了内存泄露补丁缓解，但是还是会造成内存泄露&lt;/p&gt;
&lt;p&gt;解决方法：&lt;/p&gt;
&lt;p&gt;重启手机&lt;/p&gt;
&lt;hr /&gt;
&lt;h2&gt;掉卡片&lt;/h2&gt;
&lt;p&gt;表现为：&lt;/p&gt;
&lt;p&gt;1.软件进程还在，你去点应用的快捷方式还能打开，但是后台任务卡片掉了&lt;/p&gt;
&lt;p&gt;2.长时间不用的app在后台界面，卡片和进程一起丢失&lt;/p&gt;
&lt;p&gt;解决方法：&lt;/p&gt;
&lt;p&gt;刷入hook了后台防掉卡片的模块，例如后台优化，AppRetention等&lt;/p&gt;
&lt;hr /&gt;
&lt;h2&gt;冻死&lt;/h2&gt;
&lt;p&gt;目前出现情况不明，在冻它和noa中我都见过冻死&lt;/p&gt;
&lt;p&gt;表现为：&lt;/p&gt;
&lt;p&gt;1.滑动页面，点击页面无响应&lt;/p&gt;
&lt;p&gt;2.滑动页面，点击页面无响应，重新切一次后台才能显示刚刚滑动，点击的页面，但是继续滑动页面，点击页面还是无响应，需要重新切一次后台才能显示刚刚滑动，点击的页面&lt;/p&gt;
&lt;p&gt;解决方法：&lt;/p&gt;
&lt;p&gt;杀死应用重新打开一次&lt;/p&gt;
&lt;p&gt;注：&lt;/p&gt;
&lt;p&gt;把应用从后台切换至前台，其中有一段时间无法滑动屏幕，需要过一段时间才可以滑动屏幕，这不是冻死，而是应用从交换分区交换至RAM中，或者是应用还在解冻中（一般情况下为前者）&lt;/p&gt;
&lt;hr /&gt;
&lt;h2&gt;卡屏&lt;/h2&gt;
&lt;p&gt;日前怀疑是binder有问题出现的&lt;/p&gt;
&lt;p&gt;表现为：&lt;/p&gt;
&lt;p&gt;点击/滑动页面无响应，切后台重新进就正常&lt;/p&gt;
&lt;p&gt;卡屏与冻死的区别：&lt;/p&gt;
&lt;p&gt;卡屏切换后台重新进就解决，冻死之后，切换后台重新进也只是加载一下页面而已，滑动，点击还是不响应，切一次后台加载一下页面&lt;/p&gt;
&lt;hr /&gt;
&lt;h2&gt;假断网&lt;/h2&gt;
&lt;p&gt;出现情况不明
表现为：
重新打开应用，在网络正常的情况下，应用无法连接网络
解决方法：
杀死应用重新打开一次&lt;/p&gt;
&lt;hr /&gt;
&lt;h2&gt;Binder&lt;/h2&gt;
&lt;p&gt;1.Binder驱动是系统里负责应用之间通信，传递通信数据的驱动，位于dev/binder。如果应用只是冻结的运行，而没有冻结其binder通信接口，那么在其冻结状态下，如果遇到其他应用发来的通信请求，京就无法及时回复，超时不回复将被安卓框架层认为应用运行异常而杀死。而后应用解冻时，大概率将发生瞬间闪退，重启，重载等等情况（来自冻它官网）&lt;/p&gt;
&lt;p&gt;2.常见binder通信路径在/dev/binder如果你刷的第三方内核魔改了binder就会出现路径错乱情，况只有小米原生墓碑才能使用binder_ open外加binder_ Freezer 在冻它对binder使用的是/dev/binder所以如果是5.4内核的就不要刷所谓的完整binder通信的内核除非你用小米的原生墓碑( 来自 @魔威 补充)&lt;/p&gt;
&lt;p&gt;3.虽然平时一直只说binder，实际上是两个东西，binder是Android本来就有的，冻结提到的binder实际上是通知墓碑有binder消息，要不要解冻（来自@lztxzr 补充）&lt;/p&gt;
&lt;hr /&gt;
&lt;h2&gt;Freezer&lt;/h2&gt;
&lt;p&gt;Freezer是cgroup的其中一个子控制器，用于冻结进程的CPU使用权。&lt;/p&gt;
&lt;hr /&gt;
&lt;h2&gt;FreezerV1&lt;/h2&gt;
&lt;p&gt;Freezer1很早便在内核中支持，3.×/4.×/5.×内核都会支持。部分内核的FreezerV1存在缺陷，进程处于冻结状态时无法被杀死，依旧占据内存，类似内存泄漏，需要解冻才能结束进程并释放内存。这是内核级缺陷，应用层大率无法解决，只能积极解冻来缓解&lt;/p&gt;
&lt;p&gt;注：某些手机厂商基于V1的墓碑机制（例如Freezerv1版Millet）会捕获杀进程信号及时解冻，这样会及时释放进程的内存。（充电时或者各类按键事件时，Millet也会积极解冻应用&lt;/p&gt;
&lt;hr /&gt;
&lt;h2&gt;FreezerV2&lt;/h2&gt;
&lt;p&gt;Freezer2在5.4内核Android11起支持，冻结效果好，且没有V1的类似内存泄漏问题高通平台一般在4.19内核就获得支持，但部分厂商的手机可能默认不会开启，需要使用额外模块手动开启。谷歌Pixel某些机型甚至在4.14内核中也有实现&lt;/p&gt;
&lt;hr /&gt;
&lt;h2&gt;SIGSTOP&lt;/h2&gt;
&lt;p&gt;SIGSTOP是Linux中编号19的系统信号，不能被进程捕获，一旦进程收到该信号则被立即强制暂停运行。&lt;/p&gt;
&lt;hr /&gt;
&lt;h1&gt;解冻方式&lt;/h1&gt;
&lt;h2&gt;Binder 解冻&lt;/h2&gt;
&lt;p&gt;利用系统间的通讯 binder进行临时解冻&lt;/p&gt;
&lt;p&gt;效果最好&lt;/p&gt;
&lt;hr /&gt;
&lt;h2&gt;轮番解冻&lt;/h2&gt;
&lt;p&gt;因为没有binder压死之后就需要让app来活一会让他以为自己还活着，轮的意思是轮着解&lt;/p&gt;
&lt;p&gt;冻一个app3秒，解冻是最久没打开的那个app&lt;/p&gt;
&lt;p&gt;例：&lt;/p&gt;
&lt;p&gt;我有5个应用，正常情况下是按顺序解冻的，也就是12345，但这时候我突然打开了3了，这时候顺序就会变成12453。&lt;/p&gt;
&lt;p&gt;noactive拥有这种解冻方式，该解冻方式不如binder解冻，只能作为binder解冻的下位品&lt;/p&gt;
&lt;hr /&gt;
&lt;h2&gt;定时解冻&lt;/h2&gt;
&lt;p&gt;设置一个解冻时间，时间到了应用全部解冻&lt;/p&gt;
&lt;p&gt;冻它拥有这种解冻方式，该解冻方式不如binder解冻，只能作为binder解冻的下位品&lt;/p&gt;
&lt;hr /&gt;
&lt;h2&gt;单应用定时解冻&lt;/h2&gt;
&lt;p&gt;给应用绑定一个单独的定时器，时间到了解冻该应用。效果也好，但是会略微增加功耗&lt;/p&gt;
&lt;p&gt;仅noactive-2.0拥有这种解冻方式，该解冻方式虽然不如binder解冻，但能与轮番解冻形成互补&lt;/p&gt;
&lt;hr /&gt;
&lt;h1&gt;其他内容&lt;/h1&gt;
&lt;p&gt;&lt;a href=&quot;../expressive/&quot;&gt;NoActive进阶文档&lt;/a&gt;&lt;/p&gt;
</content:encoded><author>璨梦踏月</author></item><item><title>3X-UI安装使用教程</title><link>https://blog.canmoe.com/posts/3x-ui-setup/</link><guid isPermaLink="true">https://blog.canmoe.com/posts/3x-ui-setup/</guid><description>3X-UI — 一个基于网页的高级开源控制面板，专为管理 Xray-core 服务器而设计。它提供了用户友好的界面，用于配置和监控各种 VPN 和代理协议。</description><pubDate>Thu, 07 Aug 2025 00:00:00 GMT</pubDate><content:encoded>&lt;p&gt;:::important&lt;/p&gt;
&lt;p&gt;本项目仅用于个人使用和通信，请勿将其用于非法目的，请勿在生产环境中使用。&lt;/p&gt;
&lt;p&gt;:::&lt;/p&gt;
&lt;p&gt;:::tip&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;更新日志:
2025-10-11: 增加新的reality筛选域名方法&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;:::&lt;/p&gt;
&lt;h1&gt;3X-UI是什么?&lt;/h1&gt;
&lt;p&gt;3X-UI — 一个基于网页的高级开源控制面板，专为管理 Xray-core 服务器而设计。它提供了用户友好的界面，用于配置和监控各种 VPN 和代理协议。&lt;/p&gt;
&lt;h1&gt;快速开始&lt;/h1&gt;
&lt;h2&gt;支持的操作系统&lt;/h2&gt;
&lt;p&gt;:::tip&lt;/p&gt;
&lt;p&gt;如果在这里没有你的操作系统，你可以使用 Docker。&lt;/p&gt;
&lt;p&gt;:::&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;System&lt;/th&gt;
&lt;th&gt;Minimal Version&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Ubuntu&lt;/td&gt;
&lt;td&gt;22.04&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Debian&lt;/td&gt;
&lt;td&gt;12&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;CentOS&lt;/td&gt;
&lt;td&gt;8&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;OpenEuler&lt;/td&gt;
&lt;td&gt;22.03&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Fedora&lt;/td&gt;
&lt;td&gt;36&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;AlmaLinux&lt;/td&gt;
&lt;td&gt;9.5&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Rocky Linux&lt;/td&gt;
&lt;td&gt;9.5&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Oracle Linux&lt;/td&gt;
&lt;td&gt;8&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Amazon Linux&lt;/td&gt;
&lt;td&gt;2023&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Virtuozzo Linux&lt;/td&gt;
&lt;td&gt;8&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Windows&lt;/td&gt;
&lt;td&gt;Server 2016&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;blockquote&gt;
&lt;p&gt;详细内容建议直接看&lt;a href=&quot;https://github.com/MHSanaei/3x-ui/wiki&quot;&gt;官方文档&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;hr /&gt;
&lt;h2&gt;开始安装&lt;/h2&gt;
&lt;blockquote&gt;
&lt;p&gt;默认你当前已在root用户&lt;/p&gt;
&lt;p&gt;如果已运行防火墙,请自行放行对应端口&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;运行:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;bash &amp;lt;(curl -Ls https://raw.githubusercontent.com/mhsanaei/3x-ui/master/install.sh)
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;等待提示:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;Would you like to customize the Panel Port settings? (If not, a random port will be applied) [y/n]:
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;选择y输入你想自定义的端口或随机端口&lt;/p&gt;
&lt;p&gt;然后会提示&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;###############################################
Username: xxx
Password: xxx
Port: 12345
WebBasePath: xxx
Access URL: http://xxx.xxx.xxx.xxx:12345/xxx
###############################################
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;妥善保存这些内容.&lt;s&gt;如果你的机器非nat机器,那么直接复制&lt;code&gt;Access URL&lt;/code&gt;的内容粘贴到浏览器打开,输入上面的用户名和密码即可进入,nat机器需要额外前往服务商转发端口&lt;/s&gt;
:::caution
&amp;lt;mark style=&quot;background: #FF5582A6;&quot;&amp;gt;请勿在面板没有开启SSL登录之前直接访问面板,这会导致面板信息/节点信息暴露&amp;lt;/mark&amp;gt;&lt;/p&gt;
&lt;p&gt;没有开启前应使用本地终端与VPS建立加密隧道然后访问面板&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;ssh -L &amp;lt;本地端口&amp;gt;:127.0.0.1:&amp;lt;远程面板端口&amp;gt; &amp;lt;服务器用户名&amp;gt;@&amp;lt;服务器IP&amp;gt;
# 例：ssh -L 54321:127.0.0.1:55555 root@178.157.58.201

# 若 SSH 用非默认端口（如 2222），加 -p 2222：

ssh -fN -p 2222 -L &amp;lt;本地端口&amp;gt;:127.0.0.1:&amp;lt;远程面板端口&amp;gt; &amp;lt;服务器用户名&amp;gt;@&amp;lt;服务器IP&amp;gt;
# 例：ssh -fN -p 2222 -L 54321:127.0.0.1:55555 root@178.157.58.201
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;:::&lt;/p&gt;
&lt;hr /&gt;
&lt;h2&gt;常用配置&lt;/h2&gt;
&lt;p&gt;左侧&lt;code&gt;入站列表&lt;/code&gt;-&amp;gt;&lt;code&gt;添加入站&lt;/code&gt;&lt;/p&gt;
&lt;h3&gt;vless+tcp+reality&lt;/h3&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;名称&lt;/th&gt;
&lt;th&gt;值&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;协议&lt;/td&gt;
&lt;td&gt;vless&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;安全&lt;/td&gt;
&lt;td&gt;reality&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;然后下方点击&lt;code&gt;Get New Cert&lt;/code&gt;,点击创建;创建完成后点击左侧&lt;code&gt;+&lt;/code&gt;号,点击编辑客户端&lt;code&gt;Flow&lt;/code&gt;改为&lt;code&gt;xtls+rprx-vision&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;左侧二维码点击后即可扫描使用(或可点击更多信息,也有订阅链接)&lt;/p&gt;
&lt;p&gt;:::note&lt;/p&gt;
&lt;p&gt;nat机器注意设置转发端口&lt;/p&gt;
&lt;p&gt;:::&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;这种是最常见的, 也是绝对性能最高的方案.&lt;/p&gt;
&lt;p&gt;该方案优点: 直接传输 TCP 流量, 并在承载 TLS 流量时启用零拷贝, &lt;strong&gt;避免了双重加密&lt;/strong&gt;; 通过 “vision” 的方案对 TLS 握手包执行 padding 以尽可能消除 TLS in TLS 的特征.&lt;/p&gt;
&lt;p&gt;该方案缺点: 在代理服务器位于美西等地, 延迟较大的场景下, 由于执行零拷贝无法复用连接, 每承载一个请求都会建立一个底层 TLS 连接, REALITY 目前的官方实现 (by RPRX) 并没有正确实现会话恢复, 导致每次建立底层 TLS 连接都得执行完整的握手流程,  延迟就直接起飞了. 如果 “偷” 证书的目标选得不好, 落地机器到之的延迟也不低的话, 雪上加霜.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h4&gt;偷邻居的域名&lt;/h4&gt;
&lt;h5&gt;使用脚本(方案1)&lt;/h5&gt;
&lt;p&gt;脚本来源:&lt;/p&gt;
&lt;p&gt;https://www.youtube.com/watch?v=zE8CFQ6muUI&lt;/p&gt;
&lt;p&gt;https://v2rayssr.com/reality-2.html&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;在自己的设备上下载适合自己设备的版本(非Linux,Windows设备需要自行编译;MacOS用户可访问上方第二个链接的博客下载)&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;https://github.com/XTLS/RealiTLScanner/releases&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;在自己设备上运行命令 &lt;strong&gt;(将&lt;code&gt;VPSIP&lt;/code&gt;改为你自己VPS的IP)&lt;/strong&gt;
:::important
尽量在本地运行，不要在远端
:::&lt;/li&gt;
&lt;/ol&gt;
&lt;pre&gt;&lt;code&gt;# MacOS、Linux 命令
# 若是提示文件损坏请 执行 sudo xattr -r -d com.apple.quarantine （app地址）
./RealiTLScanner -addr VPSIP -port 443 -thread 100 -timeout 5 -out file.csv

# Windows 命令:
RealiTLScanner-windows-64.exe -addr VPSIP -port 443 -thread 100 -timeout 5 -out file.csv
&lt;/code&gt;&lt;/pre&gt;
&lt;ol&gt;
&lt;li&gt;使用SSH连接VPS,将&lt;code&gt;RealiTLScanner&lt;/code&gt;输出的文件上传到VPS,然后在文件同目录下运行&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;https://github.com/V2RaySSR/RealityChecker/releases&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;# centos 把 apt 换为 yum 

apt update
apt install unzip curl wget -y

# 根据自己的系统架构下载相对应的版本 以下为 X86 机型
wget https://github.com/V2RaySSR/RealityChecker/releases/latest/download/reality-checker-linux-amd64.zip
unzip reality-checker-linux-amd64.zip
chmod +x reality-checker

# 开始检测
./reality-checker check apple.com                           # 基础单域名检测
./reality-checker batch apple.com tesla.com microsoft.com   # 批量检测多个域名（空格分隔）
./reality-checker csv file.csv                              # 从CSV文件批量检测域名
&lt;/code&gt;&lt;/pre&gt;
&lt;h5&gt;手动筛选(方案2)&lt;/h5&gt;
&lt;p&gt;目标网站必须满足 5 个条件：&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;使用 TLS 1.3 协议&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;打开网站，按 F12，在设置中更改显示语言&lt;/li&gt;
&lt;li&gt;在 &quot;安全&quot; 选项卡下，&quot;连接&quot; 应显示 &quot;TLS 1.3，X25519 和 AES_xxxx&quot;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;使用 X25519 签名算法&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;支持 HTTP/2 协议（H2）&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;在控制台中输入&lt;code&gt;window.chrome.loadTimes()?.npnNegotiatedProtocol&lt;/code&gt;，输出的值应为 &quot;h2&quot;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;不使用 CDN - 如果 Reality 目标网站使用 CDN，数据将转发到 CDN 节点，使你的 Reality 节点成为别人的反向代理加速节点&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;检查网站是否使用 Cloudflare CDN，如果在使用，&lt;strong&gt;则这个域名不可以使用&lt;/strong&gt; (用itdog ping一下看IP位置是否是Anycast/cloudflare.com)&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;中国境内不依赖任何代理可以直接访问 (https://www.itdog.cn/ping/  输入域名,持续测试,全红就别用了)&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;strong&gt;&lt;a href=&quot;https://tools.ipip.net/as.php&quot;&gt;ASN 查询工具&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;a href=&quot;https://fofa.info&quot;&gt;FOFA 目标网站查询工具&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;首先使用 ASN 查询工具，输入你的服务器 IP，记录下你的服务器所在 ASN&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;使用下面代码块中的这段搜索条件，将 ASN 替换为你查询出来的数字，在 FOFA 进行搜索。下面的示例代码含义是「查询自治域为 xx，xx区域，端口为 443，证书不是由 Let&apos;s Encrypt 或者 ZeroSSL 颁发的，且请求成功的网站。」&lt;/p&gt;
&lt;p&gt;&lt;em&gt;country 字段为国家地区两字母代码，可在以下网站寻找&lt;/em&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://baike.baidu.com/item/%E4%B8%96%E7%95%8C%E5%90%84%E5%9B%BD%E5%92%8C%E5%9C%B0%E5%8C%BA%E5%90%8D%E7%A7%B0%E4%BB%A3%E7%A0%81&quot;&gt;百度百科链接&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://zh.wikipedia.org/zh-cn/ISO_3166-1&quot;&gt;维基百科链接&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;pre&gt;&lt;code&gt;asn==&quot;xx&quot; &amp;amp;&amp;amp; country==&quot;xx&quot; &amp;amp;&amp;amp; port==&quot;443&quot; &amp;amp;&amp;amp; cert!=&quot;Let&apos;s Encrypt&quot; &amp;amp;&amp;amp; cert.issuer!=&quot;ZeroSSL&quot; &amp;amp;&amp;amp; status_code=&quot;200&quot;
&lt;/code&gt;&lt;/pre&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;从搜索结果中，找到&lt;strong&gt;有域名&lt;/strong&gt;的网站，检查是否满足上面的5个条件, 全都满足就可以考虑使用了&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;hr /&gt;
&lt;h3&gt;vless+xhttp+reality&lt;/h3&gt;
&lt;p&gt;日常浏览网页比较多, 看视频或者大流量下载比较少的场景下推荐 (能复用连接).&lt;/p&gt;
&lt;hr /&gt;
&lt;h3&gt;vless+tls+xhttp+cdn&lt;/h3&gt;
&lt;p&gt;绑定域名(A记录),填写主机和路径,申请SSL证书并填入即可&lt;/p&gt;
&lt;hr /&gt;
&lt;h3&gt;Hysteria 2&lt;/h3&gt;
&lt;p&gt;非3X-UI面板搭建,详情见 &lt;a href=&quot;../hysteria2-install/&quot;&gt;Hysteria2-Install&lt;/a&gt;&lt;/p&gt;
</content:encoded><author>璨梦踏月</author></item><item><title>Hysteria2节点搭建教程</title><link>https://blog.canmoe.com/posts/hysteria2-install/</link><guid isPermaLink="true">https://blog.canmoe.com/posts/hysteria2-install/</guid><description>拯救垃圾小鸡!提高恶劣环境下的网速</description><pubDate>Thu, 07 Aug 2025 00:00:00 GMT</pubDate><content:encoded>&lt;p&gt;:::important&lt;/p&gt;
&lt;p&gt;本项目仅用于个人使用和通信，请勿将其用于非法目的，请勿在生产环境中使用。&lt;/p&gt;
&lt;p&gt;:::&lt;/p&gt;
&lt;p&gt;:::tip&lt;/p&gt;
&lt;p&gt;默认你是在常见的 Linux 发行版安装&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;更新日志
2025-08-22: 增加其他优化
:::&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h1&gt;快速开始&lt;/h1&gt;
&lt;p&gt;运行&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;bash &amp;lt;(curl -fsSL https://get.hy2.sh/)
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;出现&lt;code&gt;What&apos;s next?&lt;/code&gt;后运行下面的命令设为开机自启&lt;/p&gt;
&lt;p&gt;&lt;code&gt;systemctl enable hysteria-server.service&lt;/code&gt;&lt;/p&gt;
&lt;hr /&gt;
&lt;h2&gt;修改配置文件&lt;/h2&gt;
&lt;p&gt;运行&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;nano /etc/hysteria/config.yaml
&lt;/code&gt;&lt;/pre&gt;
&lt;blockquote&gt;
&lt;p&gt;没有 &lt;code&gt;nano&lt;/code&gt; ?自己安装去,或者换其他文本编辑器&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;复制并粘贴&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;alt+\ , alt+a , alt+/ , ctrl+k ,即可删除原文件所有内容&lt;/p&gt;
&lt;/blockquote&gt;
&lt;pre&gt;&lt;code&gt;listen: :443 #默认端口443，可以修改为其他端口

#使用CA证书
#acme:
#  domains:
#    - your.domain.net #已经解析到服务器的域名
#  email: your@email.com #你的邮箱

#使用自签证书
#tls:
#  cert: /etc/hysteria/server.crt 
#  key: /etc/hysteria/server.key 

auth:
  type: password
  password: 123456 #认证密码，使用一个强密码进行替换

resolver:
  type: udp
  tcp:
    addr: 8.8.8.8:53 
    timeout: 4s 
  udp:
    addr: 8.8.4.4:53 
    timeout: 4s
  tls:
    addr: 1.1.1.1:853 
    timeout: 10s
    sni: cloudflare-dns.com 
    insecure: false 
  https:
    addr: 1.1.1.1:443 
    timeout: 10s
    sni: cloudflare-dns.com
    insecure: false

masquerade:
  type: proxy
  proxy:
    url: https://cn.bing.com/ #伪装网址
    rewriteHost: true
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;加下来分两种&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;有域名 (使用ACME自动获取域名TLS证书)&lt;/li&gt;
&lt;/ol&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;把 &lt;code&gt;acme&lt;/code&gt; 部分取消注释&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;把你的域名使用A记录解析到你的服务器IP地址(如果是 cloudflare 不要开小黄云)&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;然后把配置内的域名和邮箱改为你的域名和邮箱&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;ol&gt;
&lt;li&gt;无域名 (自签证书)&lt;/li&gt;
&lt;/ol&gt;
&lt;ul&gt;
&lt;li&gt;把 &lt;code&gt;tls&lt;/code&gt; 部分取消注释&lt;/li&gt;
&lt;li&gt;运行下面命令生成自签证书&lt;/li&gt;
&lt;/ul&gt;
&lt;pre&gt;&lt;code&gt;openssl req -x509 -nodes -newkey ec:&amp;lt;(openssl ecparam -name prime256v1) -keyout /etc/hysteria/server.key -out /etc/hysteria/server.crt -subj &quot;/CN=bing.com&quot; -days 3650 &amp;amp;&amp;amp; sudo chown hysteria /etc/hysteria/server.key &amp;amp;&amp;amp; sudo chown hysteria /etc/hysteria/server.crt
&lt;/code&gt;&lt;/pre&gt;
&lt;h3&gt;伪装网址&lt;/h3&gt;
&lt;p&gt;建议使用个人网盘网址,例如&lt;code&gt;cloudreve&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;可以在搜索引擎通过语法&lt;code&gt;intext:cloudreve&lt;/code&gt;搜索,也可搜索其他网盘,例如&lt;code&gt;Alist&lt;/code&gt;等(可以使用更详细的关键词,例如&lt;code&gt;intext:登录 - Cloudreve&lt;/code&gt;)&lt;/p&gt;
&lt;hr /&gt;
&lt;h2&gt;运行&lt;/h2&gt;
&lt;p&gt;启动&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;systemctl start hysteria-server.service
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;查看状态&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;systemctl status hysteria-server.service
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;没有报错即可&lt;/p&gt;
&lt;p&gt;重新启动&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;systemctl restart hysteria-server.service
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;然后,&lt;s&gt;自行拼接&lt;/s&gt;&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;hysteria2://&amp;lt;密码&amp;gt;@&amp;lt;服务器IP&amp;gt;:&amp;lt;端口&amp;gt;/?sni=&amp;lt;SNI&amp;gt;&amp;amp;insecure=1#&amp;lt;节点名&amp;gt;
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&lt;code&gt;insecure=1&lt;/code&gt;是跳过证书验证,仅自签证书需要使用&lt;/p&gt;
&lt;p&gt;卸载&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;bash &amp;lt;(curl -fsSL https://get.hy2.sh/) --remove
&lt;/code&gt;&lt;/pre&gt;
&lt;h1&gt;其他优化&lt;/h1&gt;
&lt;p&gt;系统缓冲区大小
Linux&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;# 将发送、接收两个缓冲区都设置为 16 MB
sysctl -w net.core.rmem_max=16777216
sysctl -w net.core.wmem_max=16777216
&lt;/code&gt;&lt;/pre&gt;
&lt;h1&gt;或者 一键脚本/面板&lt;/h1&gt;
&lt;p&gt;https://github.com/yonggekkk/sing-box-yg&lt;/p&gt;
&lt;p&gt;h-ui&lt;/p&gt;
</content:encoded><author>璨梦踏月</author></item><item><title>解决 Docker 创建容器时的 “read-only file system” 报错</title><link>https://blog.canmoe.com/posts/snap-docker-read-only/</link><guid isPermaLink="true">https://blog.canmoe.com/posts/snap-docker-read-only/</guid><description>记录一次在创建 Docker 容器时遇到的 “read-only file system” 报错。</description><pubDate>Tue, 05 Aug 2025 00:00:00 GMT</pubDate><content:encoded>&lt;p&gt;:::caution[AI内容警告]&lt;/p&gt;
&lt;p&gt;本文使用了AI润色,更多内容请看&lt;a href=&quot;../sth/#%E5%85%B3%E4%BA%8Eaigc&quot;&gt;文章内容说明&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;:::&lt;/p&gt;
&lt;p&gt;如果你在创建容器时遇到了这样的报错(&lt;em&gt;read-only file system&lt;/em&gt;)：&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;docker: Error response from daemon: error while creating mount source path &apos;/opt/1panel/apps/xxx&apos;: mkdir /opt/1panel: read-only file system
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;并且对应目录(我这里是&lt;code&gt;/opt&lt;/code&gt;)权限没问题。 可以先用 &lt;code&gt;which docker&lt;/code&gt; 命令检查一下 Docker 的来源, 如果是 &lt;code&gt;snap&lt;/code&gt;，那恭喜你，找对地方了。&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;root@cmtys:~# which docker
/snap/bin/docker
&lt;/code&gt;&lt;/pre&gt;
&lt;h2&gt;问题原因&lt;/h2&gt;
&lt;p&gt;Snap 的&lt;strong&gt;沙箱机制&lt;/strong&gt;导致的。&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Snap 是 Ubuntu 上一种软件包格式，它为了安全，会把应用关在一个“笼子”里。这个笼子里的 Docker，默认只能访问自己的目录和用户的主目录 (&lt;code&gt;$HOME&lt;/code&gt;)。
所以，当我们用 &lt;code&gt;docker run -v /opt/...&lt;/code&gt; 去挂载笼子外面的 &lt;code&gt;/opt&lt;/code&gt; 目录时，Snap 就直接把它拦下来了。Docker 自己也搞不清楚状况，就只能报一个误导性极强的“文件系统只读”错误。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;hr /&gt;
&lt;h2&gt;解决方案&lt;/h2&gt;
&lt;p&gt;搞清楚原因后，就有两种解决办法了。&lt;/p&gt;
&lt;h3&gt;办法一：换掉 Snap 版 Docker (推荐)&lt;/h3&gt;
&lt;p&gt;这是最直接的方法，换成从 Docker 官方源安装的版本，一劳永逸。&lt;/p&gt;
&lt;p&gt;:::caution[注意]&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;[1;31m操作前请先备份重要数据[0m
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;:::
:::caution[注意]&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;[1;31m数据无价,谨慎操作[0m
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;:::&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;先卸载掉 Snap 版&lt;/strong&gt;&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;sudo snap remove docker
&lt;/code&gt;&lt;/pre&gt;
&lt;blockquote&gt;
&lt;p&gt;卸载过程慢是正常的, 能打包两年半。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;用官方脚本安装&lt;/strong&gt;&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;curl -fsSL https://get.docker.com -o get-docker.sh
sudo sh get-docker.sh
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;:::tip[网络问题]
如果觉得官方脚本下载慢，也可以手动添加国内的 Docker 镜像源来加速。
:::&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;验证一下&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;装好后可以跑个 &lt;code&gt;docker run hello-world&lt;/code&gt; 试试。如果提示命令找不到，执行 &lt;code&gt;hash -r&lt;/code&gt; 刷新一下 Shell 缓存。&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;hr /&gt;
&lt;h3&gt;办法二：换目录&lt;/h3&gt;
&lt;p&gt;把要挂载的目录放到 &lt;code&gt;$HOME&lt;/code&gt; 下面，比如 &lt;code&gt;$HOME/docker-data/&lt;/code&gt; 。&lt;/p&gt;
&lt;hr /&gt;
</content:encoded><author>璨梦踏月</author></item><item><title>Fuwari 主题 Markdown 速查表与高级用法</title><link>https://blog.canmoe.com/posts/fuwari-cheatsheet/</link><guid isPermaLink="true">https://blog.canmoe.com/posts/fuwari-cheatsheet/</guid><description>本文档汇集了 Fuwari 主题所支持的各类高级 Markdown 语法，包括 GitHub 卡片、多种警告框、Expressive Code 代码块增强（如行高亮、终端窗口、文本标记）等，助您轻松撰写出内容丰富、格式精美的文章。</description><pubDate>Mon, 04 Aug 2025 00:00:00 GMT</pubDate><content:encoded>&lt;p&gt;:::caution[AI内容警告]&lt;/p&gt;
&lt;p&gt;本文为AI翻译&lt;code&gt;expressive-code&lt;/code&gt;和&lt;code&gt;markdown-extended&lt;/code&gt;并总结, 然后人工查错并优化, 更多内容请看&lt;a href=&quot;../sth/#%E5%85%B3%E4%BA%8Eaigc&quot;&gt;文章内容说明&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;:::&lt;/p&gt;
&lt;h1&gt;高级 Markdown 用法参考(总结自&lt;code&gt;expressive-code&lt;/code&gt;和&lt;code&gt;markdown-extended&lt;/code&gt;)&lt;/h1&gt;
&lt;p&gt;本文旨在展示 Fuwari 主题支持的更多高级格式，您可以参考这些示例来丰富您的文章内容。&lt;/p&gt;
&lt;h2&gt;A.1 GitHub 仓库卡片&lt;/h2&gt;
&lt;p&gt;您可以嵌入一个动态的 GitHub 仓库卡片，它会在页面加载时自动获取最新的仓库信息。&lt;/p&gt;
&lt;p&gt;::github{repo=&quot;saicaca/fuwari&quot;}&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;用法：&lt;/strong&gt;&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;::github{repo=&quot;&amp;lt;owner&amp;gt;/&amp;lt;repo&amp;gt;&quot;}
&lt;/code&gt;&lt;/pre&gt;
&lt;hr /&gt;
&lt;h2&gt;A.2 警告框 (Admonitions)&lt;/h2&gt;
&lt;p&gt;警告框用于突出显示特定信息，支持多种类型。&lt;/p&gt;
&lt;p&gt;:::note
&lt;strong&gt;Note (注释):&lt;/strong&gt; 用于突出那些即使用户只是扫读也应注意到的信息。
:::
:::tip
&lt;strong&gt;Tip (提示):&lt;/strong&gt; 提供一些可选信息，帮助用户更成功地完成操作。
:::
:::important
&lt;strong&gt;Important (重要):&lt;/strong&gt; 对用户成功至关重要的信息。
:::
:::warning
&lt;strong&gt;Warning (警告):&lt;/strong&gt; 要求用户立即关注的关键内容，因其存在潜在风险。
:::
:::caution
&lt;strong&gt;Caution (小心):&lt;/strong&gt; 指出某个操作可能带来的负面后果。
:::&lt;/p&gt;
&lt;h3&gt;基础语法&lt;/h3&gt;
&lt;pre&gt;&lt;code&gt;:::note
用于突出那些即使用户只是扫读也应注意到的信息。
:::

:::tip
提供一些可选信息，帮助用户更成功地完成操作。
:::
&lt;/code&gt;&lt;/pre&gt;
&lt;h3&gt;自定义标题&lt;/h3&gt;
&lt;p&gt;您也可以为警告框添加自定义标题。&lt;/p&gt;
&lt;p&gt;:::note[这是一个自定义标题]
这是一个带有自定义标题的注释。
:::&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;用法：&lt;/strong&gt;&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;:::note[这是一个自定义标题]
这是一个带有自定义标题的注释。
:::
&lt;/code&gt;&lt;/pre&gt;
&lt;h3&gt;GitHub 风格警告框&lt;/h3&gt;
&lt;p&gt;同样支持 GitHub Flavored Markdown 的警告框语法。&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;[!TIP]
这是一个 GitHub 风格的提示。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;&lt;strong&gt;用法：&lt;/strong&gt;&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;&amp;gt; [!NOTE]
&amp;gt; 这是一个 Note。
&amp;gt; [!TIP]
&amp;gt; 这是一个 Tip。
&lt;/code&gt;&lt;/pre&gt;
&lt;hr /&gt;
&lt;h2&gt;A.3 Expressive Code 代码块增强&lt;/h2&gt;
&lt;h3&gt;语法高亮 (Syntax Highlighting)&lt;/h3&gt;
&lt;h4&gt;常规语法高亮&lt;/h4&gt;
&lt;pre&gt;&lt;code&gt;console.log(&apos;这段代码被语法高亮了！&apos;)
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&lt;strong&gt;用法:&lt;/strong&gt;&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;```js
console.log(&apos;这段代码被语法高亮了！&apos;)
```
&lt;/code&gt;&lt;/pre&gt;
&lt;h4&gt;渲染 ANSI 转义序列&lt;/h4&gt;
&lt;pre&gt;&lt;code&gt;ANSI colors:
- Regular: [31mRed[0m [32mGreen[0m [33mYellow[0m [34mBlue[0m [35mMagenta[0m [36mCyan[0m
- Bold:    [1;31mRed[0m [1;32mGreen[0m [1;33mYellow[0m [1;34mBlue[0m [1;35mMagenta[0m [1;36mCyan[0m
- Dimmed:  [2;31mRed[0m [2;32mGreen[0m [2;33mYellow[0m [2;34mBlue[0m [2;35mMagenta[0m [2;36mCyan[0m

256 colors (showing colors 160-177):
[38;5;160m160 [38;5;161m161 [38;5;162m162 [38;5;163m163 [38;5;164m164 [38;5;165m165[0m
[38;5;166m166 [38;5;167m167 [38;5;168m168 [38;5;169m169 [38;5;170m170 [38;5;171m171[0m
[38;5;172m172 [38;5;173m173 [38;5;174m174 [38;5;175m175 [38;5;176m176 [38;5;177m177[0m

Full RGB colors:
[38;2;34;139;34mForestGreen - RGB(34, 139, 34)[0m

Text formatting: [1mBold[0m [2mDimmed[0m [3mItalic[0m [4mUnderline[0m
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&lt;strong&gt;用法:&lt;/strong&gt;&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;```ansi
ANSI colors:
- Regular: [31mRed[0m [32mGreen[0m [33mYellow[0m [34mBlue[0m [35mMagenta[0m [36mCyan[0m
- Bold:    [1;31mRed[0m [1;32mGreen[0m [1;33mYellow[0m [1;34mBlue[0m [1;35mMagenta[0m [1;36mCyan[0m
- Dimmed:  [2;31mRed[0m [2;32mGreen[0m [2;33mYellow[0m [2;34mBlue[0m [2;35mMagenta[0m [2;36mCyan[0m

256 colors (showing colors 160-177):
[38;5;160m160 [38;5;161m161 [38;5;162m162 [38;5;163m163 [38;5;164m164 [38;5;165m165[0m
[38;5;166m166 [38;5;167m167 [38;5;168m168 [38;5;169m169 [38;5;170m170 [38;5;171m171[0m
[38;5;172m172 [38;5;173m173 [38;5;174m174 [38;5;175m175 [38;5;176m176 [38;5;177m177[0m

Full RGB colors:
[38;2;34;139;34mForestGreen - RGB(34, 139, 34)[0m

Text formatting: [1mBold[0m [2mDimmed[0m [3mItalic[0m [4mUnderline[0m
```
&lt;/code&gt;&lt;/pre&gt;
&lt;h3&gt;编辑器与终端窗口 (Editor &amp;amp; Terminal Frames)&lt;/h3&gt;
&lt;h4&gt;代码编辑器窗口&lt;/h4&gt;
&lt;p&gt;可以通过 &lt;code&gt;title&lt;/code&gt; 属性为代码块添加标题。&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;console.log(&apos;这是一个标题属性的例子&apos;)
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&lt;strong&gt;用法:&lt;/strong&gt;&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;```js title=&quot;my-test-file.js&quot;
console.log(&apos;这是一个标题属性的例子&apos;)
```
&lt;/code&gt;&lt;/pre&gt;
&lt;hr /&gt;
&lt;p&gt;也可以通过在代码块顶部添加注释来指定文件名。&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;&amp;lt;!-- src/content/index.html --&amp;gt;
&amp;lt;div&amp;gt;这是一个文件名注释的例子&amp;lt;/div&amp;gt;
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&lt;strong&gt;用法:&lt;/strong&gt;&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;```html
&amp;lt;!-- src/content/index.html --&amp;gt;
&amp;lt;div&amp;gt;这是一个文件名注释的例子&amp;lt;/div&amp;gt;
```
&lt;/code&gt;&lt;/pre&gt;
&lt;h4&gt;终端窗口&lt;/h4&gt;
&lt;pre&gt;&lt;code&gt;echo &quot;这个终端窗口没有标题&quot;
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&lt;strong&gt;用法:&lt;/strong&gt;&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;```bash
echo &quot;这个终端窗口没有标题&quot;
```
&lt;/code&gt;&lt;/pre&gt;
&lt;hr /&gt;
&lt;pre&gt;&lt;code&gt;Write-Output &quot;这个有标题！&quot;
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&lt;strong&gt;用法:&lt;/strong&gt;&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;```powershell title=&quot;PowerShell 终端示例&quot;
Write-Output &quot;这个有标题！&quot;
```
&lt;/code&gt;&lt;/pre&gt;
&lt;h4&gt;覆盖窗口类型&lt;/h4&gt;
&lt;p&gt;你可以强制改变窗口的类型，例如将一个通常显示为终端的 &lt;code&gt;sh&lt;/code&gt; 代码块变为无边框样式。&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;echo &quot;看，没有边框了！&quot;
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&lt;strong&gt;用法:&lt;/strong&gt;&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;```sh frame=&quot;none&quot;
echo &quot;看，没有边框了！&quot;
```
&lt;/code&gt;&lt;/pre&gt;
&lt;hr /&gt;
&lt;p&gt;或者将 PowerShell 代码块强制显示为代码编辑器样式。&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;# 如果不覆盖，这会是一个终端窗口
function Watch-Tail { Get-Content -Tail 20 -Wait $args }
New-Alias tail Watch-Tail
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&lt;strong&gt;用法:&lt;/strong&gt;&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;```ps frame=&quot;code&quot; title=&quot;PowerShell Profile.ps1&quot;
# 如果不覆盖，这会是一个终端窗口
function Watch-Tail { Get-Content -Tail 20 -Wait $args }
New-Alias tail Watch-Tail
```
&lt;/code&gt;&lt;/pre&gt;
&lt;h3&gt;文本与行标记 (Text &amp;amp; Line Markers)&lt;/h3&gt;
&lt;h4&gt;标记整行与行范围&lt;/h4&gt;
&lt;p&gt;使用 &lt;code&gt;{}&lt;/code&gt; 来指定需要标记的行号。&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;// 第 1 行 - 通过行号标记
// 第 2 行
// 第 3 行
// 第 4 行 - 通过行号标记
// 第 5 行
// 第 6 行
// 第 7 行 - 通过范围 &quot;7-8&quot; 标记
// 第 8 行 - 通过范围 &quot;7-8&quot; 标记
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&lt;strong&gt;用法:&lt;/strong&gt;&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;```js {1, 4, 7-8}
// 第 1 行 - 通过行号标记
// ...
```
&lt;/code&gt;&lt;/pre&gt;
&lt;h4&gt;选择行标记类型 (mark, ins, del)&lt;/h4&gt;
&lt;p&gt;可以分别指定 &lt;code&gt;mark&lt;/code&gt; (普通标记), &lt;code&gt;ins&lt;/code&gt; (插入), &lt;code&gt;del&lt;/code&gt; (删除) 三种类型的行。&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;function demo() {
  console.log(&apos;这行被标记为 &quot;删除&quot;&apos;);
  // 这行和下一行被标记为 &quot;插入&quot;
  console.log(&apos;这是第二行 &quot;插入&quot; 的内容&apos;);

  return &apos;这行使用默认的中性标记类型&apos;;
}
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&lt;strong&gt;用法:&lt;/strong&gt;&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;```js title=&quot;line-markers.js&quot; del={2} ins={3-4} {6}
function demo() {
//...
}
```
&lt;/code&gt;&lt;/pre&gt;
&lt;h4&gt;使用类 Diff 语法&lt;/h4&gt;
&lt;pre&gt;&lt;code&gt;+这行将被标记为插入
-这行将被标记为删除
这是普通的一行
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&lt;strong&gt;用法:&lt;/strong&gt;&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;```diff
+这行将被标记为插入
-这行将被标记为删除
这是普通的一行
```
&lt;/code&gt;&lt;/pre&gt;
&lt;h4&gt;结合语法高亮与类 Diff 语法&lt;/h4&gt;
&lt;pre&gt;&lt;code&gt;  function thisIsJavaScript() {
    // 整个代码块都会被高亮为 JavaScript，
    // 同时我们仍然可以添加 diff 标记！
-   console.log(&apos;将被移除的旧代码&apos;)
+   console.log(&apos;闪亮的新代码！&apos;)
  }
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&lt;strong&gt;用法:&lt;/strong&gt;&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;```diff lang=&quot;js&quot;
//...
```
&lt;/code&gt;&lt;/pre&gt;
&lt;h4&gt;标记行内文本&lt;/h4&gt;
&lt;p&gt;通过 &lt;code&gt;&quot;字符串&quot;&lt;/code&gt; 或 &lt;code&gt;/正则表达式/&lt;/code&gt; 来标记行内的特定文本。&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;function demo() {
  // &quot;文本&quot; 这个词会被标记
  return &apos;这段文本中的&quot;文本&quot;二字会被标记。&apos;;
}
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&lt;strong&gt;用法:&lt;/strong&gt;&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;```js &quot;文本&quot;
function demo() {
//...
}
```
&lt;/code&gt;&lt;/pre&gt;
&lt;h4&gt;使用正则表达式&lt;/h4&gt;
&lt;pre&gt;&lt;code&gt;console.log(&apos;单词 &quot;yes&quot; 和 &quot;yep&quot; 会被标记。&apos;)
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&lt;strong&gt;用法:&lt;/strong&gt;&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;```ts /ye[sp]/
console.log(&apos;单词 &quot;yes&quot; 和 &quot;yep&quot; 会被标记。&apos;)
```
&lt;/code&gt;&lt;/pre&gt;
&lt;h3&gt;自动换行 (Word Wrap)&lt;/h3&gt;
&lt;p&gt;默认情况下，长代码行会自动换行。你可以通过 &lt;code&gt;wrap&lt;/code&gt; 或 &lt;code&gt;wrap=false&lt;/code&gt; 来控制单个代码块的行为。&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;// 带自动换行的例子
function getLongString() {
  return &apos;这是一个非常非常长的字符串，除非容器特别宽，否则它很可能无法在可用空间内完全显示。&apos;
}
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&lt;strong&gt;用法:&lt;/strong&gt;&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;```js wrap
//...
```
&lt;/code&gt;&lt;/pre&gt;
&lt;h3&gt;可折叠区域 (Collapsible Sections)&lt;/h3&gt;
&lt;p&gt;使用 &lt;code&gt;collapse={...}&lt;/code&gt; 来指定需要默认折叠的行范围。&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;// 所有这些模板设置代码都将被折叠
import { someBoilerplateEngine } from &apos;@example/some-boilerplate&apos;
import { evenMoreBoilerplate } from &apos;@example/even-more-boilerplate&apos;

const engine = someBoilerplateEngine(evenMoreBoilerplate())

// 这部分代码将默认可见
engine.doSomething(1, 2, 3, calcFn)

function calcFn() {
  // 你可以有多个折叠区域
  const a = 1
  const b = 2
  const c = a + b

  // 这部分将保持可见
  console.log(`计算结果: ${a} + ${b} = ${c}`)
  return c
}

// 从这里到代码块结束的所有代码将再次被折叠
engine.closeConnection()
engine.freeMemory()
engine.shutdown({ reason: &apos;示例模板代码结束&apos; })
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&lt;strong&gt;用法:&lt;/strong&gt;&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;```js collapse={1-5, 12-14, 21-24}
//...
```
&lt;/code&gt;&lt;/pre&gt;
&lt;h3&gt;行号 (Line Numbers)&lt;/h3&gt;
&lt;h4&gt;显示行号&lt;/h4&gt;
&lt;p&gt;使用 &lt;code&gt;showLineNumbers&lt;/code&gt; 来为代码块开启或关闭行号显示。&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;// 这个代码块会显示行号
console.log(&apos;来自第 2 行的问候！&apos;)
console.log(&apos;我在第 3 行&apos;)
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&lt;strong&gt;用法:&lt;/strong&gt;&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;```js showLineNumbers
//...
```
&lt;/code&gt;&lt;/pre&gt;
&lt;h4&gt;禁用行号&lt;/h4&gt;
&lt;pre&gt;&lt;code&gt;// 这个代码块已禁用行号
console.log(&apos;Hello?&apos;)
console.log(&apos;Sorry, do you know what line I am on?&apos;)
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&lt;strong&gt;用法:&lt;/strong&gt;&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;```js showLineNumbers=false
// 这个代码块已禁用行号
console.log(&apos;Hello?&apos;)
console.log(&apos;Sorry, do you know what line I am on?&apos;)
```
&lt;/code&gt;&lt;/pre&gt;
&lt;h4&gt;更改起始行号&lt;/h4&gt;
&lt;p&gt;使用 &lt;code&gt;startLineNumber&lt;/code&gt; 来指定行号的起始数字。&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;console.log(&apos;来自第 5 行的问候！&apos;)
console.log(&apos;我在第 6 行&apos;)
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&lt;strong&gt;用法:&lt;/strong&gt;&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;```js showLineNumbers startLineNumber=5
//...
```
&lt;/code&gt;&lt;/pre&gt;
&lt;hr /&gt;
&lt;h2&gt;A.4 链接卡片 (Link Cards)&lt;/h2&gt;
&lt;p&gt;:::note[内容来源说明]
本部分内容基于 &lt;code&gt;link-cards&lt;/code&gt; 的原始英文文档, 并参考了 &lt;a href=&quot;https://github.com/saicaca/fuwari/pull/324&quot;&gt;Pull Request #324&lt;/a&gt; 中的实现, 在此基础上进行翻译、整理和补充。
:::&lt;/p&gt;
&lt;p&gt;链接卡片（Link Cards）功能可以将 Markdown 中的裸链接（Bare Link）渲染成美观的卡片样式。&lt;/p&gt;
&lt;h3&gt;基本用法&lt;/h3&gt;
&lt;p&gt;在 Markdown 的段落中, 只需单独放置一个“裸”链接（即没有链接文本的链接）, 它就会被自动转换为链接卡片。&lt;/p&gt;
&lt;p&gt;支持以下格式:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;**外部链接**
https://astro.build/
&amp;lt;https://github.com/saicaca/fuwari/&amp;gt;
[https://fuwari.vercel.app/](https://fuwari.vercel.app/)

**内部链接** (需要额外配置)
[/posts/guide/](/posts/guide/)

**国际化域名 (IDN)**
https://はじめよう.みんな/
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&lt;strong&gt;渲染效果如下:&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;https://astro.build/&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://github.com/saicaca/fuwari/&quot;&gt;https://github.com/saicaca/fuwari/&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://fuwari.vercel.app/&quot;&gt;https://fuwari.vercel.app/&lt;/a&gt;&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;[!TIP]
卡片显示后, 尝试切换一下主题颜色或开启暗黑模式看看效果！&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h3&gt;高级配置选项&lt;/h3&gt;
&lt;p&gt;&amp;lt;details&amp;gt;
&amp;lt;summary&amp;gt;点击展开详细配置&amp;lt;/summary&amp;gt;&lt;/p&gt;
&lt;p&gt;您可以在 &lt;code&gt;astro.config.mjs&lt;/code&gt; 文件中对链接卡片功能进行详细配置。&lt;/p&gt;
&lt;h4&gt;启用插件&lt;/h4&gt;
&lt;p&gt;首先, 你需要在配置文件中引入并启用插件。&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;import fuwariLinkCard from &quot;./src/plugins/fuwari-link-card.ts&quot;

export default defineConfig({
  // ...
  integrations: [
    // ...
    fuwariLinkCard(), // 在这里添加插件
    // ...
  ]
})
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;如果插件的加载顺序比较复杂, 您也可以将其作为一个 remark 插件来指定:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;import remarkLinkCard from &quot;./src/plugins/remark-link-card.ts&quot;

export default defineConfig({
  // ...
  markdown: {
    // ...
    remarkPlugins: [
      // ...
      remarkLinkCard, // 在这里添加插件
      // ...
    ],
  },
})
&lt;/code&gt;&lt;/pre&gt;
&lt;h4&gt;主要配置项&lt;/h4&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;名称&lt;/th&gt;
&lt;th&gt;类型&lt;/th&gt;
&lt;th&gt;默认值&lt;/th&gt;
&lt;th&gt;描述&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;devMode&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;boolean&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;import.meta.env.DEV&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;启用或禁用开发模式。&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;excludedUrls&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;Array&amp;lt;string | RegExp&amp;gt;&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;[]&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;一个由字符串或正则表达式组成的列表, 用于排除特定的 URL, 防止它们被处理成链接卡片。这也有助于避免与其他插件冲突。&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;linkAttributes&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;Object&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;{ target: &apos;&apos;, rel: &apos;&apos; }&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;为外部链接设置 &lt;code&gt;target&lt;/code&gt; 和 &lt;code&gt;rel&lt;/code&gt; 属性。也可以留空, 将处理交由其他插件决定。&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;rewriteRules&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;Array&amp;lt;Object&amp;gt;&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;[]&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;重写从链接获取的特定元数据属性, 例如标题和描述。&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;base&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;string&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&apos;/&apos;&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;指定与 Astro 配置中相同的 &lt;code&gt;base&lt;/code&gt; 路径。&lt;strong&gt;作为 integration 使用时, 若不指定, 该选项会自动推断。&lt;/strong&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;defaultThumbnail&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;string&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&apos;&apos;&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;当元数据中不包含图片时, 使用的默认缩略图路径。该路径应相对于 &lt;code&gt;public&lt;/code&gt; 目录。&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;internalLink&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;Object&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;{ enabled: false, site: &apos;&apos; }&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;启用站点内部链接的处理。&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;cache&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;Object&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;见下方详细说明&lt;/td&gt;
&lt;td&gt;在构建过程中下载并缓存图片。&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h4&gt;&lt;code&gt;linkAttributes&lt;/code&gt; 详细说明&lt;/h4&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;名称&lt;/th&gt;
&lt;th&gt;类型&lt;/th&gt;
&lt;th&gt;默认值&lt;/th&gt;
&lt;th&gt;描述&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;target&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;string&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&apos;&apos;&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;指定在何处打开链接文档。默认为空, 不设置 &lt;code&gt;target&lt;/code&gt; 属性。&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;rel&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;string&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&apos;&apos;&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;定义当前文档与链接文档之间的关系。默认为空, 不设置任何关系。&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h4&gt;&lt;code&gt;rewriteRules&lt;/code&gt; 详细说明&lt;/h4&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;名称&lt;/th&gt;
&lt;th&gt;类型&lt;/th&gt;
&lt;th&gt;默认值&lt;/th&gt;
&lt;th&gt;描述&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;url&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;RegExp&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;用于匹配特定 URL 的正则表达式。&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;rewriteSteps&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;Array&amp;lt;Object&amp;gt;&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;定义特定元数据属性的重写规则。&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;以下是一个重写 GitHub 仓库链接的标题和描述的示例:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;rewriteRules: [
  {
    url: /^https:\/\/github\.com\/[^\/]+\/[^\/]+\/?$/,
    rewriteSteps: [
      { key: &quot;title&quot;, pattern: /:.*/, replacement: &quot;&quot; },
      {
        key: &quot;description&quot;,
        pattern: /(?: (?:\. )?Contribute to (?:.+\/.+) .+\.?)|(?: - (?:.+\/.+))$/,
        replacement: &quot;&quot;,
      },
      {
        key: &quot;description&quot;,
        pattern: /^Contribute to (?:.+\/.+) .+\.?$/,
        replacement: &quot;No description provided.&quot;,
      },
    ],
  },
],
&lt;/code&gt;&lt;/pre&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;名称&lt;/th&gt;
&lt;th&gt;类型&lt;/th&gt;
&lt;th&gt;默认值&lt;/th&gt;
&lt;th&gt;描述&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;key&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;string&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;要重写的元数据属性的键名。&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;pattern&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;RegExp&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;用于匹配元数据属性当前值的正则表达式。匹配的部分将被替换。&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;replacement&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;string&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;用于替换元数据属性中匹配内容的字符串。&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h4&gt;&lt;code&gt;internalLink&lt;/code&gt; 详细说明&lt;/h4&gt;
&lt;p&gt;将 &lt;code&gt;enabled&lt;/code&gt; 设置为 &lt;code&gt;true&lt;/code&gt; 以启用站点内部链接的处理。&lt;code&gt;site&lt;/code&gt; 和 &lt;code&gt;base&lt;/code&gt; 选项用于将内部链接解析为绝对 URL。&lt;strong&gt;内部链接必须指向服务器上存在的文件。&lt;/strong&gt;&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;名称&lt;/th&gt;
&lt;th&gt;类型&lt;/th&gt;
&lt;th&gt;默认值&lt;/th&gt;
&lt;th&gt;描述&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;enabled&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;boolean&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;false&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;启用或禁用内部链接处理。&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;site&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;string&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&apos;&apos;&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;指定与 Astro 配置中相同的部署 URL。&lt;strong&gt;作为 integration 使用时, 若不指定, 该选项会自动推断。&lt;/strong&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h4&gt;&lt;code&gt;cache&lt;/code&gt; 详细说明&lt;/h4&gt;
&lt;p&gt;以下相关选项可让您轻松控制缓存行为。&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;名称&lt;/th&gt;
&lt;th&gt;类型&lt;/th&gt;
&lt;th&gt;默认值&lt;/th&gt;
&lt;th&gt;描述&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;enabled&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;boolean&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;false&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;启用或禁用缓存。&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;outDir&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;string&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&apos;./dist/&apos;&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;输出目录路径。与 Astro 的 &lt;code&gt;outDir&lt;/code&gt; 保持一致可以利用图像优化等特性。&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;cacheDir&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;string&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&apos;./link-card/&apos;&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;缓存目录路径。如果 &lt;code&gt;devMode&lt;/code&gt; 为 &lt;code&gt;true&lt;/code&gt;, 缓存图片的最终 URL 将是 &lt;code&gt;base + outDir + cacheDir&lt;/code&gt;；否则是 &lt;code&gt;base + cacheDir&lt;/code&gt;。&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;maxFileSize&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;number&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;0&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;要缓存的最大文件大小（字节）。设置为 0 表示无限制。&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;maxCacheSize&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;number&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;0&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;最大总缓存大小（字节）。设置为 0 表示无限制。&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;userAgent&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;string&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;Mozilla/5.0 ...&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;HTTP 请求头中包含的客户端标识符。&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h4&gt;快速简便的选项设置&lt;/h4&gt;
&lt;p&gt;该插件使用 &lt;code&gt;@fastify/deepmerge&lt;/code&gt; 来简化选项设置。&lt;/p&gt;
&lt;p&gt;https://www.npmjs.com/package/@fastify/deepmerge&lt;/p&gt;
&lt;p&gt;&amp;lt;/details&amp;gt;&lt;/p&gt;
&lt;h3&gt;用于样式定制的HTML结构&lt;/h3&gt;
&lt;p&gt;链接卡片的样式由 &lt;code&gt;src/styles/link-card.css&lt;/code&gt; 文件定义, HTML 结构是自动生成的。当您需要自定义样式时, 可以参考以下结构:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;&amp;lt;div class=&quot;link-card__container&quot;&amp;gt;
  &amp;lt;a href=&quot;https://astro.build/&quot; class=&quot;link-card&quot;&amp;gt;
    &amp;lt;div class=&quot;link-card__info&quot;&amp;gt;
      &amp;lt;div class=&quot;link-card__title&quot;&amp;gt;Astro&amp;lt;/div&amp;gt;
      &amp;lt;div class=&quot;link-card__description&quot;&amp;gt;Astro builds fast content sites, powerful web applications, dynamic server APIs, and everything in-between.&amp;lt;/div&amp;gt;
      &amp;lt;div class=&quot;link-card__metadata&quot;&amp;gt;
        &amp;lt;div class=&quot;link-card__domain&quot;&amp;gt;
          &amp;lt;img alt=&quot;favicon&quot; class=&quot;link-card__favicon&quot; src=&quot;https://www.google.com/s2/favicons?domain=astro.build&quot;&amp;gt;
          &amp;lt;span class=&quot;link-card__domain-name&quot;&amp;gt;astro.build&amp;lt;/span&amp;gt;
        &amp;lt;/div&amp;gt;
      &amp;lt;/div&amp;gt;
    &amp;lt;/div&amp;gt;
    &amp;lt;div class=&quot;link-card__thumbnail&quot;&amp;gt;
      &amp;lt;img alt=&quot;Astro - Build the web you want.&quot; class=&quot;link-card__image&quot; src=&quot;https://astro.build/og/astro.jpg&quot;&amp;gt;
    &amp;lt;/div&amp;gt;
  &amp;lt;/a&amp;gt;
&amp;lt;/div&amp;gt;
&lt;/code&gt;&lt;/pre&gt;
</content:encoded><author>璨梦踏月</author></item><item><title>mihomo (Clash) 配置详解：定制你的专属配置文件</title><link>https://blog.canmoe.com/posts/mihomo-config-guide/</link><guid isPermaLink="true">https://blog.canmoe.com/posts/mihomo-config-guide/</guid><description>一份详尽的 mihomo (Clash) 内核配置指南，带你了解通用、DNS、代理、规则等各项设置，手把手教你打造最适合自己的配置文件。</description><pubDate>Sun, 03 Aug 2025 00:00:00 GMT</pubDate><content:encoded>&lt;p&gt;:::caution[AI内容警告]&lt;/p&gt;
&lt;p&gt;本文使用了AI润色,更多内容请看&lt;a href=&quot;../sth/#%E5%85%B3%E4%BA%8Eaigc&quot;&gt;文章内容说明&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;:::&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;更新日志&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;2025-08-04:&lt;/strong&gt; 优化描述,调整文章结构,部分内容润色。&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;2026-01-11:&lt;/strong&gt; 修正一些错误内容,更新DNS部分&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/blockquote&gt;
&lt;p&gt;:::note[阅前须知]&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;本文旨在帮助您理解 &lt;code&gt;mihomo&lt;/code&gt; 配置文件的核心概念，掌握常用选项的用途，而不是直接提供一份现成的配置文件。&lt;/li&gt;
&lt;li&gt;本教程主要面向 Windows 用户，部分内容可能不适用于 Linux、Android、macOS 等其他平台。&lt;/li&gt;
&lt;li&gt;内容基于个人使用经验总结，如有错漏，欢迎指正。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;参考文档:&lt;/strong&gt; &lt;a href=&quot;https://wiki.metacubex.one&quot;&gt;MetaCubeX Wiki&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;本人使用的是Sub-Store进行的订阅获取/转换, 以此能保证多设备的订阅统一(和多订阅合并/筛选节点/覆写流量信息/节点增加前缀), 所以不会包含代理集合相关的内容 &lt;s&gt;因为我没用过&lt;/s&gt;&lt;/li&gt;
&lt;li&gt;如果在完整阅读后仍有疑问,建议优先查阅文档或者提问,不建议直接去问AI,&lt;em&gt;&lt;strong&gt;不建议直接相信AI告诉你的任何内容&lt;/strong&gt;&lt;/em&gt;,如果给你新增了某些选项或配置,建议优先查阅文档得知其作用&lt;/li&gt;
&lt;li&gt;除非你很有信心和时间,否则不建议从0开始写一份配置文件,那太累了,更推荐寻找他人分享的配置文件,在其基础上进行自定义修改
:::&lt;/li&gt;
&lt;/ul&gt;
&lt;h1&gt;一、配置结构&lt;/h1&gt;
&lt;p&gt;一份完整的 &lt;code&gt;mihomo&lt;/code&gt; 内核配置文件（通常是 &lt;code&gt;.yaml&lt;/code&gt; 格式）主要由以下几个部分组成：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;通用 (General):&lt;/strong&gt; 基础设置，如代理端口、局域网访问控制等。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;DNS&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;代理节点 (Proxies)&lt;/strong&gt; (本文不含相关内容,因为种类多且一般不会需要手动配置)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;代理集合 (Provider)&lt;/strong&gt; (本文不含相关内容)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;代理组 (Proxy Groups)&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;路由规则 (Rules)&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;规则集合 (Rule Providers)&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;hr /&gt;
&lt;h1&gt;二、通用设置 (General)&lt;/h1&gt;
&lt;h2&gt;1. 代理端口&lt;/h2&gt;
&lt;p&gt;这部分设置通常无需手动修改，因为客户端会自动覆写这些端口配置。一般只有跑裸核的时候需要修改&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;# port: 7890 
# HTTP(S) 代理服务器端口
# socks-port: 7891 
# SOCKS5 代理端口

# 混合端口是一个特殊的端口，它同时支持 HTTP(S) 和 SOCKS5 协议。
# 您可以使用任何支持 HTTP 或 SOCKS 代理的程序连接到这个端口。
mixed-port: 10801 # HTTP(S) 和 SOCKS 代理混合端口

# 透明代理端口 (主要用于非 Windows 系统)
# redir-port: 7892   # 适用于 Linux/Android/macOS
# tproxy-port: 7893  # 仅适用于 Linux/Android
&lt;/code&gt;&lt;/pre&gt;
&lt;h2&gt;2. 局域网与验证&lt;/h2&gt;
&lt;p&gt;&lt;code&gt;allow-lan&lt;/code&gt; 设为 &lt;code&gt;true&lt;/code&gt; 后，您局域网内的其他设备（如手机、电视）才能通过当前设备的 IP 和端口号进行代理。如果不需要，保持 &lt;code&gt;false&lt;/code&gt; 即可。&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;allow-lan: true               # 允许局域网连接
bind-address: &quot;*&quot;             # 绑定所有 IP 地址
# authentication:             # HTTP/SOCKS 入口验证，格式 &quot;用户名:密码&quot;
#   - &quot;user:password123&quot;
# skip-auth-prefixes:         # 跳过验证的 IP 段
#   - 127.0.0.1/8
#   - ::1/128
# lan-allowed-ips:            # 允许连接的 IP 段 (白名单)
#   - 0.0.0.0/0
#   - ::/0
# lan-disallowed-ips:         # 禁止连接的 IP 段 (黑名单，优先级更高)
#   - 192.168.0.3/32
&lt;/code&gt;&lt;/pre&gt;
&lt;h2&gt;3. 控制面板 (Web UI)&lt;/h2&gt;
&lt;p&gt;用于配置网页控制面板，如果您不使用 Web UI 或者通过客户端软件控制，可以忽略这部分。&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;# external-controller: 0.0.0.0:9093 # RESTful API 监听地址
# secret: &quot;123456&quot;                   # 连接密码
# external-ui: ui                     # 控制面板目录
# external-ui-name: zashboard         # 控制面板名称
# external-ui-url: &quot;https://github.com/Zephyruso/zashboard/archive/refs/heads/gh-pages.zip&quot; # 下载地址
&lt;/code&gt;&lt;/pre&gt;
&lt;h2&gt;4. 核心行为&lt;/h2&gt;
&lt;p&gt;这部分包含了一些影响网络性能和连接行为的关键选项。&lt;/p&gt;
&lt;p&gt;:::tip[个人建议]
因为我有不少规则是基于进程的,所以&lt;code&gt;find-process-mode&lt;/code&gt; 是 &lt;code&gt;always&lt;/code&gt;(如果是&lt;code&gt;strict&lt;/code&gt;会导致一部分基于进程匹配的规则失效)。&lt;code&gt;log-level&lt;/code&gt; 平时使用 &lt;code&gt;info&lt;/code&gt; 或 &lt;code&gt;warning&lt;/code&gt; 即可。
:::&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;unified-delay: true     # 统一延迟计算，消除因协议不同带来的延迟差异
tcp-concurrent: true    # TCP 并发连接，对同一域名解析出的多个 IP 同时发起连接，择优使用

# 进程匹配模式
# - always: 强制匹配所有连接的进程
# - strict: (默认) 由 mihomo 判断是否开启
# - off:    不匹配进程，推荐在路由器上使用
find-process-mode: always

# 全局 TLS 指纹，用于模拟特定浏览器行为，无特殊需求使用 chrome (整活可以填个`random`,不过应该没啥大影响)
global-client-fingerprint: chrome

profile:
  store-selected: true  # 记录策略组的选择(推荐开启)
  store-fake-ip: true   # 持久化 fake-ip 分配记录(推荐开启)

log-level: info         # 日志等级: silent | error | warning | info | debug
ipv6: true              # 全局 IPv6 开关，如果您的网络不支持 IPv6，建议关闭

# 运行模式
# - rule:   规则模式 (常用)
# - global: 全局代理
# - direct: 全局直连
mode: rule
&lt;/code&gt;&lt;/pre&gt;
&lt;h2&gt;5. GeoData&lt;/h2&gt;
&lt;p&gt;GeoIP 和 Geosite 数据库是 &lt;code&gt;GEOIP&lt;/code&gt; 和 &lt;code&gt;GEOSITE&lt;/code&gt; 规则的基础，通常保持默认即可。&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;# 自定义 geodata 数据库的下载地址
geox-url:
  geoip: &quot;https://testingcf.jsdelivr.net/gh/MetaCubeX/meta-rules-dat@release/geoip.dat&quot;
  geosite: &quot;https://testingcf.jsdelivr.net/gh/MetaCubeX/meta-rules-dat@release/geosite.dat&quot;
  mmdb: &quot;https://testingcf.jsdelivr.net/gh/MetaCubeX/meta-rules-dat@release/country.mmdb&quot;
  # asn: &quot;https://github.com/xishang0128/geoip/releases/download/latest/GeoLite2-ASN.mmdb&quot;

geo-auto-update: false      # 是否自动更新 geodata
geo-update-interval: 24   # 更新间隔 (小时)
geodata-mode: true        # 更改 geoip 使用文件，mmdb 或者 dat，可选 true/false,true为 dat，此项有默认值 false
&lt;/code&gt;&lt;/pre&gt;
&lt;hr /&gt;
&lt;h1&gt;三、TUN 模式&lt;/h1&gt;
&lt;p&gt;TUN 模式可以接管系统所有流量，实现真正的“全局代理”，比系统代理 (System Proxy) 更彻底。&lt;/p&gt;
&lt;p&gt;:::tip[个人建议]
建议启用 TUN 模式。&lt;code&gt;stack&lt;/code&gt; 如无使用问题，建议使用 &lt;code&gt;mixed&lt;/code&gt; 栈，默认 &lt;code&gt;gvisor&lt;/code&gt;。
:::&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;tun:
  enable: true
  stack: mixed # 可选: system, gvisor, mixed
  dns-hijack:
    - 0.0.0.0:53 # 劫持所有 DNS 请求
  # auto-detect-interface: true # 自动识别出口网卡
  # auto-route: true            # 自动配置路由表
  # strict-route: true          # 严格路由，防止流量泄漏
  # mtu: 9000                   # 最大传输单元，会影响极限状态下的速率，一般用户默认即可。
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&lt;strong&gt;&lt;code&gt;stack&lt;/code&gt; (协议栈) 说明:&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;&lt;code&gt;system&lt;/code&gt;:&lt;/strong&gt; 使用系统协议栈，可以提供更稳定/全面的 tun 体验，且占用相对其他堆栈更低&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;code&gt;gvisor&lt;/code&gt;:&lt;/strong&gt; 通过在用户空间中实现网络协议栈，可以提供更高的安全性和隔离性，同时可以避免操作系统内核和用户空间之间的切换，从而在特定情况下具有更好的网络处理性能&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;code&gt;mixed&lt;/code&gt;:&lt;/strong&gt; TCP 使用 &lt;code&gt;system&lt;/code&gt; 栈，UDP 使用 &lt;code&gt;gvisor&lt;/code&gt; 栈，使用体验可能相对更好。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;:::warning[防火墙问题]
如果打开了防火墙，则无法使用 system 和 mixed 协议栈，通过以下方式放行内核：
Windows: 设置 -&amp;gt; Windows 安全中心 -&amp;gt; 允许应用通过防火墙 -&amp;gt; 选中内核&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;MacOS: 一般无需配置，防火墙默认放行签名软件，如果遇到开启防火墙无法使用的情况，可以尝试放行：系统设置 -&amp;gt; 网络 -&amp;gt; 防火墙 -&amp;gt; 选项 -&amp;gt; 添加 mihomo app

Linux: 一般无需配置，防火墙默认不拦截应用，如果遇到开启防火墙无法使用的情况，可以尝试放行 TUN 网卡出站流量（假设 TUN 网卡为 Mihomo）: sudo iptables -A OUTPUT -o Mihomo -j ACCEPT
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;:::&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;顺带提一下,如果你是Android跑裸核的,用&lt;code&gt;box4magisk&lt;/code&gt;这类模块,我个人认为使用透明代理更好&lt;/p&gt;
&lt;/blockquote&gt;
&lt;hr /&gt;
&lt;h1&gt;四、嗅探 (Sniffer)&lt;/h1&gt;
&lt;p&gt;Sniffer 这个我觉得不需要花时间去配置(没啥好配置的);如果你使用的是机场,那么很有可能节点出口就开着嗅探,这里修改成啥都没影响&lt;/p&gt;
&lt;p&gt;举个例子: 假设你访问a.com这个域名,并且这个域名不在你的匹配规则中,并且这个域名使用了Cloudflare CDN,并且你最后的match规则(大多配置文件中称为&quot;漏网之鱼&quot;)是直连;那么在不开启嗅探的情况下,就会因为没有匹配到任何规则而走直连; 如果开启了嗅探,并且匹配规则中包含Cloudflare的域名走代理,那么再访问a.com就是走代理的&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;sniffer:
  enable: true
  override-destination: true  # 使用嗅探结果作为实际访问地址
  force-dns-mapping: true     # 对 redir-host 类型识别的流量进行强制嗅探
  parse-pure-ip: true         # 对所有未获取到域名的流量进行强制嗅探
  sniff:
    HTTP:
      ports: [80, 8080-8880]
    TLS:
      ports: [443, 8443]
    QUIC:
      ports: [443, 8443]
  # force-domain:             # 强制嗅探的域名列表
  #   - +.v2ex.com
  # skip-domain:              # 跳过嗅探的域名列表
  #   - Mijia Cloud
&lt;/code&gt;&lt;/pre&gt;
&lt;hr /&gt;
&lt;h1&gt;五、DNS 设置&lt;/h1&gt;
&lt;p&gt;DNS 是整个配置的核心之一，直接影响访问速度和分流准确性。&lt;/p&gt;
&lt;h2&gt;关于DNS泄露&lt;/h2&gt;
&lt;p&gt;如果你非常追求DNS不泄露,那么请参考&lt;a href=&quot;../windows-dns-leak/&quot;&gt;解决Windows下DNS泄露问题&lt;/a&gt; (通常情况下DNS泄露并不会带来多少影响,除非环境特殊且必要,否则建议无视DNS泄露)&lt;/p&gt;
&lt;h2&gt;配置项解释&lt;/h2&gt;
&lt;pre&gt;&lt;code&gt;dns:
  enable: true
  # 缓存算法,推荐arc,默认lru
  cache-algorithm: arc
  # DOH 优先使用 http/3
  prefer-h3: false
  use-hosts: true
  use-system-hosts: true
  # dns 连接遵守路由规则，需配置 proxy-server-nameserver
  # 强烈不建议和 prefer-h3 一起使用
  respect-rules: false
  # DNS 服务监听，支持 udp, tcp; 一般无需设置
  listen: 0.0.0.0:1053
  ipv6: false
  # 默认 DNS, 用于解析 DNS 服务器 的域名; 必须为 IP, 可为加密 DNS
  default-nameserver:
    - 223.5.5.5
  # DNS处理模式,可选值 fake-ip/redir-host，默认redir-host
  enhanced-mode: fake-ip
  # fakeip 下的 IP 段设置，tun 的默认 IPV4 地址 也使用此值作为参考
  fake-ip-range: 198.18.0.1/16
  # 可选 blacklist/whitelist，默认blacklist，whitelist 即只有匹配成功才返回 fake-ip
  fake-ip-filter-mode: blacklist
  # fakeip 过滤，以下地址不会下发 fakeip 映射用于连接
  fake-ip-filter:
    - &apos;*.lan&apos;
  # 指定域名查询的解析服务器，可使用 geosite, 优先于 nameserver/fallback 查询
  # 个人认为没必要使用,除非你需要特定域名或规则特定DNS,如果只是CN这种的无需使用,只需要配置 default-nameserver,nameserver,fallback 这三个即可
  nameserver-policy:
    &apos;+.arpa&apos;: &apos;10.0.0.1&apos;
    &apos;rule-set:cn&apos;:
    - https://doh.pub/dns-query
    - https://dns.alidns.com/dns-query
  # 默认的域名解析服务器
  # 我一般放国内加密DNS
  nameserver:
    - https://doh.pub/dns-query
    - https://dns.alidns.com/dns-query
  # 后备域名解析服务器，一般情况下使用境外 DNS, 保证结果可信
  # 配置 fallback 后默认启用 fallback-filter,geoip-code为 cn
  fallback:
    - tls://8.8.4.4
    - tls://1.1.1.1
  # 代理节点域名解析服务器，仅用于解析代理节点的域名，如果不填则遵循 nameserver-policy、nameserver 和 fallback 的配置
  # 个人认为无需配置
  proxy-server-nameserver:
    - https://doh.pub/dns-query
  # 用于 direct 出口域名解析的 DNS 服务器，如果不填则遵循 nameserver-policy、nameserver 和 fallback 的配置
  # 个人认为无需配置
  direct-nameserver:
    - system
  # 是否遵循 nameserver-policy，默认为不遵守，仅当 direct-nameserver 不为空时生效
  # 个人认为为无需配置
  direct-nameserver-follow-policy: false
  # 后备域名解析服务器筛选，满足条件的将使用 fallback 结果或只使用 fallback 解析
  # 如无特殊规则需要添加也可以不配置,默认会配置 geoip-code为 cn
  fallback-filter:
    geoip: true
    geoip-code: CN
    geosite:
      - gfw
    ipcidr:
      - 240.0.0.0/4
    domain:
      - &apos;+.google.com&apos;
      - &apos;+.facebook.com&apos;
      - &apos;+.youtube.com&apos;
&lt;/code&gt;&lt;/pre&gt;
&lt;h3&gt;&lt;code&gt;enhanced-mode&lt;/code&gt; 的选择&lt;/h3&gt;
&lt;p&gt;:::tip[个人建议]
非必要情况下优先使用&lt;code&gt;fake-ip&lt;/code&gt;,&lt;code&gt;fake-ip&lt;/code&gt;能实现非直连域名一定不在本地本机进行任何DNS解析,能有效避免DNS污染/泄露,极少数域名或服务会访问异常,这是因为使用了虚假IP, 需要在&lt;code&gt;fake-ip-filter&lt;/code&gt;添加对应域名(也就是回退到 &lt;code&gt;redir-host&lt;/code&gt;)&lt;/p&gt;
&lt;p&gt;&lt;code&gt;redir-host&lt;/code&gt;的DNS解析速度会显著慢于&lt;code&gt;fake-ip&lt;/code&gt;(两倍时长),并且由于DNS都是在本地解析,在访问一些被DNS污染的域名会导致无法访问,需要配置DNS解析走代理(解析时间进一步延长)
:::&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;ddns:
  enable: true
  prefer-h3: true
  enhanced-mode: fake-ip
  cache-algorithm: arc
  fake-ip-filter-mode: blacklist
  fake-ip-range: 28.0.0.1/8
  fake-ip-filter:
    - &apos;GEOSITE:CN,PRIVATE&apos;
    - &apos;GEOIP:CN,PRIVATE&apos;
    - &apos;*.lan&apos;
    - localhost.ptlogin2.qq.com
    - +.srv.nintendo.net
    - +.stun.playstation.net
    - +.msftconnecttest.com
    - +.msftncsi.com
    - +.xboxlive.com
    - xbox.*.microsoft.com
    - &apos;*.battlenet.com.cn&apos;
    - &apos;*.battlenet.com&apos;
    - &apos;*.blzstatic.cn&apos;
    - &apos;*.battle.net&apos;
  default-nameserver:
    - 119.29.29.29
    - 114.114.114.114
  nameserver:
    - &apos;tls://dot.pub&apos;
    - &apos;tls://1.1.1.1&apos;
    - &apos;tls://8.8.8.8&apos;
    - system
&lt;/code&gt;&lt;/pre&gt;
&lt;hr /&gt;
&lt;h1&gt;六、代理组 (Proxy Groups)&lt;/h1&gt;
&lt;p&gt;代理组是 &lt;code&gt;mihomo&lt;/code&gt; 实现复杂分流策略的基础，它允许你将多个节点按不同方式组织起来。&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;proxy-groups:
- name: &quot;proxy&quot;
  # 策略组类型, select:手动选择, url-test:自动选择, fallback:自动回退(故障转移), load-balance:负载均衡(一般用不到)
  type: select
  # 引入出站代理(节点)或其他策略组
  proxies:
  - DIRECT
  - ss
  # 引入代理集合(由于本文不含相关内容,因此简单解释一下,就是引入某个机场的节点)
  use:
  - provider1
  - provider1

  # 健康检查测试地址, 只会检查代理组的 proxies 字段的代理，不会检查代理集合（proxy-providers）的代理（通过 use 引入的）。
  url: &apos;https://www.gstatic.com/generate_204&apos;
  # 健康检查间隔，如不为 0 则启用定时测试，单位为秒
  interval: 300
  # 懒惰状态，默认为true,未选择到当前策略组时，不进行测试
  lazy: true
  # 健康检查超时时间，单位为毫秒
  timeout: 5000
  # 最大失败次数，超过则触发一次强制健康检查，默认 5
  max-failed-times: 5
  # 禁用该策略组的UDP
  disable-udp: true
  # 引入所有出站代理以及代理集合，顺序将按照名称排序; 引入不包含策略组,可在proxies引入其他策略组
  include-all: false
  # 引入所有出站代理，顺序将按照名称排序; 引入不包含策略组,可在proxies引入其他策略组
  include-all-proxies: false
  # 引入所有代理集合，顺序将按照名称排序; 会使引入代理集合失效
  include-all-providers: false
  # 筛选满足关键词或正则表达式的节点，可以使用 ` 区分多个正则表达式; 仅作用于引入代理集合以及引入所有出站代理
  # 搭配 include-all: true ,是一个较常用的筛选方式,例如筛选某个国家的节点
  filter: &quot;(?i)港|hk|hongkong|hong kong&quot;
  # 排除满足关键词或正则表达式的节点，可以使用 ` 区分多个正则表达式
  # 可以用于排除一些流量信息节点(如果你认为不需要的话)
  exclude-filter: &quot;美|日&quot;
  # 不支持正则表达式，通过 | 分割，根据节点类型排除，仅排除引入出站代理
  # 支持类型请参阅Adapter Type (https://github.com/MetaCubeX/mihomo/blob/fbead56ec97ae93f904f4476df1741af718c9c2a/constant/adapters.go#L18-L45)，无视大小写
  exclude-type: &quot;Shadowsocks|Http&quot;
  # 健康检查时期望的 HTTP 响应状态码。若配置了该字段，则只有当响应状态码与期望状态一致时才认为节点可用。默认为 *，表示对响应状态不做要求
  expected-status: 204
  # 在 api 返回hidden状态，以隐藏该策略组展示 (需要使用 api 的前端适配)
  hidden: true
  # 在 api 返回icon所输入的字符串，以在该策略组显示 (需要使用 api 的前端适配)
  # 很常用的配置
  icon: xxx
&lt;/code&gt;&lt;/pre&gt;
&lt;hr /&gt;
&lt;h1&gt;七、路由规则 (Rules)&lt;/h1&gt;
&lt;p&gt;规则是配置的最后一道关卡，它定义了什么样的请求应该走哪个策略组。规则&lt;strong&gt;从上到下&lt;/strong&gt;依次匹配，一旦匹配成功，后续规则将被忽略。
推荐&lt;strong&gt;把所有非IP类规则写在IP类规则之前&lt;/strong&gt;&lt;/p&gt;
&lt;h2&gt;常用规则类型&lt;/h2&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;类型&lt;/th&gt;
&lt;th&gt;描述&lt;/th&gt;
&lt;th&gt;示例&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;DOMAIN&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;匹配完整域名&lt;/td&gt;
&lt;td&gt;&lt;code&gt;DOMAIN,google.com,代理&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;DOMAIN-SUFFIX&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;匹配域名后缀&lt;/td&gt;
&lt;td&gt;&lt;code&gt;DOMAIN-SUFFIX,google.com,代理&lt;/code&gt; (匹配 &lt;code&gt;www.google.com&lt;/code&gt;)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;DOMAIN-KEYWORD&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;匹配域名关键字&lt;/td&gt;
&lt;td&gt;&lt;code&gt;DOMAIN-KEYWORD,google,代理&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;DOMAIN-WILDCARD&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;通配符匹配&lt;/td&gt;
&lt;td&gt;&lt;code&gt;DOMAIN-WILDCARD,*.google.com,代理&lt;/code&gt; (仅支持&lt;code&gt;*&lt;/code&gt;和&lt;code&gt;?&lt;/code&gt;)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;GEOIP&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;匹配 IP 归属地&lt;/td&gt;
&lt;td&gt;&lt;code&gt;GEOIP,CN,DIRECT&lt;/code&gt; (匹配中国大陆 IP)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;GEOSITE&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;匹配预设的网站列表&lt;/td&gt;
&lt;td&gt;&lt;code&gt;GEOSITE,google,代理&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;MATCH&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;最终规则，匹配所有剩余流量&lt;/td&gt;
&lt;td&gt;&lt;code&gt;MATCH,DIRECT&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;PROCESS-NAME&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;使用进程匹配，在&lt;code&gt;Android&lt;/code&gt;平台可以匹配包名&lt;/td&gt;
&lt;td&gt;&lt;code&gt;PROCESS-NAME,qq.exe,REJECT&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;:::tip
更多规则类型和高级用法，请参阅 &lt;a href=&quot;https://wiki.metacubex.one/config/rules/&quot;&gt;官方文档&lt;/a&gt;。
:::&lt;/p&gt;
&lt;hr /&gt;
&lt;h1&gt;八、规则集合 (Rule Providers)&lt;/h1&gt;
&lt;p&gt;为了方便管理和更新大量的规则，我们可以使用远程规则订阅。&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;rule-providers:
  # 订阅一个名为 &quot;google&quot; 的规则集
  google:
    type: http # 订阅类型, 可选http / file / inline  (除了http外其他两个应该很少用)
    behavior: classical # 行为 (domain/ipcidr/classical)
    format: yaml # 格式，可选 yaml/text/mrs，默认 yaml
    url: &quot;https://raw.githubusercontent.com/user/repo/Google.yaml&quot;
    path: ./rules/google.yaml # 本地路径,可选
    interval: 86400 # 更新间隔 (秒)，例如 86400 为一天
    proxy: DIRECT # 使用哪个策略组下载规则, 可选
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;然后在路由规则部分，使用 &lt;code&gt;RULE-SET&lt;/code&gt; 来引用它：&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;rules:
  - RULE-SET,google,代理
&lt;/code&gt;&lt;/pre&gt;
&lt;hr /&gt;
&lt;p&gt;结束! (如有错误,欢迎指正)&lt;/p&gt;
</content:encoded><author>璨梦踏月</author></item><item><title>使用Netlify反代网站加速大陆访问</title><link>https://blog.canmoe.com/posts/accelerate-site-with-netlify-proxy/</link><guid isPermaLink="true">https://blog.canmoe.com/posts/accelerate-site-with-netlify-proxy/</guid><description>你就说这免费服务绿不绿吧</description><pubDate>Thu, 31 Jul 2025 00:00:00 GMT</pubDate><content:encoded>&lt;p&gt;:::important[开始前你需要进行一些准备]&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;一个&lt;a href=&quot;github.com&quot;&gt;GitHub&lt;/a&gt;账号&lt;/li&gt;
&lt;li&gt;一个&lt;a href=&quot;https://app.netlify.com/&quot;&gt;Netlify&lt;/a&gt;账号&lt;/li&gt;
&lt;li&gt;你需要反代的网站&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;:::&lt;/p&gt;
&lt;h2&gt;netlify.toml&lt;/h2&gt;
&lt;p&gt;首先创建一个github仓库(名称随意,可为私有仓库)&lt;/p&gt;
&lt;p&gt;仓库创建完成后点击&lt;code&gt; creating a new file (创建一个新文件)&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;文件名填写&lt;code&gt;netlify.toml&lt;/code&gt;,然后将以下内容复制到文件内容&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;[[redirects]]
  from = &quot;/*&quot;
  to = &quot;https://your-original-site.com/:splat&quot;
  status = 200
  force = true
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;把&lt;code&gt;your-original-site.com&lt;/code&gt;替换为&lt;code&gt;你需要反代的网站&lt;/code&gt;,&lt;strong&gt;不要修改其他内容&lt;/strong&gt;,特别是&lt;code&gt;:splat&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;参数解释(&lt;s&gt;AIGC 无视即可,没必要看&lt;/s&gt;):&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;[[redirects]]
作用： 这是一个标记，用来告诉 Netlify “接下来我要定义一条或多条重定向/重写规则”。
解释： netlify.toml 是一个配置文件，可以包含多种不同功能的设置（如插件、函数、headers等）。[[redirects]] 表明这是一个规则块的开始。您可以拥有多个 [[redirects]] 块来定义不同的规则。

from = &quot;/*&quot;
作用： 定义这条规则要匹配的来源路径。
解释： from 指定了当用户访问您的 Netlify 站点时，什么样的 URL 路径会触发这条规则。
/ 代表网站的根目录。
* 是一个通配符（wildcard），可以匹配任何内容。
所以 /* 的意思就是 “匹配所有访问我这个 Netlify 站点的请求”，无论是首页 (https://my-proxy.netlify.app/)，还是某个具体页面 (https://my-proxy.netlify.app/about/contact.html)，或是图片等静态资源，都会被这条规则捕获。
to = &quot;https://your-original-site.com/:splat&quot;
作用： 定义匹配成功后要转发到的目标地址。
解释： to 指定了 Netlify 应该去哪里获取内容。
https://your-original-site.com/ 是您实际网站的地址，也就是源站。
:splat 是一个占位符，它的值会自动替换为 from 路径中 * 通配符匹配到的那部分内容。
示例：
当用户访问 https://my-proxy.netlify.app/products/cool-shirt
from 规则中的 * 就匹配到了 products/cool-shirt 这部分。
于是 :splat 的值就变成了 products/cool-shirt。
最终 Netlify 会去请求的目标地址就是 https://your-original-site.com/products/cool-shirt。
这确保了您的网站路径结构被完整地保留了下来。

status = 200
作用： 定义 Netlify 响应给浏览器的 HTTP 状态码。这是实现“反向代理”而非“跳转”的核心。
解释：
通常的跳转 (Redirect) 会使用 301 (永久移动) 或 302 (临时移动) 状态码。浏览器收到 301/302 后，会清空当前页面，然后地址栏会变成 to 指定的新地址，再去请求新地址。
而 200 (OK) 状态码告诉浏览器：“请求成功了，这就是你要的内容”。Netlify 在后台请求了源站的内容，然后把内容“借”过来，以自己的名义（和 200 状态码）发给浏览器。
效果就是： 用户的浏览器地址栏不会改变，依然显示您的 Netlify 域名，但看到的内容却是从您的源站获取的。这就是重写 (Rewrite) 或者说反向代理的效果。

force = true
作用： 强制执行此规则，使其拥有最高优先级。
解释：
Netlify 处理一个请求时，有一个默认的顺序：

首先，检查部署的文件中是否有与请求路径完全匹配的静态文件。例如，如果用户请求 /about，Netlify 会先找 about.html 文件。
如果没找到，它才会去检查 _redirects 文件或 netlify.toml 里的重定向/重写规则。
但是，当您设置了 force = true 后，这个顺序就被颠覆了：

首先，Netlify 会强制检查并应用这条规则。
它会忽略任何可能存在于部署中的同名静态文件。
为什么在反向代理场景下它如此重要？

在使用“拖拽部署”时，您的部署包里除了 netlify.toml 之外没有任何其他文件，所以加不加 force 效果可能一样。
但是，这是一个非常保险的设置。它确保了无论您部署了什么内容（哪怕不小心拖进去一个 index.html 文件），这条反向代理规则都永远生效。
它向 Netlify 发出了一个明确的指令：“不要管我上传了什么文件，所有流量 (/*) 都必须、无条件地通过这条代理规则来处理。”
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;修改完成后右上角&lt;strong&gt;提交更改&lt;/strong&gt;&lt;/p&gt;
&lt;hr /&gt;
&lt;h2&gt;Netlify&lt;/h2&gt;
&lt;p&gt;打开&lt;a href=&quot;app.netlify.com&quot;&gt;Netlify&lt;/a&gt;(确保已登录账户),然后点击&lt;code&gt;Add new project&lt;/code&gt;,&lt;code&gt;Import an existing project&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;选择&lt;code&gt;github&lt;/code&gt;(如果没授权就授权),选择你刚刚创建的仓库,划到最下面选择&lt;code&gt;Deploy&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;左侧目录找到&lt;code&gt;Domain management&lt;/code&gt;,在这里添加你的域名,&lt;strong&gt;CNAME的内容使用&lt;code&gt;apex-loadbalancer.netlify.com&lt;/code&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;等待Netlify自动申请SSL证书完成,然后就可以以HTTPS访问网站了&lt;/p&gt;
</content:encoded><author>璨梦踏月</author></item><item><title>0成本快速搭建一个属于自己的书签导航页</title><link>https://blog.canmoe.com/posts/bookmark-navigator/</link><guid isPermaLink="true">https://blog.canmoe.com/posts/bookmark-navigator/</guid><description>还在为杂乱的书签而烦恼吗？本教程将指导您如何使用开源项目，零成本、快速地将您的浏览器书签转换为一个精美、功能强大的个人导航页，并将其部署为可公开访问的网站。</description><pubDate>Sat, 19 Jul 2025 00:00:00 GMT</pubDate><content:encoded>&lt;p&gt;:::caution[AI内容警告]&lt;/p&gt;
&lt;p&gt;本文使用了AI润色(仅第一个标题前的内容),更多内容请看&lt;a href=&quot;../sth/#%E5%85%B3%E4%BA%8Eaigc&quot;&gt;文章内容说明&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;:::&lt;/p&gt;
&lt;p&gt;您是否曾对杂乱无章的浏览器书签感到烦恼？现在，有了一个全新的解决方案！&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;书签导航页&lt;/strong&gt; 是一个能将您平平无奇的书签文件（&lt;code&gt;bookmarks.html&lt;/code&gt;）一键转换成一个设计精美、响应迅速、功能强大的个人导航中心的开源项目。此外还支持了搜索功能,目的是能够作为一个起始页来使用。&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;同时还有嵌套功能,能够展示子搜索引擎菜单,将同类搜索引擎合并减少占位空间&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;&lt;img src=&quot;images/bookmark-navigator-2.png&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;
&lt;p&gt;网页预览:&lt;a href=&quot;https://bookmark-navigator-cmyyxs-projects.vercel.app/&quot;&gt;部署在vercel&lt;/a&gt;&lt;/p&gt;
&lt;hr /&gt;
&lt;h2&gt;部署&lt;/h2&gt;
&lt;h3&gt;准备&lt;/h3&gt;
&lt;p&gt;:::important&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;你需要有一个GitHub账户&lt;/li&gt;
&lt;li&gt;一个能部署静态网页平台的账户(例如 Vercel, Netlify, Cloudflare Pages等)&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;:::&lt;/p&gt;
&lt;h3&gt;快速开始&lt;/h3&gt;
&lt;p&gt;::github{repo=&quot;cmyyx/bookmark-navigator&quot;}&lt;/p&gt;
&lt;p&gt;打开 https://github.com/cmyyx/bookmark-navigator ,右上角 &lt;code&gt;fork&lt;/code&gt; 此仓库&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;如果你有Git,可以在fork完后git clone你&lt;code&gt;fork&lt;/code&gt;的仓库到你本地,修改更方便&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;从你的浏览器导出书签,并替换仓库根目录下的 &lt;code&gt;bookmarks.html&lt;/code&gt; ,保存并提交即可&lt;/p&gt;
&lt;p&gt;以&lt;code&gt;Vercel&lt;/code&gt;为例(Netlify 操作类似),进入 &lt;a href=&quot;https://vercel.com/&quot;&gt;Vercel&lt;/a&gt; ,点击右上角按钮 &lt;code&gt;Add New...&lt;/code&gt; ,选择 &lt;code&gt;Project&lt;/code&gt; ;&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;images/bookmark-navigator-3.png&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;
&lt;p&gt;如果你还没有绑定GitHub账户先绑定,随后在 &lt;code&gt;Import Git Repository&lt;/code&gt; 的列表中找到你&lt;code&gt;fork&lt;/code&gt;的仓库(如果你没有修改名称那就是bookmark-navigator),点击右侧&lt;code&gt;Import&lt;/code&gt; ,展开&lt;code&gt;Build and Output Settings&lt;/code&gt;,&lt;code&gt;Build Command&lt;/code&gt;和&lt;code&gt;Output Directory&lt;/code&gt;右侧有两个修改图标,选中(否则无法修改)&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;images/bookmark-navigator-4.png&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;
&lt;p&gt;在&lt;code&gt;Build Command&lt;/code&gt;中填入&lt;code&gt;npm run build&lt;/code&gt;,&lt;code&gt;Output Directory&lt;/code&gt;中填入&lt;code&gt;dist&lt;/code&gt;;然后点击&lt;code&gt;Deploy&lt;/code&gt;即可;&lt;/p&gt;
&lt;p&gt;等待部署完成后点击&lt;code&gt;Continue to Dashboard&lt;/code&gt;,&lt;code&gt;Domains&lt;/code&gt;下方的域名就是你的网站了,点击即可访问&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;如果你拥有自己的域名,可以在设置中找到&lt;code&gt;Domains&lt;/code&gt;进行绑定&lt;/p&gt;
&lt;/blockquote&gt;
&lt;hr /&gt;
&lt;h3&gt;自定义&lt;/h3&gt;
&lt;h4&gt;config.json&lt;/h4&gt;
&lt;pre&gt;&lt;code&gt;&quot;background&quot;: {
    &quot;fallback&quot;: &quot;assets/background.webp&quot;,  &amp;lt;-- 如果你需要自定义背景,请修改此路径为你的背景路径或替换此背景文件
    &quot;api&quot;: {
      &quot;enabled&quot;: false,  &amp;lt;-- 如果你需要通过API获取背景,请先修改此项为`true`
      &quot;url&quot;: &quot;&quot;  &amp;lt;-- 然后修改这里的url
    }
&lt;/code&gt;&lt;/pre&gt;
&lt;pre&gt;&lt;code&gt;&quot;searchEngines&quot;: {
    &quot;bookmark&quot;: {  &amp;lt;-- ID,不能重复
      &quot;name&quot;: &quot;书签&quot;,  &amp;lt;-- 显示名称
      &quot;url&quot;: null,
      &quot;icon&quot;: &quot;data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgaGVpZ2h0PSIxNiIgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSJub25lIiBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLXdpZHRoPSIyIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIGNsYXNzPSJsdWNpZGUgbHVjaWRlLWJvb2ttYXJrIj48cGF0aCBkPSJtMTkgMjEtNy01LTcgNVY1YTIgMiAwIDAgMSAyLTJoMTBhMiAyIDAgMCAxIDIgMnoiLz48L3N2Zz4=&quot;
    },
    &quot;google&quot;: {
      &quot;name&quot;: &quot;Google&quot;,
      &quot;url&quot;: &quot;https://www.google.com/search?q={query}&quot;,
      &quot;icon&quot;: &quot;&quot;,  &amp;lt;-- 图标链接,可留空(会尝试获取URL域名的图标)
      &quot;engines&quot;: {   &amp;lt;-- 嵌套,可以创建子搜索引擎
        &quot;luxirty&quot;: {
          &quot;name&quot;: &quot;Luxirty&quot;,
          &quot;url&quot;: &quot;http://search.luxirty.com/search?q={query}&quot;,
          &quot;icon&quot;: &quot;&quot;
        }
      }
    }
  }
&lt;/code&gt;&lt;/pre&gt;
&lt;pre&gt;&lt;code&gt;&quot;buildSettings&quot;: {
    &quot;_comment&quot;: &quot;高级构建设置。警告：修改这些值可能会导致构建失败或性能问题。如果不了解，请保持默认值。&quot;,
    &quot;concurrentRequests&quot;: 50,  &amp;lt;-- 获取网站图标时的并发数量
    &quot;maxIconSizeBytes&quot;: 5242880,  &amp;lt;-- 网站图标大小限制
    &quot;allowedIconContentTypes&quot;: [  &amp;lt;-- 定义哪些类型的图片可以被接受为图标
      &quot;image/x-icon&quot;,
      &quot;image/vnd.microsoft.icon&quot;,
      &quot;image/png&quot;,
      &quot;image/jpeg&quot;,
      &quot;image/svg+xml&quot;,
      &quot;image/gif&quot;,
      &quot;image/webp&quot;
    ]
  }
&lt;/code&gt;&lt;/pre&gt;
&lt;h4&gt;修改字体&lt;/h4&gt;
&lt;p&gt;替换 &lt;code&gt;src/assets&lt;/code&gt; 目录中的字体文件，并在 &lt;code&gt;src/style.css&lt;/code&gt; 中更新字体名称。&lt;/p&gt;
&lt;h4&gt;修改默认图标&lt;/h4&gt;
&lt;p&gt;替换 &lt;code&gt;src/assets/placeholder_icon.svg&lt;/code&gt; 文件来修改网站的默认占位符图标。&lt;/p&gt;
</content:encoded><author>璨梦踏月</author></item><item><title>使用 Fuwari 搭建个人博客并集成 Twikoo 评论系统</title><link>https://blog.canmoe.com/posts/fuwari-twikoo-guide/</link><guid isPermaLink="true">https://blog.canmoe.com/posts/fuwari-twikoo-guide/</guid><description>本教程将详细指导您如何使用 Fuwari 主题从零开始搭建一个功能完善的个人博客，并为其集成 Twikoo 评论系统以增加互动性。附录部分还提供了丰富的 Markdown 用法参考。</description><pubDate>Sun, 06 Jul 2025 00:00:00 GMT</pubDate><content:encoded>&lt;p&gt;:::caution[AI内容警告]&lt;/p&gt;
&lt;p&gt;本文使用了AI润色,更多内容请看&lt;a href=&quot;../sth/#%E5%85%B3%E4%BA%8Eaigc&quot;&gt;文章内容说明&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;:::&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;更新日志&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;2025-08-03 更新1:&lt;/strong&gt; 更新 Twikoo 评论部分，确保评论系统能够正确加载和显示。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;2025-08-03 更新2:&lt;/strong&gt; 新增“高级 Markdown 用法参考”附录，内容总结自官方示例。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;2025-08-03 更新3:&lt;/strong&gt; 文章内容润色。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;2025-08-04:&lt;/strong&gt; 附录移动至&lt;a href=&quot;../fuwari-cheatsheet/&quot;&gt;Fuwari 主题 Markdown 速查表与高级用法&lt;/a&gt;。&lt;/li&gt;
&lt;/ul&gt;
&lt;/blockquote&gt;
&lt;p&gt;本教程旨在提供一个从零到一的建站指南，即使是新手也能轻松上手。&lt;/p&gt;
&lt;p&gt;:::note[开始前的准备]
在正式开始之前，请确保您的电脑已安装以下软件：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://nodejs.org/zh-cn&quot;&gt;Node.js&lt;/a&gt; (建议使用 LTS 版本)&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://code.visualstudio.com/&quot;&gt;Visual Studio Code&lt;/a&gt; (或其他代码编辑器)&lt;/li&gt;
&lt;li&gt;一个 Markdown 编辑器 (VS Code 也不是不可以,可以安装&lt;code&gt;Markdown All in One&lt;/code&gt;扩展)
:::&lt;/li&gt;
&lt;/ul&gt;
&lt;h1&gt;一、 部署 Fuwari 主题&lt;/h1&gt;
&lt;p&gt;首先，我们来初始化 Fuwari 项目。&lt;/p&gt;
&lt;p&gt;:::tip[小提示]
项目创建过程中会自动生成一个新文件夹，所以您无需提前手动创建。
:::&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;打开终端，执行以下命令：&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;npm create fuwari@latest
&lt;/code&gt;&lt;/pre&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;终端会提示您是否需要安装 &lt;code&gt;create-fuwari&lt;/code&gt; 包，直接按回车键（&lt;code&gt;y&lt;/code&gt;）继续：&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;Need to install the following packages:
create-fuwari@0.0.13
Ok to proceed? (y)
&lt;/code&gt;&lt;/pre&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;接下来，根据提示完成初始化设置：&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;选项&lt;/th&gt;
&lt;th&gt;解释&lt;/th&gt;
&lt;th&gt;建议&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;Install Dependencies?&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;是否安装项目依赖&lt;/td&gt;
&lt;td&gt;&lt;code&gt;Yes&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;Initialize Git?&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;是否初始化 Git 仓库&lt;/td&gt;
&lt;td&gt;&lt;code&gt;Yes&lt;/code&gt; (如果使用 Git)&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;看到 &lt;code&gt;Done!😊&lt;/code&gt; 字样时，说明项目已成功创建。&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;使用 &lt;code&gt;cd&lt;/code&gt; 命令进入您的项目目录。&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;:::caution[关于报错]
如果在安装依赖时遇到问题，可以尝试全局安装 &lt;code&gt;pnpm&lt;/code&gt;，然后进入项目根目录执行 &lt;code&gt;pnpm install&lt;/code&gt; 和 &lt;code&gt;pnpm add sharp&lt;/code&gt; 来修复。&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;# 全局安装 pnpm
npm install -g pnpm
# 进入项目目录后执行
pnpm install
pnpm add sharp
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;:::&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;如有其他报错,建议完整复制丢给AI&lt;/p&gt;
&lt;/blockquote&gt;
&lt;hr /&gt;
&lt;h1&gt;二、 修改基础配置&lt;/h1&gt;
&lt;p&gt;项目创建完成后，我们需要修改一些基础配置信息。&lt;/p&gt;
&lt;h3&gt;1. 网站信息配置&lt;/h3&gt;
&lt;p&gt;打开 &lt;code&gt;src/config.ts&lt;/code&gt; 文件，您会看到如下配置项，请根据解释进行修改：&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;配置项&lt;/th&gt;
&lt;th&gt;解释&lt;/th&gt;
&lt;th&gt;备注&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;title&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;网站主标题&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;subtitle&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;网站副标题&lt;/td&gt;
&lt;td&gt;可选&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;lang&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;网站语言&lt;/td&gt;
&lt;td&gt;默认为 &lt;code&gt;en&lt;/code&gt;，可改为 &lt;code&gt;zh_CN&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;themeColor.hue&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;主题色调&lt;/td&gt;
&lt;td&gt;可以在博客右上角的调色盘中实时预览和选择&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;banner&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;首页横幅图片&lt;/td&gt;
&lt;td&gt;&lt;code&gt;src&lt;/code&gt; 为图片路径/链接，&lt;code&gt;credit&lt;/code&gt; 控制是否显示版权&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;favicon&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;网站图标&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;NavBarConfig&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;导航栏链接配置&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;ProfileConfig&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;侧边栏个人信息&lt;/td&gt;
&lt;td&gt;&lt;code&gt;avatar&lt;/code&gt;：头像，&lt;code&gt;name&lt;/code&gt;：昵称，&lt;code&gt;bio&lt;/code&gt;：简介&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;&lt;img src=&quot;images/fuwari-twikoo-guide-2.png&quot; alt=&quot;主题色&quot; /&gt;&lt;/p&gt;
&lt;h3&gt;2. 网站 URL 配置&lt;/h3&gt;
&lt;p&gt;打开项目根目录下的 &lt;code&gt;astro.config.mjs&lt;/code&gt; 文件，找到 &lt;code&gt;site&lt;/code&gt; 选项，并将其值修改为您的网站域名。&lt;/p&gt;
&lt;hr /&gt;
&lt;h1&gt;三、 开始撰写博客&lt;/h1&gt;
&lt;p&gt;配置完成后，就可以开始创作您的第一篇博客了。&lt;/p&gt;
&lt;h3&gt;1. 创建新文章&lt;/h3&gt;
&lt;p&gt;Fuwari 提供了便捷的命令行工具来创建新文章。&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;执行以下命令：&lt;pre&gt;&lt;code&gt;pnpm new-post &quot;你的文章标题&quot;
&lt;/code&gt;&lt;/pre&gt;
&lt;/li&gt;
&lt;li&gt;命令执行后，在 &lt;code&gt;src/content/posts/&lt;/code&gt; 目录下会生成一个对应的 Markdown 文件。&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;:::tip[文章资源管理]
为了更好地管理文章相关的图片等资源，建议在 &lt;code&gt;src/content/posts/&lt;/code&gt; 目录下为每篇文章创建一个同名文件夹，并将 Markdown 文件和相关资源（如图片）都放入该文件夹中。这样，您就可以方便地使用相对路径 &lt;code&gt;![图片](./图片名.png)&lt;/code&gt; 来引用资源。
:::&lt;/p&gt;
&lt;h3&gt;2. 理解 Front-matter&lt;/h3&gt;
&lt;p&gt;每篇文章的开头部分都有一段 &lt;code&gt;---&lt;/code&gt; 包裹的区域，这被称为 Front-matter，用于定义文章的元数据。&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;---
title: 我的第一篇博客
published: 2025-08-03
description: 这是我的 Astro 博客的第一篇文章。
image: &apos;./cover.jpg&apos;
tags: [Astro, Blog]
category: &apos;技术分享&apos;
draft: false
---
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;以下是常用字段的说明：&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;属性&lt;/th&gt;
&lt;th&gt;解释&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;title&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;文章标题。&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;published&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;发布日期&lt;/strong&gt;。&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;updated&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;更新日期&lt;/strong&gt;（可选）。&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;description&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;文章简介，会显示在主页的文章卡片上。&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;image&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;文章封面图路径。&amp;lt;br&amp;gt;• &lt;strong&gt;网络图片&lt;/strong&gt;: 以 &lt;code&gt;http://&lt;/code&gt; 或 &lt;code&gt;https://&lt;/code&gt; 开头。&amp;lt;br&amp;gt;• &lt;strong&gt;本地公共图片&lt;/strong&gt;: 以 &lt;code&gt;/&lt;/code&gt; 开头，指向 &lt;code&gt;public&lt;/code&gt; 目录。&amp;lt;br&amp;gt;• &lt;strong&gt;文章相对路径&lt;/strong&gt;: 直接写图片名，如 &lt;code&gt;./cover.jpg&lt;/code&gt;。&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;tags&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;文章标签，可设置多个。&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;category&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;文章分类。&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;draft&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;草稿状态。如果设为 &lt;code&gt;true&lt;/code&gt;，文章不会被构建和显示。&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;hr /&gt;
&lt;h1&gt;四、 集成 Twikoo 评论系统&lt;/h1&gt;
&lt;blockquote&gt;
&lt;p&gt;本章节内容参考并修改自 &lt;a href=&quot;https://www.persicif.xyz/posts/blog-theme-mod/&quot;&gt;HyperCherry 的博客文章&lt;/a&gt;。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;为了让博客更具互动性，我们可以为其添加 Twikoo 评论系统。&lt;/p&gt;
&lt;h3&gt;1. 获取 Twikoo 环境 ID&lt;/h3&gt;
&lt;p&gt;首先，请根据 &lt;a href=&quot;https://twikoo.js.org/&quot;&gt;Twikoo 官方文档&lt;/a&gt; 的指引完成部署，并获取您的 &lt;strong&gt;环境 ID (envId)&lt;/strong&gt;。&lt;/p&gt;
&lt;h3&gt;2. 下载 Twikoo 静态资源&lt;/h3&gt;
&lt;p&gt;从 &lt;a href=&quot;https://twikoo.js.org/frontend.html#%E9%80%9A%E8%BF%87-cdn-%E5%BC%95%E5%85%A5&quot;&gt;Twikoo 文档&lt;/a&gt; 下载最新的 &lt;code&gt;twikoo.min.js&lt;/code&gt; 文件，然后放置在 &lt;code&gt;public/twikoo/&lt;/code&gt; 目录下（如果目录不存在，请手动创建）。&lt;/p&gt;
&lt;h3&gt;3. 创建评论组件&lt;/h3&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;在 &lt;code&gt;src/components/&lt;/code&gt; 目录下创建一个新文件夹 &lt;code&gt;comment&lt;/code&gt;。&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;在 &lt;code&gt;src/components/comment/&lt;/code&gt; 目录下创建一个新文件 &lt;code&gt;Twikoo.astro&lt;/code&gt;。&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;将以下代码复制到 &lt;code&gt;Twikoo.astro&lt;/code&gt; 文件中，并&lt;strong&gt;务必填入您自己的 &lt;code&gt;envId&lt;/code&gt;&lt;/strong&gt;。&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;---
// src/components/comment/Twikoo.astro
const config = {
  el: &quot;#comment&quot;,
  path: Astro.props.path,
};
---
&amp;lt;div id=&quot;comment&quot;&amp;gt;
  &amp;lt;div class=&quot;text-center text-gray-500 dark:text-gray-400 p-8&quot;&amp;gt;
    &amp;lt;p&amp;gt;评论区加载中...&amp;lt;/p&amp;gt;
    &amp;lt;p class=&quot;text-sm mt-2&quot;&amp;gt;如果长时间无法显示，请尝试刷新页面。&amp;lt;/p&amp;gt;
  &amp;lt;/div&amp;gt;
&amp;lt;/div&amp;gt;
&amp;lt;script is:inline define:vars={{ config }}&amp;gt;
  function initTwikoo() {
    const commentContainer = document.getElementById(&apos;comment&apos;);
    if (!commentContainer) return;

    // 清理旧的 Twikoo 实例和脚本
    if (window.twikoo) {
      window.twikoo = undefined;
    }
    const oldScript = document.getElementById(&apos;twikoo-script&apos;);
    if (oldScript) {
      oldScript.remove();
    }

    // 创建并注入新的 Twikoo 脚本
    const script = document.createElement(&apos;script&apos;);
    script.id = &apos;twikoo-script&apos;;
    script.src = &apos;/twikoo/twikoo.min.js&apos;; // 确保路径正确
    script.defer = true;

    // 脚本加载后初始化 Twikoo
    script.onload = () =&amp;gt; {
      if (window.twikoo) {
        window.twikoo.init({
          ...config,
          envId: &quot;请在这里填写你的envId&quot;, // ！！！请替换为您的真实 envId
          lang: &apos;zh-CN&apos;,
        });
      }
    };
    document.head.appendChild(script);
  }

  // 监听 Astro 的页面加载事件来初始化评论
  document.addEventListener(&apos;astro:page-load&apos;, initTwikoo);
&amp;lt;/script&amp;gt;
&lt;/code&gt;&lt;/pre&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;h3&gt;4. 在文章页面中引入评论组件&lt;/h3&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;打开 &lt;code&gt;src/pages/posts/[...slug].astro&lt;/code&gt; 文件。&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;在文件顶部的 &lt;code&gt;---&lt;/code&gt; 代码块中，导入刚刚创建的 &lt;code&gt;Twikoo&lt;/code&gt; 组件。&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;---
import path from &quot;node:path&quot;;
import Twikoo from &quot;@components/comment/Twikoo.astro&quot;;
import License from &quot;@components/misc/License.astro&quot;;
// ... 其他导入
---
&lt;/code&gt;&lt;/pre&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;在文件的 &lt;code&gt;&amp;lt;/div&amp;gt;&lt;/code&gt; 标签下方，添加以下代码来渲染评论区。&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;&amp;lt;/div&amp;gt;

&amp;lt;div class=&quot;card-base p-6 mb-4&quot;&amp;gt;
    &amp;lt;div class=&quot;flex items-center mb-4&quot;&amp;gt;
        &amp;lt;div class=&quot;w-1 h-5 rounded-md bg-[var(--primary)] mr-3&quot;&amp;gt;&amp;lt;/div&amp;gt;
        &amp;lt;h2 class=&quot;text-xl font-bold&quot;&amp;gt;评论区&amp;lt;/h2&amp;gt;
    &amp;lt;/div&amp;gt;
    &amp;lt;Twikoo path={`/posts/${entry.slug}`} /&amp;gt;
&amp;lt;/div&amp;gt;

&amp;lt;div class=&quot;flex flex-col md:flex-row justify-between mb-4 gap-4 overflow-hidden w-full&quot;&amp;gt;
&lt;/code&gt;&lt;/pre&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;h3&gt;5. 添加评论区样式&lt;/h3&gt;
&lt;p&gt;访问 &lt;a href=&quot;https://gist.github.com/HyperCherry/9cec4cbd6b41d5c29942e9ec485a5e2c&quot;&gt;这个 Gist&lt;/a&gt; 下载 &lt;code&gt;twikoo.css&lt;/code&gt; 文件，并将其放入 &lt;code&gt;src/styles&lt;/code&gt; 文件夹下，以美化评论区样式。&lt;/p&gt;
&lt;hr /&gt;
&lt;h1&gt;五、 运行与构建&lt;/h1&gt;
&lt;p&gt;万事俱备，现在可以运行和构建您的博客了。&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;命令&lt;/th&gt;
&lt;th&gt;作用&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;pnpm dev&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;启动本地开发服务器，通过 &lt;code&gt;http://localhost:4321&lt;/code&gt; 访问。&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;pnpm build&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;构建您的网站，生成的文件位于 &lt;code&gt;./dist/&lt;/code&gt; 目录。&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;pnpm preview&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;在本地预览构建好的网站。&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;pnpm check&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;运行 Astro 错误检查&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;pnpm format&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;使用 Biome 格式化代码&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;pnpm lint&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;检查并修复代码问题&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;pnpm new-post &amp;lt;文件名&amp;gt;&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;快速创建一篇新文章。&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;pnpm astro ...&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;执行其他 Astro 命令，如 &lt;code&gt;astro check&lt;/code&gt;。&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;hr /&gt;
&lt;h1&gt;附录：高级用法参考&lt;/h1&gt;
&lt;p&gt;为了保持本篇教程的简洁性，所有高级 Markdown 用法、代码块增强功能等内容都已迁移至一篇独立的速查表。&lt;/p&gt;
&lt;p&gt;:::tip[推荐阅读]
如果您希望撰写出格式更精美的文章，请参阅：
&lt;strong&gt;&lt;a href=&quot;../fuwari-cheatsheet/&quot;&gt;Fuwari 主题 Markdown 速查表与高级用法&lt;/a&gt;&lt;/strong&gt;
:::&lt;/p&gt;
</content:encoded><author>璨梦踏月</author></item></channel></rss>