<?xml version="1.0" encoding="UTF-8"?><rss version="2.0" xmlns:content="http://purl.org/rss/1.0/modules/content/"><channel><title>EterIll Blog</title><description>No description</description><link>https://eterill.xyz/</link><language>zh_CN</language><item><title>关于我</title><link>https://eterill.xyz/posts/pin/</link><guid isPermaLink="true">https://eterill.xyz/posts/pin/</guid><description>我是谁？怎么联系我？如何和我扩列？和我一起玩？我的联系方式表</description><pubDate>Sat, 24 May 2025 00:00:00 GMT</pubDate><content:encoded>&lt;h1&gt;关于我&lt;/h1&gt;
&lt;p&gt;&lt;a href=&quot;https://eterill.xyz/&quot;&gt;eterill.xyz&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://91vip.pics/&quot;&gt;91vip.pics&lt;/a&gt;&lt;/p&gt;
&lt;h3&gt;点击左侧侧栏可以查看个人介绍&lt;/h3&gt;
&lt;p&gt;（手机端在网页底部）&lt;/p&gt;
&lt;h2&gt;联系方式 | Contact Me&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;QQ: 1668270511&lt;/li&gt;
&lt;li&gt;Wechat: eterillwastaken&lt;/li&gt;
&lt;li&gt;email: &lt;a href=&quot;mailto:eterill@hotmail.com&quot;&gt;eterill@hotmail.com&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;github: &lt;a href=&quot;https://github.com/EternalIllusion&quot;&gt;EternalIllusion&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;twitter: &lt;a href=&quot;https://x.com/EterIllusion&quot;&gt;𝕏@EterIllusion&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;bilibili: &lt;a href=&quot;https://space.bilibili.com/493559409&quot;&gt;BlockCraft&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Minecraft: &lt;a href=&quot;https://mcprofile.io/&quot;&gt;EterIll(JAVA)&lt;/a&gt; | &lt;a href=&quot;https://mcprofile.io/&quot;&gt;EterIllusion(Bedrock)&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
</content:encoded></item><item><title>Puzzle Hunt服务器免费送</title><link>https://eterill.xyz/posts/puzzlehunt4free/</link><guid isPermaLink="true">https://eterill.xyz/posts/puzzlehunt4free/</guid><description>免费赠送用于举办Puzzle Hunt的服务器，规则、时间与限制详见正文。</description><pubDate>Sat, 16 May 2026 00:00:00 GMT</pubDate><content:encoded>&lt;p&gt;&lt;em&gt;你的意思是免费服务器、免费运维、还有人帮忙分担站内信是吗……&lt;/em&gt;&lt;br /&gt;
&lt;em&gt;对……所以求你不要再问我能不能再炒俩菜了……&lt;/em&gt;&lt;/p&gt;
&lt;h2&gt;活动概述&lt;/h2&gt;
&lt;p&gt;本次活动面向有意举办Puzzle Hunt的社区、团队或个人，免费提供一台服务器用于搭建赛事平台。本人收到的所有&lt;a href=&quot;/donate/&quot;&gt;&lt;strong&gt;赞助&lt;/strong&gt;&lt;/a&gt;将会用于此活动。活动&lt;strong&gt;长期有效&lt;/strong&gt;&lt;/p&gt;
&lt;h2&gt;使用规则&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;仅限用于Puzzle Hunt相关网站、仅限CCXC平台。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;活动中收到的神人站内信由本人回复。&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;赠送内容&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;最多一台香港地区服务器，配置：4C8G；带宽配置25M CN2GIA&lt;/li&gt;
&lt;li&gt;如果活动时间合适，可升级为16C16G+55M CN2GIA&lt;/li&gt;
&lt;li&gt;不包含CDN网络，但随本人心情赠送。&lt;/li&gt;
&lt;li&gt;无限个二级域名&lt;/li&gt;
&lt;li&gt;存档服务&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;时间与限制&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;服务器赠送周期为14天+开发时间，活动举办时间应在申请时注明。&lt;/li&gt;
&lt;li&gt;每次活动仅申请一台服务器，优先支持首次举办和影响力较大的项目。&lt;/li&gt;
&lt;li&gt;若有特殊需求，可在申请时说明，视资源情况酌情安排。&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;申请资格&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;活动主办方需为团队或个人负责的，&lt;strong&gt;确定档期&lt;/strong&gt;的Puzzle Hunt项目。&lt;/li&gt;
&lt;li&gt;需说明举办日期、使用场景和技术需求。&lt;/li&gt;
&lt;li&gt;不能用于违反法律法规、传播不良内容或商业盈利性质的活动。&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;申请流程&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;私信本人QQ(详见本站主页置顶)提交申请（ 需备注 &lt;strong&gt;【服务器】&lt;/strong&gt; ）。&lt;/li&gt;
&lt;li&gt;提供活动介绍、赛制安排、技术需求和时间规划。&lt;/li&gt;
&lt;li&gt;审核通过后将本人拉入出题组群开始对接。&lt;/li&gt;
&lt;/ol&gt;
&lt;h2&gt;注意事项&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;申请不限地区，但需确保内容符合服务器所在地区的法律法规。&lt;/li&gt;
&lt;li&gt;请提前至少两个月提交申请，以便安排配置和测试。&lt;/li&gt;
&lt;li&gt;服务器免费提供技术支持，但是&lt;strong&gt;要求不能太过分&lt;/strong&gt;，比如不能叫我给你炒俩菜。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;欢迎有需要的Puzzle Hunt主办方积极申请。&lt;/p&gt;
</content:encoded></item><item><title>ccxc进阶教程</title><link>https://eterill.xyz/posts/ccxcpro/</link><guid isPermaLink="true">https://eterill.xyz/posts/ccxcpro/</guid><description>有关CCXC-Engine个性化开发、二次开发之类的心得与总结。希望能帮到你</description><pubDate>Mon, 13 Apr 2026 00:00:00 GMT</pubDate><content:encoded>&lt;p&gt;CCXC是个非常好的PuzzleHunt后台引擎，这篇文章会教学如何从搭建完成到举办hunt，当然您也可以查看：&lt;a href=&quot;https://engine.ccbcarchive.com/guide/deployment.html&quot;&gt;官方部署文档&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;如果您还没开始部署，请参阅：&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;::post{slug=&quot;ccxcdev&quot;}&lt;/p&gt;
&lt;p&gt;::post{slug=&quot;puzzlehunt4free&quot;}&lt;/p&gt;
&lt;p&gt;:::warning[劝退提醒！]
前排提醒，ccxc的设计非常精妙，对于普通hunt需要定制很多的内容，如果你要办hunt但是精力不足建议使用&lt;a href=&quot;https://github.com/PKUPC/pnku-website&quot;&gt;P&amp;amp;KU Website&lt;/a&gt;.同时我有空的话也可以找我&lt;strong&gt;免费&lt;/strong&gt;帮忙（仅限非期末周，期末周太忙了心有余而力不足TAT）&lt;br /&gt;
&lt;strong&gt;注：如果时间紧迫，（根据本人体验主观排名）部署容易度&amp;amp;速度 公众号&amp;gt;P&amp;amp;KU Website&amp;gt;CCXC；&lt;/strong&gt;&lt;br /&gt;
相对的，体验效果上CCXC会更好。
:::&lt;/p&gt;
&lt;h2&gt;维护脚本分享&lt;/h2&gt;
&lt;p&gt;::github{repo=&quot;EternalIllusion/CCXC-Engine.sh&quot;}&lt;/p&gt;
&lt;h2&gt;基础知识&lt;/h2&gt;
&lt;p&gt;首先，和P&amp;amp;KU Website不同，ccxc的前端是基于Vue3的，如果你只是想出一些静态的题目，完全不需要学习Vue3，你只需要学会Markdown和HTML的任意一种（推荐优先学习HTML）；但是如果你想出一些不错的交互题型，Vue是你绕不开的一部分，这也就意味着你需要学习Vue3。&lt;/p&gt;
&lt;p&gt;如果你只是想出静态题，那么接下来的教程对你来说用处不大，你只需要看得懂puzzle前端对于题目美术素材的配置，这就足够了。&lt;/p&gt;
&lt;h2&gt;后端脚本&lt;/h2&gt;
&lt;blockquote&gt;
&lt;p&gt;CCXC 后端脚本系统提供了一套强大且灵活的 API 接口，让开发者能够构建复杂的交互式题目和自定义判题逻辑。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;后端脚本分为两种类型，一种是判题函数，可以用来实现自定义判题结果，另一种是题目后端，用于实现题目内容的动态交互。如果有大量的内容需要交互，这套接口的性能是不足的，请参考（尚未编写）后端插件开发章节。&lt;/p&gt;
&lt;p&gt;如下是一个非常简单的后端脚本示例，它不接收参数，只判断当前服务器时间是否达到指定时间，然后返回True或者False。通过（下文会提到）Vue SFC API，我们便可以通过&lt;code&gt;let isOK = await backend(&quot;check-time&quot;,{})&lt;/code&gt;获取到服务器时间是否达到2025-12-31 23:59:59。&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;// key: check-time
// @ts-check
// ========== 服务端 main 函数 ==========
function main() {
    const targetDateTime = new Date(2025, 11, 31, 23, 59, 59);
    const now = new Date();
    return (now &amp;gt; targetDateTime);
}

//=======以下是JSON解析与调用脚本，一般不需要修改========
/**
 * @param {Ctx} ctx 全局上下文对象
 */
function _jsonProcessHelper(ctx) {
    let request = JSON.parse(ctx.request);
    request = request;
    let resBody = main();
    let resString = JSON.stringify(resBody);
    ctx.response(resString);
}
_jsonProcessHelper(ctx);

&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;一般来说，我们只需要修改main函数，让它返回一些别的object，来实现我们自己的功能。当然，服务端是C#写的，所以js跑在Jurassic环境里面，有一些函数是运行不了的。好消息是一般来说用js能实现的判定它都能实现。这一部分在&lt;a href=&quot;https://engine.ccbcarchive.com/reference/backend-script.html&quot;&gt;官方文档&lt;/a&gt;里已经写的相当详细了，这里就只提一些官方文档没有说明的API。&lt;strong&gt;这些API仅存在于题目后端脚本环境中。&lt;/strong&gt;&lt;/p&gt;
&lt;h4&gt;httpPostForm&lt;/h4&gt;
&lt;p&gt;直接调用HttpRequest.PostForm进行表单POST，适用于需要外部查询但是有CORS限制&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;ctx.httpPostForm(string url, Object form, Object headers)
&lt;/code&gt;&lt;/pre&gt;
&lt;h4&gt;hasPuzzleFinished&lt;/h4&gt;
&lt;p&gt;检查一个题目对于当前队伍是否已被通过，参数是题目id，需要在后台题目管理查看。返回布尔值。&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;ctx.hasPuzzleFinished(int pid)
&lt;/code&gt;&lt;/pre&gt;
&lt;h4&gt;getCheckCount&lt;/h4&gt;
&lt;p&gt;获取队伍的作答情况，参数是题目id，需要在后台题目管理查看。返回字典。&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;ctx.hasPuzzleFinished(int pid)
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;返回值：&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;{
    &quot;count&quot;:0, // 各题目的答案提交次数
    &quot;additionalCount&quot;:0 // 已购买的额外题目回答次数
}
&lt;/code&gt;&lt;/pre&gt;
&lt;h4&gt;ctx.saveData&lt;/h4&gt;
&lt;p&gt;直接取得原始存档数据。&lt;/p&gt;
&lt;h2&gt;VUE SFC API&lt;/h2&gt;
&lt;blockquote&gt;
&lt;p&gt;通过 Vue 依赖注入 (inject) 提供的渲染器核心功能。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;这个功能就是给Vue题目使用的调用接口了。你可以通过编辑puzzle前端&lt;code&gt;/src/components/puzzleVue/puzzleVuePlugin.ts&lt;/code&gt;来添加更多的功能。&lt;a href=&quot;https://engine.ccbcarchive.com/reference/vue-sfc.html&quot;&gt;官方文档&lt;/a&gt;已经解释的很清楚了，快去看看吧。（看不懂的话建议先学习Vue入门）&lt;/p&gt;
&lt;hr /&gt;
&lt;p&gt;&lt;em&gt;(未完待续)&lt;/em&gt;&lt;/p&gt;
</content:encoded></item><item><title>Puzzlers&apos; Day 2025上海场游记</title><link>https://eterill.xyz/posts/pd25/</link><guid isPermaLink="true">https://eterill.xyz/posts/pd25/</guid><description>EterIll&amp;CeI2NK7的Puzzlers&apos; Day 2025上海场游记！我们俩玩的真的很开心！</description><pubDate>Sun, 28 Dec 2025 00:00:00 GMT</pubDate><content:encoded>&lt;p&gt;:::warning[小贴士]&lt;/p&gt;
&lt;p&gt;由于腾讯文档的导出做的太烂了，所以如果您想看原文请访问：&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://docs.qq.com/aio/DUWhDU3FJeHFXWHJ2&quot;&gt;腾讯文档【EterIll&amp;amp;CeI2NK7的Puzzlers&apos; Day 2025上海场游记】&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;:::&lt;/p&gt;
&lt;h1&gt;预热活动 ·🎄🎁 | 🦌❓ | 🦉✍&lt;/h1&gt;
&lt;h2&gt;倒计时3天！圣诞礼物谜！&lt;/h2&gt;
&lt;p&gt;随着神秘的宣言出现，预热活动在平安夜正式出现，&lt;/p&gt;
&lt;p&gt;尽管此时相当一部分群友还没有完全参与，但气氛已经炒起来了&lt;/p&gt;
&lt;p&gt;:::caution[琵琶警告！]
此折叠块包含直接的琵琶（剧透）内容！
:::
&amp;lt;details&amp;gt;
&amp;lt;summary&amp;gt;题目！&amp;lt;/summary&amp;gt;&lt;/p&gt;
&lt;p&gt;总之就是礼物会一点点拆开，然后需要猜礼物里面是什么&lt;/p&gt;
&lt;p&gt;&amp;lt;style&amp;gt;
.imgdiv{
display: flex; flex-direction:column;flex: 1; text-align: center; justify-content: center;
position:relative;
img{
width: 100%; height: 100%; object-fit: contain; max-height: 16rem;
}
p{
position:absolute;
top: calc(100% - 2rem);
margin-top: 0;
width:100%;
justify-content: center;
color: #999;
}
}
&amp;lt;/style&amp;gt;&lt;/p&gt;
&lt;p&gt;&amp;lt;div style=&quot;display: flex; gap: 20px;&quot;&amp;gt;
&amp;lt;div class=&quot;imgdiv&quot;&amp;gt;
&amp;lt;img src=&quot;/assets/posts/pd25_db40599ab5e64be2309ec86094997fa8.webp&quot;&amp;gt;
&amp;lt;p&amp;gt;没拆的时候&amp;lt;/p&amp;gt;
&amp;lt;/div&amp;gt;
&amp;lt;div class=&quot;imgdiv&quot;&amp;gt;
&amp;lt;img src=&quot;/assets/posts/pd25_33d909d0c5851e753a3d4093fa9ed717.webp&quot;&amp;gt;
&amp;lt;p&amp;gt;例题~ 答案是“例”字&amp;lt;/p&amp;gt;
&amp;lt;/div&amp;gt;
&amp;lt;/div&amp;gt;&lt;/p&gt;
&lt;p&gt;一开始一切正常，然后出现了一个成语……然后是&amp;amp;符号……&lt;/p&gt;
&lt;p&gt;&amp;lt;div style=&quot;display: flex; gap: 20px;&quot;&amp;gt;
&amp;lt;div class=&quot;imgdiv&quot;&amp;gt;
&amp;lt;img src=&quot;/assets/posts/pd25_3c46cf8526381c2f189c4c917eb46b9d.webp&quot;&amp;gt;
&amp;lt;p&amp;gt;魑魅魍魉&amp;lt;/p&amp;gt;
&amp;lt;/div&amp;gt;
&amp;lt;div class=&quot;imgdiv&quot;&amp;gt;
&amp;lt;img src=&quot;/assets/posts/pd25_b5cbac584b1de9345dad2f2de8a71583.webp&quot;&amp;gt;
&amp;lt;p&amp;gt;&amp;amp;&amp;lt;/p&amp;gt;
&amp;lt;/div&amp;gt;
&amp;lt;/div&amp;gt;&lt;/p&gt;
&lt;p&gt;&amp;lt;div class=&quot;imgdiv&quot;&amp;gt;&amp;lt;img src=&quot;/assets/posts/pd25_285229625cdcef895071df7a8aceb2f3.webp&quot;&amp;gt;
&amp;lt;p&amp;gt;校园网害死我了&amp;lt;/p&amp;gt;&amp;lt;/div&amp;gt;&lt;/p&gt;
&lt;p&gt;&amp;lt;div style=&quot;display: flex; gap: 20px;&quot;&amp;gt;
&amp;lt;div class=&quot;imgdiv&quot;&amp;gt;
&amp;lt;img src=&quot;/assets/posts/pd25_b1e3a01827e0a682c157c4f2bf1b2fbd.webp&quot;&amp;gt;
&amp;lt;/div&amp;gt;
&amp;lt;div class=&quot;imgdiv&quot;&amp;gt;
&amp;lt;img src=&quot;/assets/posts/pd25_7da0ac8f23b9abc87e1e0adc88373099.webp&quot;&amp;gt;
&amp;lt;p&amp;gt;奇怪的诗词&amp;lt;/p&amp;gt;
&amp;lt;/div&amp;gt;
&amp;lt;div class=&quot;imgdiv&quot;&amp;gt;
&amp;lt;img src=&quot;/assets/posts/pd25_fefea24febb39975a1c451427f2e637b.webp&quot;&amp;gt;
&amp;lt;p&amp;gt;deepseek老师客串&amp;lt;/p&amp;gt;
&amp;lt;/div&amp;gt;
&amp;lt;div class=&quot;imgdiv&quot;&amp;gt;
&amp;lt;img src=&quot;/assets/posts/pd25_dc5f6fcfb17d8bdc690fac663ef4c32b.webp&quot;&amp;gt;
&amp;lt;/div&amp;gt;
&amp;lt;/div&amp;gt;&lt;/p&gt;
&lt;p&gt;&amp;lt;div style=&quot;display: flex; gap: 20px;&quot;&amp;gt;
&amp;lt;div class=&quot;imgdiv&quot;&amp;gt;
&amp;lt;img src=&quot;/assets/posts/pd25_0f3edacb4da76fd622feba6686e1f3a2.webp&quot;&amp;gt;
&amp;lt;/div&amp;gt;
&amp;lt;div class=&quot;imgdiv&quot;&amp;gt;
&amp;lt;img src=&quot;/assets/posts/pd25_dd35c774ca4fa02712b5ae91b8166acc.webp&quot;&amp;gt;
&amp;lt;p&amp;gt;变颜色！&amp;lt;/p&amp;gt;
&amp;lt;/div&amp;gt;
&amp;lt;div class=&quot;imgdiv&quot;&amp;gt;
&amp;lt;img src=&quot;/assets/posts/pd25_90c78f20e929f957ef7546b1ed6cf270.webp&quot;&amp;gt;
&amp;lt;p&amp;gt;以及神秘外国文学作品&amp;lt;/p&amp;gt;
&amp;lt;/div&amp;gt;
&amp;lt;div class=&quot;imgdiv&quot;&amp;gt;
&amp;lt;img src=&quot;/assets/posts/pd25_98148952e917692fe38bbc4d0fcad627.webp&quot;&amp;gt;
&amp;lt;/div&amp;gt;
&amp;lt;/div&amp;gt;&lt;/p&gt;
&lt;p&gt;&amp;lt;div style=&quot;display: flex; gap: 20px;&quot;&amp;gt;
&amp;lt;div class=&quot;imgdiv&quot;&amp;gt;
&amp;lt;img src=&quot;/assets/posts/pd25_E0CB82BDC01DB9A20F0A22F012093226.png&quot;&amp;gt;
&amp;lt;/div&amp;gt;
&amp;lt;div class=&quot;imgdiv&quot;&amp;gt;
&amp;lt;img src=&quot;/assets/posts/pd25_b1672f0cb0097b2f2f66485c0bc5a03a.webp&quot;&amp;gt;
&amp;lt;p&amp;gt;口圭还有抽象艺术&amp;lt;/p&amp;gt;
&amp;lt;/div&amp;gt;
&amp;lt;div class=&quot;imgdiv&quot;&amp;gt;
&amp;lt;img src=&quot;/assets/posts/pd25_31ebca5c1d421c98a380b74c3ede8e4a.webp&quot;&amp;gt;
&amp;lt;/div&amp;gt;
&amp;lt;/div&amp;gt;&lt;/p&gt;
&lt;p&gt;&amp;lt;div style=&quot;display: flex; gap: 20px;&quot;&amp;gt;
&amp;lt;div class=&quot;imgdiv&quot;&amp;gt;
&amp;lt;img src=&quot;/assets/posts/pd25_f1123e4babcaa45f3cce10773a6b9379.webp&quot;&amp;gt;
&amp;lt;/div&amp;gt;
&amp;lt;div class=&quot;imgdiv&quot;&amp;gt;
&amp;lt;img src=&quot;/assets/posts/pd25_3b29e4a4347b3644dcb906f786ee15f7.webp&quot;&amp;gt;
&amp;lt;p&amp;gt;洛图说是&amp;lt;/p&amp;gt;
&amp;lt;/div&amp;gt;
&amp;lt;div class=&quot;imgdiv&quot;&amp;gt;
&amp;lt;img src=&quot;/assets/posts/pd25_2f54cd5f23114a0ade6a469788d27f66.webp&quot;&amp;gt;
&amp;lt;/div&amp;gt;
&amp;lt;/div&amp;gt;&lt;/p&gt;
&lt;p&gt;&amp;lt;div style=&quot;display: flex; gap: 20px;&quot;&amp;gt;
&amp;lt;div class=&quot;imgdiv&quot;&amp;gt;
&amp;lt;img src=&quot;/assets/posts/pd25_c99316d6fa773889bd5fafa18be8d3d1.webp&quot;&amp;gt;
&amp;lt;/div&amp;gt;
&amp;lt;div class=&quot;imgdiv&quot;&amp;gt;
&amp;lt;img src=&quot;/assets/posts/pd25_b5e5b3d5cc136201fc31901d40472651.webp&quot;&amp;gt;
&amp;lt;p&amp;gt;神秘水管工男子&amp;lt;/p&amp;gt;
&amp;lt;/div&amp;gt;
&amp;lt;div class=&quot;imgdiv&quot;&amp;gt;
&amp;lt;img src=&quot;/assets/posts/pd25_6355928dab75698bb877107c26067212.webp&quot;&amp;gt;
&amp;lt;/div&amp;gt;
&amp;lt;/div&amp;gt;&lt;/p&gt;
&lt;p&gt;&amp;lt;div style=&quot;display: flex; gap: 20px;&quot;&amp;gt;
&amp;lt;div class=&quot;imgdiv&quot;&amp;gt;
&amp;lt;img src=&quot;/assets/posts/pd25_0e5583310aea9ebec3c4abc8aa1df2a1.webp&quot;&amp;gt;
&amp;lt;/div&amp;gt;
&amp;lt;div class=&quot;imgdiv&quot;&amp;gt;
&amp;lt;img src=&quot;/assets/posts/pd25_b070804989aaf7b2b710710c7d58fc6a.webp&quot;&amp;gt;
&amp;lt;p&amp;gt;四个马（&amp;lt;/p&amp;gt;
&amp;lt;/div&amp;gt;
&amp;lt;div class=&quot;imgdiv&quot;&amp;gt;
&amp;lt;img src=&quot;/assets/posts/pd25_0c0675a609058c98af8245290b8585df.webp&quot;&amp;gt;
&amp;lt;/div&amp;gt;
&amp;lt;/div&amp;gt;&lt;/p&gt;
&lt;p&gt;&amp;lt;div class=&quot;imgdiv&quot;&amp;gt;&amp;lt;img src=&quot;/assets/posts/pd25_8f985c10cb591dde71e7ff16f98ef73b.webp&quot;&amp;gt;
&amp;lt;p&amp;gt;续标识&amp;lt;/p&amp;gt;&amp;lt;/div&amp;gt;&lt;/p&gt;
&lt;p&gt;&amp;lt;/details&amp;gt;&lt;/p&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;/p&gt;
&lt;ul&gt;
&lt;li&gt;Daviscartes 2&lt;/li&gt;
&lt;li&gt;Ex_sky 2&lt;/li&gt;
&lt;li&gt;Benpigchu 2&lt;/li&gt;
&lt;li&gt;CeI₂NK₇ 1&lt;/li&gt;
&lt;li&gt;berylliumcopper 1&lt;/li&gt;
&lt;li&gt;ITZNiGHTRΛVElΞЯ 1&lt;/li&gt;
&lt;li&gt;DriKe 1&lt;/li&gt;
&lt;li&gt;DTK 1&lt;/li&gt;
&lt;li&gt;Double Rainbow 1&lt;/li&gt;
&lt;li&gt;肉脯本脯一斤一万五 1
&amp;lt;/details&amp;gt;
&amp;lt;details&amp;gt;
&amp;lt;summary&amp;gt;冠军拿到的琵琶内容！&amp;lt;/summary&amp;gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;img src=&quot;/assets/posts/pd25_80a6e457fded976740d494cc39874b2a&quot; alt=&quot;居然是名牌卡面！&quot; /&gt;
&amp;lt;/details&amp;gt;&lt;/p&gt;
&lt;p&gt;:::tip[EterIll]
虽然一分没有但是很快乐就是了&lt;/p&gt;
&lt;p&gt;:::
:::note[CeI2NK7]&lt;/p&gt;
&lt;p&gt;靠速度在其他群友还没反应过来预热活动开始的时候抢下了1分，这之后毫无进展……&lt;/p&gt;
&lt;p&gt;群友还是太强了
:::&lt;/p&gt;
&lt;h2&gt;倒计时2天！迷鹿谜！&lt;/h2&gt;
&lt;p&gt;&amp;lt;details&amp;gt;
&amp;lt;summary&amp;gt;（这里有一些Fun Stuff）&amp;lt;/summary&amp;gt;&lt;/p&gt;
&lt;p&gt;&amp;lt;span style=&quot;display:inline-flex;flex-direction:row;&quot;&amp;gt;&amp;lt;img src=&quot;/assets/posts/pd25_20856D0E338CBD02A01CFAC4582DA78D.gif&quot; alt=&quot;图标&quot; style=&quot;height: 1.2em; vertical-align: middle; margin: 0 2px;&quot;&amp;gt;这倒是提醒我了……&amp;lt;/span&amp;gt;
&amp;lt;div style=&quot;display: flex; gap: 20px;&quot;&amp;gt;
&amp;lt;div class=&quot;imgdiv&quot;&amp;gt;
&amp;lt;img src=&quot;/assets/posts/pd25_0753390cf2f49012e07bef94c8f9f438.webp&quot;&amp;gt;
&amp;lt;/div&amp;gt;
&amp;lt;div class=&quot;imgdiv&quot;&amp;gt;
&amp;lt;img src=&quot;/assets/posts/pd25_4bc3664dac99870b4b2dfe2f8748da2d.webp&quot;&amp;gt;
&amp;lt;/div&amp;gt;
&amp;lt;/div&amp;gt;
&amp;lt;div class=&quot;imgdiv&quot;&amp;gt;
&amp;lt;img src=&quot;/assets/posts/pd25_38cc71bc801ff945e7dec3f20ec2cb9b.webp&quot;&amp;gt;
&amp;lt;/div&amp;gt;&lt;/p&gt;
&lt;p&gt;&amp;lt;div class=&quot;imgdiv&quot;&amp;gt;&amp;lt;img src=&quot;/assets/posts/pd25_254565108d66bd031c51265661ea645f.webp&quot;&amp;gt;
&amp;lt;p&amp;gt;这倒是提醒我了&amp;lt;/p&amp;gt;&amp;lt;/div&amp;gt;
&amp;lt;div class=&quot;imgdiv&quot;&amp;gt;&amp;lt;img src=&quot;/assets/posts/pd25_a05062a4d42198025d65a253247e8611.webp&quot;&amp;gt;
&amp;lt;p&amp;gt;倒计时5分钟！
这不是我们国服英雄Luguanluguanlulushijiandaole嘛&amp;lt;/p&amp;gt;&amp;lt;/div&amp;gt;&lt;/p&gt;
&lt;p&gt;&amp;lt;/details&amp;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;&amp;lt;details&amp;gt;
&amp;lt;summary&amp;gt;题目！&amp;lt;/summary&amp;gt;&lt;/p&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;/p&gt;
&lt;p&gt;指在前进的过程中失去了方向：迷路
&amp;lt;/details&amp;gt;&lt;/p&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;/p&gt;
&lt;p&gt;一种蔷薇科植物的果实：枇杷
&amp;lt;/details&amp;gt;&lt;/p&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;/p&gt;
&lt;p&gt;个人或团体需要承担的责任：义务
&amp;lt;/details&amp;gt;&lt;/p&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;/p&gt;
&lt;p&gt;在泡澡时的尤里卡：浮力
&amp;lt;/details&amp;gt;&lt;/p&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;/p&gt;
&lt;p&gt;培根说的名言开头：知识
&amp;lt;/details&amp;gt;&lt;/p&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;/p&gt;
&lt;p&gt;出自一篇韩非子的关于武器商卖的寓言：矛盾
&amp;lt;/details&amp;gt;&lt;/p&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;/p&gt;
&lt;p&gt;财富在短期内剧增常伴随不可控风险和不稳定根基：暴富&lt;/p&gt;
&lt;p&gt;因受到伤害而针对性反击含敌意与执念的负面行为：报复
&amp;lt;/details&amp;gt;&lt;/p&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;/p&gt;
&lt;p&gt;评判快递的一项标准：密封
&amp;lt;/details&amp;gt;&lt;/p&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;常与辛勤关联的昆虫：bee&lt;/p&gt;
&lt;p&gt;字母表中正数第二个：B
&amp;lt;/details&amp;gt;&lt;/p&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;一种像蜜糖的滋味的味道或比喻使人感到舒服：sweet&lt;/p&gt;
&lt;p&gt;酒店或住宅中的成套房间或一种器乐套曲体裁：suite
&amp;lt;/details&amp;gt;&lt;/p&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;/p&gt;
&lt;p&gt;用言语详细表达情感或经历：诉述
&amp;lt;/details&amp;gt;&lt;/p&gt;
&lt;p&gt;&amp;lt;details&amp;gt;
&amp;lt;summary&amp;gt;1E3H5O7O.Y&amp;lt;/summary&amp;gt;&lt;/p&gt;
&lt;p&gt;technology：技术&lt;/p&gt;
&lt;p&gt;1234567...：计数
&amp;lt;/details&amp;gt;&lt;/p&gt;
&lt;p&gt;&amp;lt;details&amp;gt;
&amp;lt;summary&amp;gt;{X|X∈0}&amp;lt;/summary&amp;gt;&lt;/p&gt;
&lt;p&gt;{X|X∈C}：复数&lt;/p&gt;
&lt;p&gt;{X|X&amp;lt;0}:负数
&amp;lt;/details&amp;gt;
&amp;lt;/details&amp;gt;&lt;/p&gt;
&lt;p&gt;&amp;lt;details&amp;gt;
&amp;lt;summary&amp;gt;最终比分！&amp;lt;/summary&amp;gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;haveAknifeday 1&lt;/li&gt;
&lt;li&gt;berylliumcopper 1&lt;/li&gt;
&lt;li&gt;Daviscartes 5&lt;/li&gt;
&lt;li&gt;开心超仁 9&lt;/li&gt;
&lt;li&gt;肉脯本脯一斤一万五 4&lt;/li&gt;
&lt;li&gt;EterIll 3&lt;/li&gt;
&lt;li&gt;小汤圆 1&lt;/li&gt;
&lt;li&gt;Benpigchu@ 2&lt;/li&gt;
&lt;li&gt;ifuture 1&lt;/li&gt;
&lt;li&gt;𝘿𝙮𝙎𝙠𝙮𝙇𝙖𝙣. 1&lt;/li&gt;
&lt;li&gt;StarVeil 6&lt;/li&gt;
&lt;li&gt;星 2&lt;/li&gt;
&lt;li&gt;DriKe 1&lt;/li&gt;
&lt;li&gt;上弦之月 1&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&amp;lt;/details&amp;gt;&lt;/p&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;感谢Anwokizer老师的总结！&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;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;第八题（题面同七，引入英语字母同音，题目的里解）：bee/b&lt;/p&gt;
&lt;p&gt;第九题（引入英语同音词）：sweet/suite&lt;/p&gt;
&lt;p&gt;第十题（并非英语，引入数字）：素数/诉述&lt;/p&gt;
&lt;p&gt;第十一题（数字，引入题面英语）：计数/技术&lt;/p&gt;
&lt;p&gt;第十二题（不出英语，引入数学语言）复数/负数
&amp;lt;/details&amp;gt;&lt;/p&gt;
&lt;p&gt;:::tip[EterIll]&lt;/p&gt;
&lt;p&gt;作为偷鸡逃课小王子利用反爆偷了几分（
&lt;img src=&quot;/assets/posts/pd25_ff14b76ee2d3b5ca55c9378182f31e78.webp&quot; alt=&quot;凑！出！爆！&quot; /&gt;
同时也便写了AI prompt来辅助反爆（
:::&lt;/p&gt;
&lt;p&gt;:::note[CeI2NK7]&lt;/p&gt;
&lt;p&gt;成功答出🛷（雪橇）！但是什么叫这一题不给分？&lt;/p&gt;
&lt;p&gt;不过就算加上这一分也不是第一名就是了……&lt;/p&gt;
&lt;p&gt;开心老师太强了&lt;/p&gt;
&lt;p&gt;不难注意到AI在实际分析时的正确率还是可以的，只不过至少是现在的分析速度远远比不上厉害的老师们
:::&lt;/p&gt;
&lt;h2&gt;倒计时1天！神奇魔法猫头鹰！&lt;/h2&gt;
&lt;p&gt;&lt;img src=&quot;/assets/posts/pd25_957d0fa31b4d362183616fb2be7d8bac.webp&quot; alt=&quot;魔法！&quot; /&gt;&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;/assets/posts/pd25_4057ad8bdd8e62d3379971d11bc7d8cc.webp&quot; alt=&quot;ohno妈咪何意味&quot; /&gt;&lt;/p&gt;
&lt;p&gt;魔法好像出了“一”点点问题……题目的部分内容，其英文会增加或删去或更改至多一个字母，然后翻译为中文……&lt;/p&gt;
&lt;p&gt;不过好在有魔法提示，告诉我们具体的数量！&lt;/p&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;&amp;lt;details&amp;gt;
&amp;lt;summary&amp;gt;《冷人沙海》的作者是谁？&amp;lt;/summary&amp;gt;&lt;/p&gt;
&lt;p&gt;海明威【old人and海 → cold人sand海】
&amp;lt;/details&amp;gt;&lt;/p&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;苹果【cook book look hook】
&amp;lt;/details&amp;gt;&lt;/p&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;哈姆雷特【to be or not to be → no he for not two bed】
&amp;lt;/details&amp;gt;&lt;/p&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;9【12345678→on to tree hour fire sex even max-height: nine】
&amp;lt;/details&amp;gt;&lt;/p&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;秀兰【star→start temple→Temple】
&amp;lt;/details&amp;gt;&lt;/p&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;3600【小时和秒的双关】
&amp;lt;/details&amp;gt;&lt;/p&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;威尔·史密斯【move, root → movie i robot】
&amp;lt;/details&amp;gt;&lt;/p&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;Br【元素周期表】
&amp;lt;/details&amp;gt;&lt;/p&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;codon密码子【DNA RNA→DNS RNG】
&amp;lt;/details&amp;gt;&lt;/p&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;none one【可恶的出题人把下面的数字改了：-1→-0】
&amp;lt;/details&amp;gt;&lt;/p&gt;
&lt;p&gt;&amp;lt;div class=&quot;imgdiv&quot;&amp;gt;
&amp;lt;img src=&quot;/assets/posts/pd25_1fb5ee0bcc236510f3a36958f60a5901.webp&quot;&amp;gt;
&amp;lt;p&amp;gt;其实我也是预言家（&amp;lt;/p&amp;gt;
&amp;lt;/div&amp;gt;&lt;/p&gt;
&lt;p&gt;&amp;lt;/details&amp;gt;&lt;/p&gt;
&lt;p&gt;&amp;lt;details&amp;gt;
&amp;lt;summary&amp;gt;最终比分！&amp;lt;/summary&amp;gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;廃棄物 1&lt;/li&gt;
&lt;li&gt;Daviscartes 2&lt;/li&gt;
&lt;li&gt;ITZNiGHTRΛVElΞЯ 1&lt;/li&gt;
&lt;li&gt;AcetylCholine233 1&lt;/li&gt;
&lt;li&gt;开心超仁 1&lt;/li&gt;
&lt;li&gt;CeI₂NK₇ 1&lt;/li&gt;
&lt;li&gt;S.W. 1&lt;/li&gt;
&lt;li&gt;上弦之月 1&lt;/li&gt;
&lt;li&gt;星光 1&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&amp;lt;/details&amp;gt;
&amp;lt;details&amp;gt;
&amp;lt;summary&amp;gt;冠军拿到的琵琶内容！&amp;lt;/summary&amp;gt;&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;/assets/posts/pd25_593e06edca90165d1889b2f8cf3be7bd.webp&quot; alt=&quot;&quot; /&gt;
&amp;lt;/details&amp;gt;&lt;/p&gt;
&lt;p&gt;&amp;lt;div style=&quot;display: flex; gap: 20px;&quot;&amp;gt;
&amp;lt;div class=&quot;imgdiv&quot;&amp;gt;
&amp;lt;img src=&quot;/assets/posts/pd25_af23fa8253813235c6a699722cd245f1.webp&quot;&amp;gt;
&amp;lt;p&amp;gt;D3预热活动的奇妙表情包&amp;lt;/p&amp;gt;
&amp;lt;/div&amp;gt;
&amp;lt;div class=&quot;imgdiv&quot;&amp;gt;
&amp;lt;img src=&quot;/assets/posts/pd25_4e400591d8c7aa6dfa6bc88a9ded3488.webp&quot;&amp;gt;
&amp;lt;p&amp;gt;到底好不好&amp;lt;/p&amp;gt;
&amp;lt;/div&amp;gt;
&amp;lt;/div&amp;gt;
&amp;lt;br /&amp;gt;&lt;/p&gt;
&lt;hr /&gt;
&lt;h1&gt;Puzzlers&apos; Day!&lt;/h1&gt;
&lt;h2&gt;前往赛场！&lt;/h2&gt;
&lt;p&gt;&lt;img src=&quot;/assets/posts/pd25_559B370CFCDCE5A5E05C88FAC7C6192A.gif&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;
&lt;h2&gt;签到+领取无料→落座→视检场贩……&lt;/h2&gt;
&lt;p&gt;&amp;lt;div style=&quot;display: flex; gap: 20px;&quot;&amp;gt;
&amp;lt;div class=&quot;imgdiv&quot;&amp;gt;
&amp;lt;img src=&quot;/assets/posts/pd25_e23603e9e4178d623c71f32caaebfb6d.webp&quot;&amp;gt;
&amp;lt;p&amp;gt;埋下伏笔&amp;lt;/p&amp;gt;
&amp;lt;/div&amp;gt;
&amp;lt;div class=&quot;imgdiv&quot;&amp;gt;
&amp;lt;img src=&quot;/assets/posts/pd25_c3004cca33be40c0c23c83fc36b4851a.webp&quot;&amp;gt;
&amp;lt;p&amp;gt;倒地要干嘛&amp;lt;/p&amp;gt;
&amp;lt;/div&amp;gt;
&amp;lt;/div&amp;gt;&lt;/p&gt;
&lt;p&gt;&amp;lt;div class=&quot;imgdiv&quot;&amp;gt;
&amp;lt;img src=&quot;/assets/posts/pd25_430830aeda285d25ad2030bee51c54c9.webp&quot;&amp;gt;
&amp;lt;p&amp;gt;小坏蛋~&amp;lt;/p&amp;gt;
&amp;lt;/div&amp;gt;&lt;/p&gt;
&lt;p&gt;:::tip[EterIll]&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;p&gt;:::note[CeI2NK7]&lt;/p&gt;
&lt;p&gt;谁知道这里竟然会藏东西呢……&lt;/p&gt;
&lt;p&gt;不对，应该说藏东西才是惯例吧&lt;/p&gt;
&lt;p&gt;:::&lt;/p&gt;
&lt;h2&gt;这也是题？&lt;/h2&gt;
&lt;p&gt;:::note[CeI2NK7]&lt;/p&gt;
&lt;p&gt;在staff（因为人脸和名字对不上私密马赛~）老师告知领取名牌，最终完成组装之后……&lt;/p&gt;
&lt;p&gt;显然，大家都发现了有藏题&lt;/p&gt;
&lt;p&gt;在一众老师的合力下，很快地得到了几个小题的答案&lt;/p&gt;
&lt;p&gt;卡在第4小题的同时发现了staff的名牌背后也可能藏题，于是很快地获得了第6小题的答案&lt;/p&gt;
&lt;p&gt;再在这之后，卡在了meta——与此同时第一个项目正式开始&lt;/p&gt;
&lt;p&gt;:::&lt;/p&gt;
&lt;p&gt;:::tip[EterIll]&lt;/p&gt;
&lt;p&gt;本来已经开始打表了，然后发在群里被撤回了（
:::&lt;/p&gt;
&lt;h2&gt;跨场谜 · 四人成行&lt;/h2&gt;
&lt;p&gt;&amp;lt;div style=&quot;display: flex; gap: 20px;&quot;&amp;gt;
&amp;lt;div class=&quot;imgdiv&quot;&amp;gt;
&amp;lt;img src=&quot;/assets/posts/pd25_dbb524b4c2fbe04a4530b2b712d1ed1c.webp&quot;&amp;gt;
&amp;lt;/div&amp;gt;
&amp;lt;div class=&quot;imgdiv&quot;&amp;gt;
&amp;lt;img src=&quot;/assets/posts/pd25_5eda1ac01c907cce36cb4af186623ad4.webp&quot;&amp;gt;
&amp;lt;/div&amp;gt;
&amp;lt;div class=&quot;imgdiv&quot;&amp;gt;
&amp;lt;img src=&quot;/assets/posts/pd25_78da277f80998bc6bd1f4a5ccbc40cde.webp&quot;&amp;gt;
&amp;lt;/div&amp;gt;
&amp;lt;/div&amp;gt;
&amp;lt;div style=&quot;display: flex; gap: 20px;&quot;&amp;gt;
&amp;lt;div class=&quot;imgdiv&quot;&amp;gt;
&amp;lt;img src=&quot;/assets/posts/pd25_b266c3596aab40c15560c97d2a927a1f.webp&quot;&amp;gt;
&amp;lt;/div&amp;gt;
&amp;lt;div class=&quot;imgdiv&quot;&amp;gt;
&amp;lt;img src=&quot;/assets/posts/pd25_5cc817b7772dfd1f77f3a794ec66efda.webp&quot;&amp;gt;
&amp;lt;/div&amp;gt;
&amp;lt;/div&amp;gt;
&amp;lt;div style=&quot;display: flex; gap: 20px;&quot;&amp;gt;
&amp;lt;div class=&quot;imgdiv&quot;&amp;gt;
&amp;lt;img src=&quot;/assets/posts/pd25_d8b3b82451269bcae61f981a96e32c8d.webp&quot;&amp;gt;
&amp;lt;/div&amp;gt;
&amp;lt;div class=&quot;imgdiv&quot;&amp;gt;
&amp;lt;img src=&quot;/assets/posts/pd25_f200b602286e47b4a746579cf660bbb0.webp&quot;&amp;gt;
&amp;lt;/div&amp;gt;
&amp;lt;/div&amp;gt;&lt;/p&gt;
&lt;p&gt;&amp;lt;div class=&quot;imgdiv&quot;&amp;gt;
&amp;lt;img src=&quot;/assets/posts/pd25_585080563f5bcaf56a78e150bc53828a.webp&quot;&amp;gt;
&amp;lt;/div&amp;gt;&lt;/p&gt;
&lt;p&gt;:::note[CeI2NK7]&lt;/p&gt;
&lt;p&gt;率先抢过话筒的结果就是被表达能力更好的顶上，还需要进一步锻炼啊……&lt;/p&gt;
&lt;p&gt;于此同时借助EterIll的笔记本打了表，发在了群里，然后被撤回了！&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;h2&gt;场内活动&lt;/h2&gt;
&lt;h3&gt;名牌谜 · 非法电台&lt;/h3&gt;
&lt;p&gt;:::tip[EterIll]&lt;/p&gt;
&lt;p&gt;建立了一个共享表，然后发在群里被撤回了（&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;/assets/posts/pd25_0ef2b1b361dc0e6c68dac03a7d482616.webp&quot; alt=&quot;超级地球还在追&quot; /&gt;&lt;/p&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;EMAIL&lt;/p&gt;
&lt;p&gt;LEVEL&lt;/p&gt;
&lt;p&gt;STUDIO&lt;/p&gt;
&lt;p&gt;RISK&lt;/p&gt;
&lt;p&gt;SEASON&lt;/p&gt;
&lt;p&gt;NULL&lt;/p&gt;
&lt;p&gt;META: MEDIAN
&amp;lt;/details&amp;gt;&lt;/p&gt;
&lt;h3&gt;Break&lt;/h3&gt;
&lt;p&gt;:::tip[EterIll]&lt;/p&gt;
&lt;p&gt;从这里开始其实就已经开始在爆破第二阶段了，还好带了笔记本和鼠标，不过没带键盘还是有劣势在的，薄膜键盘好难用（&lt;/p&gt;
&lt;p&gt;:::&lt;/p&gt;
&lt;p&gt;:::note[CeI2NK7]&lt;/p&gt;
&lt;p&gt;高超的Multitask ability使得一阶段的答案在跨场结束后就已经被交流散播了&lt;/p&gt;
&lt;p&gt;与此同时C老师由于昵称的特殊性直接导致了特别设计的题目，从而让所有人都误以为是“内鬼”或者特殊玩法，进而引发了一系列有关最终活动角色扮演的猜测——当然这些全是错误的。&lt;/p&gt;
&lt;p&gt;然后从staff问得：这个部分应该是本次PD的最后一个项目，我们提前发现了这一点&lt;/p&gt;
&lt;p&gt;不过，按照实际的节奏和时间点开始的话，真的还有人能及时完成吗？（）
:::&lt;/p&gt;
&lt;p&gt;抢答 · 差缺字典！&lt;/p&gt;
&lt;p&gt;:::tip[EterIll]&lt;/p&gt;
&lt;p&gt;通过瞪眼法观察了url和网络请求，不难推断网页名称乱码来自答案数据哈希化，观察发现页面是vue写的，直接喂给AI。&lt;/p&gt;
&lt;p&gt;喂了之后又让AI写了个爆破的代码直接加载字典开爆！用的词库是CET-6，因为电脑里刚好上次打完AA-AA没删掉（&lt;/p&gt;
&lt;p&gt;然后就被黄牌拿下了（&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;/assets/posts/pd25_4CC79CC10D559E13F3F3E4CA7030C52E.png&quot; alt=&quot;imsosorry&quot; /&gt;&lt;/p&gt;
&lt;p&gt;:::&lt;/p&gt;
&lt;p&gt;:::note[CeI2NK7]&lt;/p&gt;
&lt;p&gt;通灵+爆破是一个很神奇的组合，给人以超模COC角色的印象&lt;/p&gt;
&lt;p&gt;而这些在有足够技术的情况下则可以合理地存在&lt;/p&gt;
&lt;p&gt;:::&lt;/p&gt;
&lt;h3&gt;抢答 · 叠谜叠解！&lt;/h3&gt;
&lt;p&gt;:::tip[EterIll]&lt;/p&gt;
&lt;p&gt;一个都没有抢到……不过这时候正在尽力分析第二阶段的题目就是了。&lt;/p&gt;
&lt;p&gt;在BPC老师的帮助下，我在这个阶段前就意识到我的个人谜题的答案了，BPC老师也总结了大部分人名片谜&lt;/p&gt;
&lt;p&gt;第二阶段的答案规律，但是我们讨论后一开始不是很确定（主要是有人题目有些奇怪以及解不出来还有奇怪的提&lt;/p&gt;
&lt;p&gt;取提示,以及onewhite老师的题面看着很奇怪像是meta提取），&lt;/p&gt;
&lt;p&gt;然后到后面经过一些神秘的牛吹小技巧确认了onewhite老师的答案，彻底确认了这一点&lt;/p&gt;
&lt;p&gt;:::&lt;/p&gt;
&lt;p&gt;:::note[CeI2NK7]&lt;/p&gt;
&lt;p&gt;谜叠谜叠~&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;/assets/posts/pd25_cc49460fa200904ae7dd8c85310c5788.webp&quot; alt=&quot;泉此方可爱捏&quot; /&gt;&lt;/p&gt;
&lt;p&gt;与此同时，我们依然在尝试对所有人的答案进行分析&lt;/p&gt;
&lt;p&gt;毫无收获——虽然在现在已经知道答案的情况下很明显，但当时真的穷尽了一切手段啊……&lt;/p&gt;
&lt;p&gt;:::&lt;/p&gt;
&lt;h3&gt;抢答 · 不定项选择！&lt;/h3&gt;
&lt;p&gt;:::note[CeI2NK7]&lt;/p&gt;
&lt;p&gt;爆破工作依然在稳步进行……&lt;/p&gt;
&lt;p&gt;然后没了，精华全在群聊天记录和其它老师的比拼中&lt;/p&gt;
&lt;p&gt;:::&lt;/p&gt;
&lt;h3&gt;名牌谜 · 生死时速&lt;/h3&gt;
&lt;p&gt;&lt;a href=&quot;https://docs.qq.com/sheet/DSVdzY2R3b3F4REti?tab=BB08J2&quot;&gt;上海场个人专属谜题一览&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;:::note[CeI2NK7]&lt;/p&gt;
&lt;p&gt;场内抢答环节结束了之后，staff以“好好认识一下身边的各位”为flavor text 正式开始了名牌谜题&lt;/p&gt;
&lt;p&gt;然而此时我们已经掌握了所有人的二阶段名牌答案了，欸嘿⌒☆&lt;/p&gt;
&lt;p&gt;简单地环绕全场一圈，给在场的其他老师同步二阶段个人答案的情报，就又回到了原本的位置&lt;/p&gt;
&lt;p&gt;只不过现在是一大批人聚集在电脑前，而进度依然卡在二阶段meta&lt;/p&gt;
&lt;p&gt;带着目前为止的所有成果，我们发起了 &lt;s&gt;站内&lt;/s&gt; 线下信&lt;/p&gt;
&lt;p&gt;但是除了“你们目前为止的方向是正确的”之外，再无任何提示……&lt;/p&gt;
&lt;p&gt;直到心地善良的dailycrazy老师再度强调了一遍“好好认识彼此”，众人才终于反应过来去查签到表&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;p&gt;莫名地有一种在上课的感觉……&lt;/p&gt;
&lt;p&gt;&amp;lt;br /&amp;gt;&lt;/p&gt;
&lt;p&gt;难道就要在这里停下了吗？这种事情什么的不要啊！&lt;/p&gt;
&lt;p&gt;这之后，精确减少了怀疑名单之后，由BPC老师首先抢了提取&lt;/p&gt;
&lt;p&gt;正好卡在17:59~18:00的时刻&lt;/p&gt;
&lt;p&gt;与此同时抢过了这部分的解析环节，好耶！&lt;/p&gt;
&lt;p&gt;:::&lt;/p&gt;
&lt;p&gt;:::tip[EterIll]&lt;/p&gt;
&lt;p&gt;好题！精美绝伦的题目！&lt;/p&gt;
&lt;p&gt;直觉告诉我们出题的士大夫绝对有方法把答案收敛到一定的可能性内，但是我们一直没想到怎么做到的，之&lt;/p&gt;
&lt;p&gt;前也怀疑过伪人的存在，但是一直没敢确定……哎&lt;/p&gt;
&lt;p&gt;七编：本来打了很长一段心理描写，还是删掉了，那种与时间竞速的感觉是文字所无法描绘的，时至今日，回顾这段文字我还是心潮澎湃，感谢PD，感谢各位出题老师们！&lt;/p&gt;
&lt;p&gt;:::&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;/assets/posts/pd25_B0228FF677C10B3534FD76640D6D563C.png&quot; alt=&quot;wearethechampion!&quot; /&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;s&gt;我们是，冠军！&lt;/s&gt;&lt;/strong&gt;&lt;/p&gt;
</content:encoded></item><item><title>ccxc部署小白教程（踩坑记录）</title><link>https://eterill.xyz/posts/ccxcdev/</link><guid isPermaLink="true">https://eterill.xyz/posts/ccxcdev/</guid><description>本人在CCXC-Engine部署过程中踩的坑以及部署ccxc引擎的小白向教程</description><pubDate>Wed, 17 Sep 2025 00:00:00 GMT</pubDate><content:encoded>&lt;p&gt;CCXC是个非常好的PuzzleHunt后台引擎，这篇文章会教学如何从0开始部署一个私有化的CCXC引擎，当然您也可以查看：&lt;a href=&quot;https://engine.ccbcarchive.com/guide/deployment.html&quot;&gt;官方部署文档&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;::post{slug=&quot;puzzlehunt4free&quot;}&lt;/p&gt;
&lt;p&gt;:::caution[注意！！！]
2025.10.20 37eabcc更新了一个有关用户多地登录的bug，如未更新建议更新！&lt;br /&gt;
2026.01.29 fdf46bc&lt;a href=&quot;https://github.com/cipherpuzzles/ccxc-backend/pull/1&quot;&gt;递交了一个有关验证码重放的修复，建议更新！（PR链接）&lt;/a&gt;
:::&lt;/p&gt;
&lt;p&gt;:::warning[劝退提醒！]
前排提醒，ccxc的设计非常精妙，对于普通hunt需要定制很多的内容，如果你要办hunt但是精力不足建议使用&lt;a href=&quot;https://github.com/PKUPC/pnku-website&quot;&gt;P&amp;amp;KU Website&lt;/a&gt;.同时我有空的话也可以找我&lt;strong&gt;免费&lt;/strong&gt;帮忙（仅限非期末周，期末周太忙了心有余而力不足TAT）&lt;br /&gt;
&lt;strong&gt;注：如果时间紧迫，（根据本人体验主观排名）部署容易度&amp;amp;速度 公众号&amp;gt;P&amp;amp;KU Website&amp;gt;CCXC；&lt;/strong&gt;&lt;br /&gt;
相对的，体验效果上CCXC会更好。
:::&lt;/p&gt;
&lt;p&gt;:::tip[广告（]
我们正在筹建一个预计于(已跳票很久)的CCBC的fanmade赛事，如果您有兴趣加入出题组或者内测组，亦或者您有美工或者设计方面的才能，欢迎您加入！群号：&lt;a href=&quot;https://qm.qq.com/q/wBLBM1kY9M&quot;&gt;1061359082(点击加群)&lt;/a&gt;
:::&lt;/p&gt;
&lt;h2&gt;硬件准备&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;一台服务器&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;一个域名（自己体验的话也可以没有）&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;:::important[重要提醒]
推荐使用大陆外的 &lt;strong&gt;Ubuntu 24.04 LTS&lt;/strong&gt; 服务器。&lt;br /&gt;
如果没有服务器，使用自己的电脑也可以。使用国内服务器的话，请确保域名已经备案。使用自己的域名的话请务必确保&lt;strong&gt;域名能正确访问到你的服务器&lt;/strong&gt;，并且80和443端口正常开放
:::&lt;/p&gt;
&lt;p&gt;:::caution[必需！]
如果你没有自己的域名，请注意你只能在服务器上访问体验CCXC引擎，如果你想给别人用或者搭建服务器请自备域名！&lt;br /&gt;
即使你拥有域名，你也需要确保你的服务器有公网IP！如果你不知道你的服务器有没有，请你询问服务器供应商！
:::&lt;/p&gt;
&lt;h3&gt;域名配置&lt;/h3&gt;
&lt;p&gt;&lt;strong&gt;如果你没有域名请跳过！&lt;/strong&gt;&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;yourdomain.com          -&amp;gt; 你的服务器 IP
api.yourdomain.com      -&amp;gt; 你的服务器 IP
static.yourdomain.com   -&amp;gt; 你的服务器 IP
admin.yourdomain.com    -&amp;gt; 你的服务器 IP
puzzle.yourdomain.com   -&amp;gt; 你的服务器 IP
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;将以上DNS记录添加到你的域名中，将&lt;code&gt;yourdomain.com&lt;/code&gt;替换为你自己的域名。&lt;a href=&quot;https://toolshu.com/baidu?%E5%9F%9F%E5%90%8D%E6%B7%BB%E5%8A%A0DNS%E8%AE%B0%E5%BD%95&quot;&gt;如何添加DNS记录？&lt;/a&gt;&lt;/p&gt;
&lt;h3&gt;证书申请&lt;/h3&gt;
&lt;p&gt;如果你需要自动化更新证书，推荐安装&lt;code&gt;certbot&lt;/code&gt;。&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;sudo apt update
sudo apt install certbot python3-certbot-nginx
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;申请证书（无cdn情况）&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;# 为所有子域名申请证书，需要把&quot;yourdomain.com&quot;替换为你自己的域名
sudo certbot --nginx -d yourdomain.com -d api.yourdomain.com -d static.yourdomain.com -d admin.yourdomain.com -d puzzle.yourdomain.com
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&amp;lt;details&amp;gt;
&amp;lt;summary&amp;gt;DNS-01方式申请&amp;lt;/summary&amp;gt;&lt;/p&gt;
&lt;p&gt;DNS-01 验证方式相比 HTTP-01 有以下优势：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;✅ &lt;strong&gt;支持泛域名证书&lt;/strong&gt;（*.example.com）&lt;/li&gt;
&lt;li&gt;✅ &lt;strong&gt;无需开放80端口&lt;/strong&gt;，适合内网服务器&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;/ul&gt;
&lt;p&gt;&lt;strong&gt;获取 Cloudflare API Token：&lt;/strong&gt;&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;登录 Cloudflare 控制台&lt;/li&gt;
&lt;li&gt;进入 &lt;strong&gt;My Profile&lt;/strong&gt; → &lt;strong&gt;API Tokens&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;点击 &lt;strong&gt;Create Token&lt;/strong&gt;，选择 &lt;strong&gt;Create Custom Token&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;配置权限：&lt;pre&gt;&lt;code&gt;Zone → DNS → Edit
Zone → Zone → Read
&lt;/code&gt;&lt;/pre&gt;
&lt;/li&gt;
&lt;li&gt;选择需要操作的域名区域&lt;/li&gt;
&lt;li&gt;点击 &lt;strong&gt;Continue to summary&lt;/strong&gt; → &lt;strong&gt;Create Token&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;⚠️ 重要&lt;/strong&gt;：复制并安全保存 Token（只显示一次）&lt;/li&gt;
&lt;/ol&gt;
&lt;pre&gt;&lt;code&gt;# 安装 Certbot 和 Cloudflare 插件
sudo apt install certbot python3-certbot-dns-cloudflare -y
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;创建凭证文件&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;# 创建配置目录
sudo mkdir -p /etc/letsencrypt/cloudflare

# 创建凭证文件
sudo nano /etc/letsencrypt/cloudflare/cloudflare.ini
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;填写凭证内容：&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;# Cloudflare API Token
dns_cloudflare_api_token = YOUR_API_TOKEN_HERE
&lt;/code&gt;&lt;/pre&gt;
&lt;blockquote&gt;
&lt;p&gt;⚠️ &lt;strong&gt;替换 &lt;code&gt;YOUR_API_TOKEN_HERE&lt;/code&gt; 为你之前获取的 API Token&lt;/strong&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;设置文件权限（重要！）&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;# 设置严格的文件权限，防止泄露
sudo chmod 600 /etc/letsencrypt/cloudflare/cloudflare.ini
sudo chown root:root /etc/letsencrypt/cloudflare/cloudflare.ini
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;申请单域名证书&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;sudo certbot certonly \
  --dns-cloudflare \
  --dns-cloudflare-credentials /etc/letsencrypt/cloudflare/cloudflare.ini \
  -d example.com \
  -d www.example.com
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;或者：你可以申请泛域名证书&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;sudo certbot certonly \
  --dns-cloudflare \
  --dns-cloudflare-credentials /etc/letsencrypt/cloudflare/cloudflare.ini \
  -d example.com \
  -d *.example.com
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&amp;lt;/details&amp;gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;自动续期&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Let&apos;s Encrypt 证书有效期为 &lt;strong&gt;90天&lt;/strong&gt;，Certbot 支持自动续期。&lt;/p&gt;
&lt;p&gt;测试自动续期:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;sudo certbot renew --dry-run
&lt;/code&gt;&lt;/pre&gt;
&lt;h2&gt;环境搭建&lt;/h2&gt;
&lt;p&gt;你必须安装并配置以下组件：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;git&lt;/li&gt;
&lt;li&gt;node.js &lt;em&gt;v22.0.0 或更高版本&lt;/em&gt;&lt;/li&gt;
&lt;li&gt;.NET 8.0 &lt;em&gt;运行时或SDK&lt;/em&gt;&lt;/li&gt;
&lt;li&gt;至少一个文本编辑器 &lt;em&gt;例如nano或者vim&lt;/em&gt;&lt;/li&gt;
&lt;li&gt;MariaDB&lt;/li&gt;
&lt;li&gt;Redis&lt;/li&gt;
&lt;li&gt;mkcert&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;你最好安装并配置以下组件：&lt;em&gt;(这些组件是部署服务器才需要的)&lt;/em&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;PM2&lt;/li&gt;
&lt;li&gt;Nginx&lt;/li&gt;
&lt;li&gt;Prometheus&lt;/li&gt;
&lt;li&gt;Prometheus Node Exporter&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;基本环境搭建&lt;/h3&gt;
&lt;blockquote&gt;
&lt;p&gt;[!TIPS]
如果你是Windows用户请自行下载安装以下软件：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://gitforwindows.org/&quot;&gt;Git Bash&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://nodejs.org/en/download/&quot;&gt;Node.js v22.0.0 或更高版本&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://dotnet.microsoft.com/en-us/download/dotnet/8.0&quot;&gt;.NET 8.0 运行时或SDK&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://mariadb.com/downloads/&quot;&gt;MariaDB for Windows&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://developer.aliyun.com/article/1395346&quot;&gt;Redis Windows&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/blockquote&gt;
&lt;pre&gt;&lt;code&gt;sudo apt update &amp;amp;&amp;amp; sudo apt upgrade -y
curl -fsSL https://deb.nodesource.com/setup_22.x | sudo -E bash -
sudo apt install -y nodejs
sudo apt install -y git
wget https://packages.microsoft.com/config/ubuntu/22.04/packages-microsoft-prod.deb -O packages-microsoft-prod.deb
sudo dpkg -i packages-microsoft-prod.deb
rm packages-microsoft-prod.deb
sudo apt update
sudo apt install -y apt-transport-https
sudo apt update
sudo apt install -y dotnet-sdk-8.0
sudo npm install -g pm2
pm2 --version
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;请把上面的代码一行一行黏贴到服务器控制台的终端部分,如果要求输入密码请输入当前账号的密码。输入密码时不会显示任何内容，请你仔细输入。&lt;/p&gt;
&lt;h3&gt;数据库安装与配置&lt;/h3&gt;
&lt;pre&gt;&lt;code&gt;sudo apt install -y mariadb-server
sudo systemctl start mariadb
sudo systemctl enable mariadb
sudo mysql_secure_installation
&lt;/code&gt;&lt;/pre&gt;
&lt;blockquote&gt;
&lt;p&gt;[!WARNING]
这一步有坑！！！&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;运行最后一行之后会跳出这样的文字，【】内是你需要输入的文本，输入完之后记得按回车，windows下也是差不多的，主要是关掉大部分不必要甚至会导致后端运行不起来的安全选项。&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;NOTE: RUNNING ALL PARTS OF THIS SCRIPT IS RECOMMENDED FOR ALL MariaDB
      SERVERS IN PRODUCTION USE!  PLEASE READ EACH STEP CAREFULLY!

In order to log into MariaDB to secure it, we&apos;ll need the current
password for the root user. If you&apos;ve just installed MariaDB, and
haven&apos;t set the root password yet, you should just press enter here.

Enter current password for root (enter for none): 【你的root密码，不知道的话去找服务器厂商客服咨询】
OK, successfully used password, moving on...

Setting the root password or using the unix_socket ensures that nobody
can log into the MariaDB root user without the proper authorisation.

You already have your root account protected, so you can safely answer &apos;n&apos;.

Switch to unix_socket authentication [Y/n] 【n】
 ... skipping.

You already have your root account protected, so you can safely answer &apos;n&apos;.

Change the root password? [Y/n] 【n】
 ... skipping.

By default, a MariaDB installation has an anonymous user, allowing anyone
to log into MariaDB without having to have a user account created for
them.  This is intended only for testing, and to make the installation
go a bit smoother.  You should remove them before moving into a
production environment.

Remove anonymous users? [Y/n] 【n】
 ... skipping.

Normally, root should only be allowed to connect from &apos;localhost&apos;.  This
ensures that someone cannot guess at the root password from the network.

Disallow root login remotely? [Y/n] 【n】
 ... skipping.

By default, MariaDB comes with a database named &apos;test&apos; that anyone can
access.  This is also intended only for testing, and should be removed
before moving into a production environment.

Remove test database and access to it? [Y/n] 【n】
 ... skipping.

Reloading the privilege tables will ensure that all changes made so far
will take effect immediately.

Reload privilege tables now? [Y/n] 【Y】
 ... Success!

Cleaning up...

All done!  If you&apos;ve completed all of the above steps, your MariaDB
installation should now be secure.

Thanks for using MariaDB!
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;接下来就是数据库初始化步骤.&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;mysql -u root -p
&lt;/code&gt;&lt;/pre&gt;
&lt;pre&gt;&lt;code&gt;CREATE DATABASE ccxc_prod CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
CREATE USER &apos;ccxc_user&apos;@&apos;localhost&apos; IDENTIFIED BY &apos;！！这里填一个密码！！&apos;;
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;注意把&lt;code&gt;！！这里填一个密码！！&lt;/code&gt;换成你自己的密码，不要输入中文&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;GRANT ALL PRIVILEGES ON ccxc_prod.* TO &apos;ccxc_user&apos;@&apos;localhost&apos;;
GRANT SELECT ON information_schema.* TO &apos;ccxc_user&apos;@&apos;localhost&apos;;
&lt;/code&gt;&lt;/pre&gt;
&lt;blockquote&gt;
&lt;p&gt;[!WARNING]
这一步有坑！！！输入上面第二行可能会有报错，不用管！&lt;/p&gt;
&lt;/blockquote&gt;
&lt;pre&gt;&lt;code&gt;FLUSH PRIVILEGES;
EXIT;
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;恭喜，你的MariaDB已经配置完毕了！&lt;/p&gt;
&lt;h3&gt;缓存安装与配置&lt;/h3&gt;
&lt;pre&gt;&lt;code&gt;sudo apt install -y redis-server
sudo systemctl start redis-server
sudo systemctl enable redis-server
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;接下来输入&lt;code&gt;redis-cli ping&lt;/code&gt;,如果你看到一个&lt;code&gt;PONG&lt;/code&gt;,就是安装成功了！恭喜！&lt;/p&gt;
&lt;h3&gt;nginx安装与配置&lt;/h3&gt;
&lt;pre&gt;&lt;code&gt;sudo apt install -y nginx
sudo systemctl start nginx
sudo systemctl enable nginx
sudo mkdir -p /var/www/static
sudo mkdir -p /var/www/ccxc/{admin,website,puzzle}
sudo chown -R www-data:www-data /var/www/
&lt;/code&gt;&lt;/pre&gt;
&lt;h2&gt;启动主后端&lt;/h2&gt;
&lt;blockquote&gt;
&lt;p&gt;[!WARNING]
虽然直接使用官方仓库没什么问题，但是还是建议自己clone一个，方便自己修改。clone之后你只需要在你的电脑上安装git就能几行命令更新服务端，非常方便！记得修改git链接哦！以及git账号相关配置在此处不赘述，请自行搜索。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;pre&gt;&lt;code&gt;sudo mkdir -p /opt/ccxc-backend
cd /opt/ccxc-backend

sudo git clone https://github.com/cipherpuzzles/ccxc-backend.git src
cd src
&lt;/code&gt;&lt;/pre&gt;
&lt;blockquote&gt;
&lt;p&gt;[!WARNING]
这一步有坑！！！如果你是自定义域名，你需要编辑&lt;code&gt;/opt/ccxc-backend/src/ccxc-backend/Config/SystemConfig.cs&lt;/code&gt;并替换如下网址&lt;code&gt;public string ProjectFrontendPrefix { get; set; } = &quot;https://www.ccxc.ikp.yt:13880&quot;;&lt;/code&gt;为你的域名，不然到后面管理面板无法拉起登录！
如果你已经忘了，后面还可以补救！&lt;/p&gt;
&lt;/blockquote&gt;
&lt;blockquote&gt;
&lt;p&gt;[!WARNING]
这一步有坑！！！如果你是自定义域名，你需要编辑&lt;code&gt;/opt/ccxc-backend/src/ccxc-backend/Controllers/Users/SsoController.cs&lt;/code&gt;并替换第41行if条件：&lt;code&gt;host.EndsWith(&quot;cipherpuzzles.com&quot;, StringComparison.OrdinalIgnoreCase)&lt;/code&gt;中的网址为你的域名，不然到后面管理面板登录返回400无法登录！&lt;/p&gt;
&lt;/blockquote&gt;
&lt;pre&gt;&lt;code&gt;sudo dotnet publish --configuration Release --runtime linux-x64 --self-contained false --output /opt/ccxc-backend/app

sudo chown -R www-data:www-data /opt/ccxc-backend
sudo chmod +x /opt/ccxc-backend/app/ccxc-backend
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;编辑&lt;code&gt;/opt/ccxc-backend/Config/ccxc.config.toml&lt;/code&gt;（如果不存在的话就是&lt;code&gt;/opt/ccxc-backend/app/Config/ccxc.config.toml&lt;/code&gt;）:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;[Config/CcxcConfig]
HttpPort = &quot;52412&quot;
RedisConnStr = &quot;127.0.0.1:6379&quot;
DbConnStr = &quot;Server=localhost;User=ccxc_user;Database=ccxc_prod;Port=3306;Password=！！这里填之前数据库那个密码！！;Charset=utf8mb4;ConvertZeroDateTime=True&quot;
DebugMode = &quot;False&quot;
ImageStorage = &quot;/var/www/static/images/&quot;
ImagePrefix = &quot;https://static.yourdomain.com/images/&quot;
PassHashKey1 = &quot;！！这里填一个20字符长度的脸滚键盘字符串！！&quot;
PassHashKey2 = &quot;！！这里填一个20字符长度的脸滚键盘字符串！！&quot;
AESMasterKey = &quot;！！这里填一个32字符长度的脸滚键盘字符串！！&quot;
# 下面那个邮件验证的选项关闭后注册的时候不会发送邮件，但是关掉之后就没法重置密码了(新更新的功能)
EnableEmailVerify = &quot;True&quot;
AliyunDmAccessKey = &quot;！！这里填阿里云AccessKey！！&quot;
AliyunDmAccessSecret = &quot;！！这里填阿里云AccessSecret！！&quot;
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&lt;a href=&quot;https://www.lddgo.net/string/randompassword&quot;&gt;脸滚键盘字符生成器&lt;/a&gt;排除字符填&lt;code&gt;&quot;\&lt;/code&gt;,设置好长度直接复制进来替换就行&lt;/p&gt;
&lt;p&gt;有关邮件验证验证配置项的详细信息，请往下翻到系统初始化环节。&lt;/p&gt;
&lt;p&gt;阿里云邮件推送要求你拥有一个域名，所以如果你没有的话可以不填，后面会教怎么绕邮件激活。&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;[!WARNING]
这一步有坑！！！你需要编辑&lt;code&gt;/opt/ccxc-backend/app/ccxc.service&lt;/code&gt;:&lt;/p&gt;
&lt;/blockquote&gt;
&lt;pre&gt;&lt;code&gt;[Unit]
Description=Ccxc Backend

[Service]
ExecStart=/opt/ccxc-backend/app/ccxc-backend
Restart=always
Environment=PATH=/usr/bin:/usr/local/bin:/usr/local/node/bin
WorkingDirectory=/opt/ccxc-backend/

[Install]
WantedBy=multi-user.target
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;接下来你需要执行以下命令：&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;sudo cp /opt/ccxc-backend/app/ccxc.service /etc/systemd/system/

sudo systemctl daemon-reload
sudo systemctl enable ccxc
sudo systemctl start ccxc

# 检查服务状态
sudo systemctl status ccxc
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;如果出现类似这样的就是成功了：&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;● ccxc.service - Ccxc Backend
     Loaded: loaded (/etc/systemd/system/ccxc.service; enabled; vendor preset: enabled)
     Active: active (running) since Wed 2025-09-01 08:00:00 UTC; 114h ago
   Main PID: 114514 (ccxc-backend)
      Tasks: 69 (limit: 1145)
     Memory: 114.5M
        CPU: 1min 15.514s
     CGroup: /system.slice/ccxc.service
             └─114514 /opt/ccxc-backend/app/ccxc-backend
&lt;/code&gt;&lt;/pre&gt;
&lt;blockquote&gt;
&lt;p&gt;[!WARNING]
这一步有坑！！！如果没运行起来，那么大概率是数据库连不上 &lt;em&gt;(报错看起来是这样的)&lt;/em&gt; ：&lt;/p&gt;
&lt;/blockquote&gt;
&lt;pre&gt;&lt;code&gt;[1   ] 2025-09-04 19:58:31 ,096 INFO - 正在初始化数据库。 
Unhanded exception . Sqlsugar . Sq 1 sugarException :中文提示:连接数据库过程中发生错误,检查服务器是否正常：ccxc_user &apos;@&apos; localhost &apos; to database &apos; mysql&apos; DbType =&quot; MySql&quot;; ConfigId =&quot;&quot;; Access denied for user &apos;ccxc_user&apos;@&apos;localhost&apos; English Message : Connection open error Access denied for user to database &apos; my at sqlsugar . check . Exception ( Boo 1 ean isException , String message , String [] args ) 
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;这时候你要重新编辑&lt;code&gt;/opt/ccxc-backend/Config/ccxc.config.toml&lt;/code&gt;，把数据库连接字符串换成root用户和root密码。&lt;/p&gt;
&lt;p&gt;如果你用root用户在控制台输入&lt;code&gt;mysql -u ccxc_user -p&lt;/code&gt;然后输入密码进不去数据库操作界面大概率是你密码复制错了。&lt;/p&gt;
&lt;p&gt;如果你用root用户在控制台输入&lt;code&gt;mysql -u root -p&lt;/code&gt;然后输入数据库root密码进不去数据库操作界面大概率是数据库安装过程配置错了。&lt;/p&gt;
&lt;p&gt;如果你用root用户在控制台输入&lt;code&gt;mysql -u root&lt;/code&gt;进不去数据库操作界面大概率是要重装数据库了。不过目前来说还是直接重装系统最方便（）&lt;/p&gt;
&lt;p&gt;排查顺序： ccxc_user登录 &amp;gt; root登录 &amp;gt; mariadb配置 &amp;gt; 重装数据库&lt;/p&gt;
&lt;h2&gt;同步服务器、前端部署&lt;/h2&gt;
&lt;p&gt;这几步只需要跟着官方文档来就行！非常简单！&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://engine.ccbcarchive.com/guide/deployment.html&quot;&gt;官方部署文档&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;系统初始化&lt;/h2&gt;
&lt;p&gt;:::caution[踩坑警告！]
这里坑很多，请务必仔细阅读！
:::&lt;/p&gt;
&lt;p&gt;首先，你需要注册主站，注册完需要你验证邮件，但是你没有阿里云AccessKey或者显示邮件发送错误，这时候你就需要数据库激活。&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;[!WARNING]
这一步有坑！！！阿里云AccessKey填写正确之后发不出邮件，后端显示&lt;code&gt;Aliyun.Acs.Core.Exceptions.ClientException: InvalidMailAddress.NotFound : The specified mailAddress does not exist.&lt;/code&gt;请注意需要使用&lt;strong&gt;新加坡站点&lt;/strong&gt;的发件邮箱! 在DM控制台左上角下拉框改成新加坡重新配置发件域名和发件地址！&lt;/p&gt;
&lt;/blockquote&gt;
&lt;blockquote&gt;
&lt;p&gt;[!WARNING]
这一步有坑！！！如果你前面没有在源码修改前端面板地址，就需要前往数据库手动修改！否则管理面板会无法登录！&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;UPDATE system_options SET value = &apos;&amp;lt;website前端的地址，不要带最后的斜杠！&amp;gt;&apos; WHERE `key` = &apos;ProjectFrontendPrefix&apos;;
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&lt;strong&gt;修改后，需要重启backend！！！&lt;/strong&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;&amp;lt;details&amp;gt;
&amp;lt;summary&amp;gt;对于2025.10.1 bbfd901前的版本&amp;lt;/summary&amp;gt;&lt;/p&gt;
&lt;h3&gt;绕邮件激活/初始化管理&lt;/h3&gt;
&lt;blockquote&gt;
&lt;p&gt;[!WARNING]
这一步有坑！！！两个操作是一样的！无论你有没有激活邮箱都得这么干&lt;/p&gt;
&lt;/blockquote&gt;
&lt;pre&gt;&lt;code&gt;mysql -u root -p
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;然后会出来一个输入框，输入数据库root密码。&lt;/p&gt;
&lt;p&gt;接下来：&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;use ccxc_prod
SELECT * from user;
UPDATE user SET roleid = 5 WHERE email = &apos;&amp;lt;你注册使用的邮箱&amp;gt;&apos;;
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;完整操作示例如下：&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;Welcome to the MariaDB monitor.  Commands end with ; or \g.
Your MariaDB connection id is 70
Server version: 10.6.22-MariaDB-0ubuntu0.22.04.1 Ubuntu 22.04

Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.

Type &apos;help;&apos; or &apos;\h&apos; for help. Type &apos;\c&apos; to clear the current input statement.

MariaDB [(none)]&amp;gt; use ccxc_prod
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A

Database changed
MariaDB [ccxc_prod]&amp;gt; SELECT * from user;
+-----+--------------+------------------------------+--------------------------+-------+------------------------------+--------+----------------------------+----------------------------+-----------------------------------------------------------+------------------------------------------------------------------+-------------+--------+------------+
| uid | username     | email                        | hashkey                  | phone | password                     | roleid | update_time                | create_time                | profile                                                   | info_key                                                         | theme_color | gender | third_pron |
+-----+--------------+------------------------------+--------------------------+-------+------------------------------+--------+----------------------------+----------------------------+-----------------------------------------------------------+------------------------------------------------------------------+-------------+--------+------------+
|   1 | etetill      | eterill@hotmail.com          | **************************** | NULL  | **************************** |      0 | 2025-09-17 08:46:00.441015 | 2025-09-12 14:51:14.093171 | 人有五名，代价有三，存之有四，共饮无期                    | ******************************************************** | #0fe6d8     |      0 | NULL       |
+-----+--------------+------------------------------+--------------------------+-------+------------------------------+--------+----------------------------+----------------------------+-----------------------------------------------------------+------------------------------------------------------------------+-------------+--------+------------+
6 rows in set (0.001 sec)

MariaDB [ccxc_prod]&amp;gt; UPDATE user SET roleid = 5 WHERE email = &apos;eterill@hotmail.com&apos;;
Query OK, 1 rows affected (0.002 sec)
Rows matched: 1  Changed: 1  Warnings: 0

MariaDB [ccxc_prod]&amp;gt; COMMIT;
Query OK, 0 rows affected (0.000 sec)

MariaDB [ccxc_prod]&amp;gt; SELECT * from user;
+-----+--------------+------------------------------+--------------------------+-------+------------------------------+--------+----------------------------+----------------------------+-----------------------------------------------------------+------------------------------------------------------------------+-------------+--------+------------+
| uid | username     | email                        | hashkey                  | phone | password                     | roleid | update_time                | create_time                | profile                                                   | info_key                                                         | theme_color | gender | third_pron |
+-----+--------------+------------------------------+--------------------------+-------+------------------------------+--------+----------------------------+----------------------------+-----------------------------------------------------------+------------------------------------------------------------------+-------------+--------+------------+
|   1 | etetill      | eterill@hotmail.com          | **************************** | NULL  | **************************** |      5 | 2025-09-17 08:46:00.441015 | 2025-09-12 14:51:14.093171 | 人有五名，代价有三，存之有四，共饮无期                    | ******************************************************** | #0fe6d8     |      0 | NULL       |
+-----+--------------+------------------------------+--------------------------+-------+------------------------------+--------+----------------------------+----------------------------+-----------------------------------------------------------+------------------------------------------------------------------+-------------+--------+------------+
6 rows in set (0.001 sec)

MariaDB [ccxc_prod]&amp;gt; EXIT;
Bye

&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;现在回到主站登录，发现已经是管理员了，接下来按照官方文档说明进入后台修改其他字段就行了。 &lt;strong&gt;如果提示sso错误或者其他报错就退出登录之后重新登录一次！&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&amp;lt;/details&amp;gt;&lt;/p&gt;
&lt;h3&gt;初始化管理&lt;/h3&gt;
&lt;p&gt;这一部分适用于&lt;strong&gt;2025.10.1 bbfd901&lt;/strong&gt;之后版本的ccxc-backend。如果你的后端是很早之前clone的那建议用上面折叠快里的方法或者更新仓库。&lt;/p&gt;
&lt;p&gt;如果上面的步骤你都做对了，那么你可以先注册个账号，然后输入&lt;code&gt;/opt/ccxc-backend/app/ccxc-backend initadmin&lt;/code&gt;,接着输入对应的uid即可 &lt;strong&gt;（一般是1）&lt;/strong&gt; 。不过即使这样你也逃不过修改后端的命运TAT&lt;/p&gt;
&lt;h4&gt;关于邮件激活的配置项&lt;/h4&gt;
&lt;p&gt;注意：如果关闭了邮件验证，重置密码会被禁用，就会无法重置密码。所以在你第一次注册的时候可以关闭，但是后续建议还是开回来。&lt;/p&gt;
&lt;p&gt;无论怎么样绑定邮件是无可避免的，如果你要办hunt建议还是搞一个AccessKey吧。&lt;/p&gt;
&lt;h2&gt;防火墙配置&lt;/h2&gt;
&lt;p&gt;防火墙是极为重要的一环，不装防火墙你的服务器不出几天就得出事&lt;/p&gt;
&lt;p&gt;大多数Ubuntu系统已预装UFW。若未安装，可通过以下命令安装：&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;sudo apt update
sudo apt install ufw
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;UFW默认允许所有出站流量并拒绝所有入站流量。为实现完全的“默认拒绝”，需显式设置入站和出站策略：&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;#允许SSH（端口22）入站：
sudo ufw allow 22
#你需要注意自己ssh连接时用的哪个端口，一定要确认好！要不然你的服务器就只能想办法物理登录了！！！

#允许HTTP（端口80）入站：
sudo ufw allow 80
#允许HTTPS（端口443）入站：
sudo ufw allow 443

#对敏感端口加强防护：
sudo ufw deny 6379
sudo ufw deny 3306
sudo ufw deny 9090

#默认阻止入站
sudo ufw default deny incoming
sudo ufw default deny outgoing
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;启用UFW防火墙：(请你确保之前配置正确！这是最后一次反悔机会！如果你不小心关了ssh端口就只能物理连接了！)&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;sudo ufw enable

#确认防火墙状态
sudo ufw status
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;正确配置的示例如下：&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;root@ppbjsxb# ufw status
Status: active

To                         Action      From
--                         ------      ----
22                         ALLOW       Anywhere
6379                       DENY        Anywhere
3306                       DENY        Anywhere
80                         ALLOW       Anywhere
443                        ALLOW       Anywhere
9090                       DENY        Anywhere
22 (v6)                    ALLOW       Anywhere (v6)
6379 (v6)                  DENY        Anywhere (v6)
3306 (v6)                  DENY        Anywhere (v6)
80 (v6)                    ALLOW       Anywhere (v6)
443 (v6)                   ALLOW       Anywhere (v6)
9090 (v6)                  DENY        Anywhere (v6)
&lt;/code&gt;&lt;/pre&gt;
&lt;h3&gt;👍💯👏恭喜！你已经完成了基本部署！&lt;/h3&gt;
&lt;h2&gt;辅助服务部署&lt;/h2&gt;
&lt;h3&gt;系统监测&lt;/h3&gt;
&lt;blockquote&gt;
&lt;p&gt;[!WARNING]
这一步有坑！！！windows没有被官方支持，所以不建议安装&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;上文提到推荐安装Prometheus，就是为系统监测服务的。&lt;/p&gt;
&lt;p&gt;你需要前往&lt;a href=&quot;https://prometheus.io/download/&quot;&gt;下载页面&lt;/a&gt;，然后下载Prometheus和node_exporter的对应版本。你是linux(Ubuntu也算linux)就选linux，mac就选darwin。右键复制下载链接，一共有两个。&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;cd /opt
wget -c https://github.com/prometheus/prometheus/releases/download/v3.5.0/prometheus-3.5.0.linux-amd64.tar.gz
wget -c https://github.com/prometheus/node_exporter/releases/download/v1.9.1/node_exporter-1.9.1.linux-amd64.tar.gz
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;把链接替换为你自己的，实在不会弄直接复制我给出来的也可。&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;tar -xzvf prometheus-3.5.0.linux-amd64.tar.gz
tar -xzvf node_exporter-1.9.1.linux-amd64.tar.gz
mv ./prometheus-3.5.0.linux-amd64 /opt/prometheus
mv ./node_exporter-1.9.1.linux-amd64 /opt/node_exporter
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;编辑Prometheus的配置&lt;code&gt;/opt/prometheus/prometheus.yml&lt;/code&gt;：&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;global:
  scrape_interval: 15s
  scrape_timeout: 10s
  scrape_protocols:
  - OpenMetricsText1.0.0
  - OpenMetricsText0.0.1
  - PrometheusText1.0.0
  - PrometheusText0.0.4
  evaluation_interval: 15s
runtime:
  gogc: 75
alerting:
  alertmanagers:
  - follow_redirects: true
    enable_http2: true
    scheme: http
    timeout: 10s
    api_version: v2
    static_configs:
    - targets: []
scrape_configs:
- job_name: prometheus
  static_configs:
  - targets:
    - localhost:9090
    labels:
      app: prometheus
- job_name: node_exporter
  static_configs:
  - targets:
    - localhost:9100
    labels:
      app: node_exporter
otlp:
  translation_strategy: UnderscoreEscapingWithSuffixes
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;你可以通过调整&lt;code&gt;scrape_interval&lt;/code&gt;来修改采样间隔。保守一点可以是10s-15s，极端一点1800s都是可以的。值越小间隔越短，相对的，空间占用也会更高。&lt;/p&gt;
&lt;p&gt;完成之后，你需要把这两个程序添加到系统服务（当然不是必须）&lt;/p&gt;
&lt;p&gt;编辑&lt;code&gt;prometheus.service&lt;/code&gt;:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;[Unit]
Description=Prometheus
After=network.target

[Service]
Type=simple
User=root
ExecStart=/opt/prometheus/prometheus --web.listen-address=:9090 --config.file=/opt/prometheus/prometheus.yml
Restart=always

[Install]
WantedBy=multi-user.target
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;编辑&lt;code&gt;node_exporter.service&lt;/code&gt;:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;[Unit]
Description=Prometheus Node Exporter
After=network.target

[Service]
Type=simple
User=root
ExecStart=/opt/node_exporter/node_exporter
Restart=always

[Install]
WantedBy=multi-user.target
&lt;/code&gt;&lt;/pre&gt;
&lt;pre&gt;&lt;code&gt;sudo cp /opt/prometheus.service /etc/systemd/system/
sudo cp /opt/node_exporter.service /etc/systemd/system/

sudo systemctl daemon-reload
sudo systemctl start prometheus
sudo systemctl enable prometheus
sudo systemctl start node_exporter
sudo systemctl enable node_exporter
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;再次编辑后端的配置文件&lt;code&gt;/opt/ccxc-backend/app/Config/ccxc.config.toml&lt;/code&gt;:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;# 填写 Prometheus API地址用于展示性能监控。不填时为不启用。请确保Prometheus已正确安装。例子：http://localhost:9090
PrometheusApi = &quot;http://localhost:9090&quot;
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;然后手动重启后端：&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;sudo systemctl restart ccxc
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;登录管理后台，发现资源监控已经成功显示了。&lt;/p&gt;
&lt;h3&gt;👍💯👏恭喜！你已经完成了除了题目以外的全部组件的部署！&lt;/h3&gt;
&lt;h2&gt;其他细节！&lt;/h2&gt;
&lt;h3&gt;前后端更新&lt;/h3&gt;
&lt;h4&gt;前端更新&lt;/h4&gt;
&lt;p&gt;管理后台&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;cd /tmp/ccxc-builds/admin
git pull
npm install
npm run build
sudo cp -r dist/* /var/www/ccxc/admin/
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;网站前端&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;cd /tmp/ccxc-builds/website
git pull
npm install
npm run build
sudo cp -r dist/* /var/www/ccxc/website/
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;谜题前端&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;cd /tmp/ccxc-builds/puzzle
git pull
npm install
npm run build
sudo cp -r dist/* /var/www/ccxc/puzzle/
&lt;/code&gt;&lt;/pre&gt;
&lt;h4&gt;后端更新&lt;/h4&gt;
&lt;pre&gt;&lt;code&gt;cd /opt/ccxc-backend/src
sudo systemctl stop ccxc
sudo git pull
sudo dotnet publish --configuration Release --runtime linux-x64 --self-contained false --output /opt/ccxc-backend/app
sudo systemctl restart ccxc
&lt;/code&gt;&lt;/pre&gt;
&lt;blockquote&gt;
&lt;p&gt;如你所见，git pull之后会导致配置文件被覆盖，现在你知道为啥我推荐自己clone仓库了吧（&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;CCXC前端部分功能没有改干净，后面如果有空我会完善这一部分，不过我可能没那么有空，你也可以加我qq来问我（&lt;/p&gt;
&lt;h2&gt;鸣谢&lt;/h2&gt;
&lt;p&gt;感谢&lt;a href=&quot;https://github.com/zyzsdy&quot;&gt;Ted Zyzsdy&lt;/a&gt;大佬的帮助。&lt;/p&gt;
&lt;h2&gt;我还是不会，怎么办！！！&lt;/h2&gt;
&lt;p&gt;加我QQ1668270511，备注：CCXC &lt;em&gt;（不备注不通过）&lt;/em&gt;&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;[!TIP]
我们正在筹建一个预计于(已跳票很久)的CCBC的fanmade赛事，如果您有兴趣加入出题组或者内测组，亦或者您有美工或者设计方面的才能，欢迎您加入！群号：&lt;a href=&quot;https://qm.qq.com/q/wBLBM1kY9M&quot;&gt;1061359082(点击加群)&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;
</content:encoded></item><item><title>HPMS服务器入坑指南</title><link>https://eterill.xyz/posts/hpms/</link><guid isPermaLink="true">https://eterill.xyz/posts/hpms/</guid><description>HPMS社群是什么？HPMS服务器入坑\生存、探索与交友的新手向指南</description><pubDate>Fri, 15 Aug 2025 00:00:00 GMT</pubDate><content:encoded>&lt;h1&gt;HPMS服务器是什么？&lt;/h1&gt;
&lt;blockquote&gt;
&lt;p&gt;HPMS，一个多元、具有探索精神且追求知识共享的 Minecraft 生存社区。玩家们结成部落，从远古洞穴到现代文明，遍布世界。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;&lt;img src=&quot;https://vip.123pan.cn/1813814650/yk6baz03t0m000d7w33gaqx0fx6xb317DIYPDwYPAdQyDcxPDIUxDO==.gif&quot; alt=&quot;HPMS!!!&quot; /&gt;&lt;/p&gt;
&lt;p&gt;HPMS是一个目前处于&lt;code&gt;1.20.6&lt;/code&gt;的Minecraft SMP(多人生存)服务器,腐竹是&lt;code&gt;MildBunny&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;服务器的官网和连接的IP均为&lt;code&gt;hpms.cc&lt;/code&gt;.&lt;/p&gt;
&lt;h1&gt;如何游玩服务器？&lt;/h1&gt;
&lt;p&gt;HPMS是一个正版Minecraft服务器。欲加入HPMS服务器，您需要购入一个正版Minecraft账号。通常在电商平台上40-80元即可购入。&lt;/p&gt;
&lt;p&gt;然后，您需要下载&lt;code&gt;1.8.10&lt;/code&gt;-&lt;code&gt;1.21.4&lt;/code&gt;之间您喜爱的版本的Minecraft Java Edition游戏本体。这里推荐使用&lt;code&gt;1.21.4&lt;/code&gt;版本。如果您是生电玩家，我推荐使用&lt;a href=&quot;https://modrinth.com/modpack/xplus-2.0-modpack-global&quot;&gt;XPlus PerioTable Modpack (Fabric)&lt;/a&gt;的&lt;code&gt;1.21.4&lt;/code&gt;版本来获取更佳的游戏体验。&lt;/p&gt;
&lt;h2&gt;服务器禁红石吗？有其他游玩限制吗？&lt;/h2&gt;
&lt;p&gt;服务器不会对红石进行限制，但是受限于服务器性能，请您在建造大型高速机器（例如72k手挖收集类机器、效率超过100k的机器）时务必三思。同时，由于使用Paper服务端，服务器无法使用RNG计算。其他的限制相当少，您可以在服务器中自由探寻玩法的上限。&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;[!WARNING]
在服务器中“熊”是非常危险的行为。恶意破坏其他玩家的心血可能会遭到永久封禁。所以请不要这么做。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h2&gt;【部落】与【商店】&lt;/h2&gt;
&lt;blockquote&gt;
&lt;p&gt;部落是 HPMS 玩家的主要聚集方式之一，所有部落均由 HPMS 玩家们自主设计并发起创建。任何 HPMS 玩家均可建造属于自己的部落。待部落发展后，部落酋长可以通过申请获得 Warp 传送点、启动激励等升级。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;游戏中存在部落这一概念。玩家可以在部落中建造和发挥想象。目前游戏中存在如下大型部落：&lt;code&gt;共联世界United Worlds(-38411,-68300)&lt;/code&gt;、&lt;code&gt;牧野原Naida(-38481,-67469)&lt;/code&gt;。大部分玩家在此处聚集，您也可以在这些部落中留下属于您的印记。&lt;/p&gt;
&lt;p&gt;您可以在出生点点击头上写有对应名字的生物来传送，或使用&lt;code&gt;/warp&lt;/code&gt;命令进行传送。（详见后文）&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;商店是 HPMS 玩家的主要易物方式之一，所有商店均由 HPMS 玩家们自主创建。任何 HPMS 玩家均可创建属于自己的商店。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;像素币是服内交易体系中使用的货币。&lt;/p&gt;
&lt;p&gt;如下是一个商店告示牌的示例：&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;  EterIll
     10
 B 999:800 S
   Beacon
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;您可以右键消耗999像素币向EterIll购买10个信标，或者左键向EterIll售出10个信标换取800像素币。&lt;/p&gt;
&lt;p&gt;您可以通过箱子与告示牌的组合来创建商店。以下为详细步骤。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;步骤 1: 放置一个箱子&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;步骤 2: 在距离箱子 1 个方块的地方放置一个标志（例如，在箱子上方）&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;步骤 3: 在标牌上按如下格式书写内容:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;第一行留空。&lt;/p&gt;
&lt;p&gt;第二行是要购买或出售的物品数量&lt;/p&gt;
&lt;p&gt;第三行是买入价和卖出价的组合。B表示玩家向你购买物品时的价格，S表示玩家向你售卖物品时的价格，价格用冒号分隔，例如: “B 10:5 S”，“B 5”, “S 10”&lt;/p&gt;
&lt;p&gt;第四行将保存物品的ID/名称。在标志上写上 “?”, 商店将自动识别箱子中的物品, 或者你可以稍后使用物品单击牌子来设置物品ID。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;实用指令&lt;/h2&gt;
&lt;p&gt;传送至位置: &lt;code&gt;/warp &amp;lt;地点&amp;gt;&lt;/code&gt;&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Warp传送列表:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;sol&lt;/code&gt;: 自由村民雕像&lt;/li&gt;
&lt;li&gt;&lt;code&gt;uw&lt;/code&gt;: 部落 - 共联世界 (United World)&lt;/li&gt;
&lt;li&gt;&lt;code&gt;naida&lt;/code&gt;: 部落 - 牧野源 (Naida)&lt;/li&gt;
&lt;li&gt;&lt;code&gt;skytier&lt;/code&gt;: Skytier&lt;/li&gt;
&lt;li&gt;&lt;code&gt;spawn&lt;/code&gt;: 出生点 (与 &lt;code&gt;/spawn&lt;/code&gt; 作用相同)&lt;/li&gt;
&lt;/ul&gt;
&lt;/blockquote&gt;
&lt;p&gt;查看所有可用的传送位置: &lt;code&gt;/warp&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;设置家: &lt;code&gt;/sethome &amp;lt;家的名字 (自定义)&amp;gt;&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;删除家: &lt;code&gt;/delhome &amp;lt;家的名字&amp;gt;&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;回家: &lt;code&gt;/home &amp;lt;家的名字&amp;gt;&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;请求传送至玩家: &lt;code&gt;/tpa &amp;lt;玩家&amp;gt;&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;取消tpa请求: &lt;code&gt;/tpacancel&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;接受tpa请求: &lt;code&gt;/tpaccept [玩家]&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;请求特定玩家传送至你的位置: &lt;code&gt;/tpahere &amp;lt;玩家&amp;gt;&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;开启/关闭自动接受来自其他玩家的 tpa: &lt;code&gt;/tpauto&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;回到出生点: &lt;code&gt;/spawn&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;传送至随机位置: &lt;code&gt;/tpr&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;总在线时间查询: &lt;code&gt;/pt&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;查询服务器规则: &lt;code&gt;/rules&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;查看你的警告(违反服务器规定): &lt;code&gt;/warns&lt;/code&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;查看所有家: &lt;code&gt;/home&lt;/code&gt;、&lt;code&gt;/homes&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;坐: &lt;code&gt;/sit&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;躺: &lt;code&gt;/lay&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;爬: &lt;code&gt;/crawl&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;私信给玩家: &lt;code&gt;/msg &amp;lt;玩家&amp;gt; &amp;lt;消息 (自定义)&amp;gt;&lt;/code&gt;、&lt;code&gt;/tell &amp;lt;玩家&amp;gt; &amp;lt;消息 (自定义)&amp;gt;&lt;/code&gt;、&lt;code&gt;/whisper &amp;lt;玩家&amp;gt; &amp;lt;消息 (自定义)&amp;gt;&lt;/code&gt;、&lt;code&gt;/w &amp;lt;玩家&amp;gt; &amp;lt;消息 (自定义)&amp;gt;&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;余额查询: &lt;code&gt;/bal&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;向其他玩家转账: &lt;code&gt;/pay &amp;lt;玩家&amp;gt; &amp;lt;金额 (自定义)&amp;gt;&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;开启 / 关闭他人在自己商店购买 / 售卖的提示消息: &lt;code&gt;/cstoggle&lt;/code&gt;&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;赞助者指令(有关赞助详见&lt;a href=&quot;https://hpms.cc/zh/manual/&quot;&gt;&lt;code&gt;HPMS玩家手册&lt;/code&gt;&lt;/a&gt;)&lt;/p&gt;
&lt;p&gt;打开 / 关闭飞行: &lt;code&gt;/fly&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;回到上次死亡点: &lt;code&gt;/back&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;旋转: &lt;code&gt;/spin&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;将物品戴在头上: &lt;code&gt;/hat&lt;/code&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h1&gt;服务器的地标有哪些？&lt;/h1&gt;
&lt;p&gt;&lt;img src=&quot;https://vip.123pan.cn/1813814650/ymjew503t0l000d7w32xa8h0fortqk02DIYPDwYPAdQyDcxPDIUxDO==.png&quot; alt=&quot;United Worlds&quot; /&gt;&lt;/p&gt;
&lt;p&gt;共联世界United Worlds&lt;code&gt;(-38411,-68300)&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://vip.123pan.cn/1813814650/yk6baz03t0m000d7w33gaszu7v8ef5owDIYPDwYPAdQyDcxPDIUxDO==.png&quot; alt=&quot;牧野原&quot; /&gt;&lt;/p&gt;
&lt;p&gt;牧野原Naida&lt;code&gt;(-38481,-67469)&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://vip.123pan.cn/1813814650/ymjew503t0n000d7w32y76180on2ak2xDIYPDwYPAdQyDcxPDIUxDO==.gif&quot; alt=&quot;72K刷冰机&quot; /&gt;&lt;/p&gt;
&lt;p&gt;EterIll工业区&lt;code&gt;(-6041,-5316)&lt;/code&gt;&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;注：此地暂无warp传送点，您可以通过共联世界地狱交通前往。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;&lt;img src=&quot;https://vip.123pan.cn/1813814650/ymjew503t0n000d7w32y7619y1n2eue1DIYPDwYPAdQyDcxPDIUxDO==.png&quot; alt=&quot;GK博物馆&quot; /&gt;&lt;/p&gt;
&lt;p&gt;GK的博物馆&lt;code&gt;(坐标暂不公开)&lt;/code&gt;&lt;/p&gt;
</content:encoded></item><item><title>立达信教育物联面板破解改装教程</title><link>https://eterill.xyz/posts/leedarsoncrack/</link><guid isPermaLink="true">https://eterill.xyz/posts/leedarsoncrack/</guid><description>立达信教育物联面板破解改装教程</description><pubDate>Wed, 06 Aug 2025 00:00:00 GMT</pubDate><content:encoded>&lt;blockquote&gt;
&lt;p&gt;[!WARNING]
注意！损害公共财产的行为不可取！后果请自负！&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;很多学校使用的灯控面板来自立达信教育物联，经过本人研究发现86盒面板居然是带zigbee的安卓面板，MCU是Rockchip的PX30，性能方面勉勉强强，480p的H264可以达到30fps，考虑到这款灯控面板的显示屏也就是480*480px，拿来摸鱼还是够用的。
&lt;img src=&quot;/assets/posts/leedarsoncrack-2_8A52B6BE88F2FAD6B101EB5625611E32.webp&quot; alt=&quot;显示屏是480*480px&quot; /&gt;&lt;/p&gt;
&lt;h2&gt;初尝试（ADB）&lt;/h2&gt;
&lt;p&gt;由于外观上没有发现USB调试口，但是直觉告诉我这玩意绝对有调试口，于是开始拆机。（新款有些自带USB口，没试过，有需要的话自己试试看）&lt;/p&gt;
&lt;p&gt;卸下背后两颗螺丝，我发现后盖打不开，以为是卡扣，随强拆，于是把主板和屏幕弄断了，钱包-200。&lt;/p&gt;
&lt;p&gt;检查面板的尸体之后，发现两颗螺丝外圈还有一层贴纸，底下还有螺丝，靠北哦！&lt;/p&gt;
&lt;p&gt;卸下所有螺丝之后，用螺丝刀轻轻拆开四个卡扣，后盖成功拆下。主板没有额外固定，正反面做有卡扣屏蔽罩，做工还不错，用的高温锡焊接。从micro-usb开始顺时针的接口分别是：usb(host/otg) 音响接口(未使用) Zigbee天线 环境光传感器 显示屏MIPI 触摸屏 未知接口。&lt;/p&gt;
&lt;p&gt;usb连接电脑，自动开机，电脑adb识别成功。&lt;/p&gt;
&lt;p&gt;安装了个第三方桌面(我用的微软桌面)和MT管理器，就可以冻结&lt;code&gt;com.leedarson.impmini&lt;/code&gt;替换系统桌面了。同时别忘记打开系统设置-显示-隐藏xx栏取消勾选，这样就可以打开系统自带的导航栏方便操作了。你也可以使用gesture之类的手势导航软件。&lt;/p&gt;
&lt;h2&gt;10分钟自动重启？&lt;/h2&gt;
&lt;p&gt;安装了新桌面之后，我发现开机10分钟左右就会自己重启，我怀疑是有看门狗，于是果断卸载impmini恢复出厂设置。结果恢复完之后它居然回来了！直觉告诉我这玩意绝对注入系统了，提取安装包在虚拟机安装后果然要了su权限写入了data和system分区。经过折腾，发现了三个重要的文件路径：&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;/system/bin/ifs_android_startup.sh
/data/IotOs/x64/ifs_android_startup.sh
/data/IotOs/x64/impMini.apk
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;直接破案。于是我又删除了一遍impmini，然后用MT管理器修改了&lt;code&gt;/system/bin/ifs_android_startup.sh&lt;/code&gt;，把文件修改成了这样（系统是userdebug，自带root可以直接改）：&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;sleep 10s
su -c &quot;sh /data/IotOs/x64/shutdown.sh&quot; - root
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;调用了自带的看门狗关闭程序，所以到时候恢复起来也是很方便的，把内容重新替换为&lt;code&gt;/data/IotOs/x64/ifs_android_startup.sh&lt;/code&gt;里面的内容就行了&lt;/p&gt;
&lt;h2&gt;破解成功！接下来你就可以拿灯控刷b站啦！&lt;/h2&gt;
&lt;p&gt;注意！由于性能原因，正常客户端是很难正常打开的。&lt;/p&gt;
&lt;p&gt;这时候我们下载车机版Bilibili（个人推荐前往 &lt;strong&gt;官网APP下载页面&lt;/strong&gt; 或者 果核剥壳 下载）最新版，就可以相对流畅一些。有时我们发现看视频会出现见写信掉帧的情况，我们需要前往设置开启H264硬解，来提升流畅度。&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;/assets/posts/leedarsoncrack-b1_1F0BBADF819FC4BAE16A5EFDD5B634D6.webp&quot; alt=&quot;开启H264硬解&quot; /&gt;&lt;/p&gt;
&lt;h2&gt;修改独立供电，用充电宝来供电&lt;/h2&gt;
&lt;p&gt;由于这玩意装在墙上，不拿下来的话用着太麻烦了，所以我们可以制作一个离线供电线。我们可以买一个2.0mm间距排针和一根充电线，然后按照下图接线。&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;/assets/posts/leedarsoncrack-3_43A1487506C7F5992B8C2FC9384B6FD7.webp&quot; alt=&quot;外接引脚定义&quot; /&gt;&lt;/p&gt;
&lt;p&gt;你只需要接两个接口就行了，把数据线剪开，剥出红色和黑色的线，红的接到VCC，黑的接到GND就行了，实际上不用排针其实也行（&lt;/p&gt;
&lt;p&gt;又或者，你是焊接大蛇，并且有一定电路基础，你就可以买一个CD42模块和3.7v锂电池，如此连接。&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;/assets/posts/leedarsoncrack-5_05B9BA5F3D7BBCA962548E6C0D550024.webp&quot; alt=&quot;改装供电示例&quot; /&gt;&lt;/p&gt;
&lt;p&gt;或者，你也可以把电路全部内置在外壳里。注意板子上是高温锡，焊接的时候建议焊笔开350-380°C焊接。焊完之后模块底下一定要垫塑料膜用来绝缘。如果焊完不开机而且通电之后排母附近发烫的话把排母右边那个5V字样旁边那个二极管拆掉就行了，这个稳压管很容易烧。&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;/assets/posts/leedarsoncrack-4_3B91771A2D5470838C9CDB128D0EC5C3.webp&quot; alt=&quot;改装供电示例&quot; /&gt;&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;[!WARNING]
模块一定要做好绝缘！！！&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;实测音响输出很烂，全损音质，不建议焊接音响。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;教程完！&lt;/strong&gt;&lt;/p&gt;
&lt;h2&gt;碎碎念&lt;/h2&gt;
&lt;p&gt;这玩意说实话性能不咋地，内存和存储也小的可怜，如果你们那有电子班牌之类的还是去玩那些吧。&lt;/p&gt;
&lt;p&gt;这玩意触摸屏的素质也不好，湿度过大、温度过高都会引起断触误触，而且上下两边会有触控死区，实际使用建议显示设置里面设置旋转90/270°来换取更好的触控体验。&lt;/p&gt;
&lt;p&gt;我还测试了用这个串流玩崩铁，帧率基本能稳30以上（使用H264硬解），解码延迟也还行。总体来说，拿来研究研究然后吃灰还是可以的（&lt;/p&gt;
&lt;h2&gt;鸣谢&lt;/h2&gt;
&lt;p&gt;感谢 &lt;a href=&quot;https://sysdl132.github.io/&quot;&gt;&lt;code&gt;Sysdl132&lt;/code&gt;&lt;/a&gt;、&lt;code&gt;洞穴探索者&lt;/code&gt;、&lt;a href=&quot;http://fatsilkworm.top/&quot;&gt;&lt;code&gt;蚕宝宝肥肥&lt;/code&gt;&lt;/a&gt; 在研究上提供的思路。&lt;/p&gt;
&lt;p&gt;感谢 &lt;code&gt;呵&lt;/code&gt; 额外提供的一套面板。&lt;/p&gt;
</content:encoded></item><item><title>FlipperCN 项目发布页</title><link>https://eterill.xyz/posts/flippercn/</link><guid isPermaLink="true">https://eterill.xyz/posts/flippercn/</guid><description>FlipperCN 项目发布页；包含项目相关说明、免责声明与使用条款</description><pubDate>Thu, 19 Dec 2024 00:00:00 GMT</pubDate><content:encoded>&lt;h1&gt;FlipperCN 项目发布页&lt;/h1&gt;
&lt;h2&gt;FlipperCN Team Release Page&lt;/h2&gt;
&lt;p&gt;&lt;a href=&quot;https://flippercn.com/&quot;&gt;https://flippercn.com/&lt;/a&gt;
欢迎您访问FlipperCN！ &lt;em&gt;（网站来自宅人改造家）&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;::github{repo=&quot;EternalIllusion/FlipperCN&quot;}&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://github.com/EternalIllusion/FlipperCN/releases/tag/1.0&quot;&gt;发布页传送门(GitHub Release)&lt;/a&gt;&lt;/p&gt;
&lt;h2&gt;鸣谢&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;Marvin&lt;/strong&gt; &lt;strong&gt;宅人改造家&lt;/strong&gt; &lt;strong&gt;九幽君&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;有余 Daifresne_TSGP 果仁 keprice&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;本项目&lt;strong&gt;拒绝&lt;/strong&gt;对名字同时包含 &lt;strong&gt;“极客”、“之”、“眼”&lt;/strong&gt; 的组织开放，请你们自觉退出。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;hr /&gt;
&lt;h1&gt;Q&amp;amp;A&lt;/h1&gt;
&lt;h2&gt;为什么不公开全部的pcb文件？&lt;/h2&gt;
&lt;p&gt;在这个项目立项之后，我收到了许多负面消息和人身攻击😱，包括但不限于发表言论说此项目是纯□□，辱骂我群管理员、我的朋友、开盒我😱以及我群管理、威胁我及我群管理、DDOS我朋友的服务器等令我反感的行为，这让我不禁怀疑起做这个项目的意义。我一开始的目的只是为了好玩和希望体验到和广大网友一起为了某个共同目标努力的美好过程，但是现在这个项目即将演变成某些人以本项目充当正品搞诈骗，去国外网站上圈钱的工具😰😱，我不希望看到这样的结局。所以经过我的再三考虑，我打算&lt;strong&gt;仅公开原理图和layout这些官方已公开文件的立创eda版本&lt;/strong&gt;，把布线和二次修改的乐趣留给大家😋。🤗希望大家都能在这个项目中体会到开源电子DIY的乐趣😎&lt;/p&gt;
&lt;h2&gt;有考虑过什么时候放出全部内容吗？&lt;/h2&gt;
&lt;p&gt;有的🤓，但不是现在。我正在考虑在我18岁生日当天作为生日贺礼将这个项目全部公开，并在FlupperCN的public仓库对外网公开。😎但是我现在正在备战高考，无暇顾及这个项目，高考完再说吧😥&lt;/p&gt;
&lt;p&gt;注：以上文字中emoji&lt;strong&gt;仅供娱乐&lt;/strong&gt;，不传达任何含义&lt;/p&gt;
&lt;h1&gt;FlipperCN许可协议&lt;/h1&gt;
&lt;p&gt;FlipperCN许可协议（以下简称“本协议”）由FlipperCN团队成（以下简称“我们”）与您签订。我们将通过本协议帮助您了解本项目许可使用及相关方面的权利义务。请您务必审慎阅读并充分理解本协议各项条款内容，并选择同意或不同意（如您是未成年人，则应在法定监护人陪同下审查阅读）。如果您不同意本协议的全部条款，请退出。请认真阅读以下本协议的内容：&lt;/p&gt;
&lt;h2&gt;关于FlipperCN&lt;/h2&gt;
&lt;p&gt;FlipperCN（以下简称“本项目”）是我们基于Flipper devices Inc.发布的半开源硬件项目Flipper Zero（以下简称”FZ“）的面向国内的公益性开源项目。用于FZ开发和（但不限于）进行硬件项目分析调试、项目测试和Bug分析。本项目某些场景下可能具有修改和调试网络或无线电数据包的功能，如果要修改和调试第三方的数据包，必须取得所属方的官方授权；如果在未授权的情况下擅自修改和调试，所造成的任何问题和责任（包括资金损失、法律风险等）均与我们无关。&lt;/p&gt;
&lt;h2&gt;功能风险&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;（1）本项目运行过程中产生的数据缓存，可能会包含您的敏感信息（可能包括密码、Cookie等），请务必及时进行清理，以防泄露；我们不会以任何方式收集用户的敏感信息，因为不当使用本项目导致的信息泄露本项目不承担任何相关责任；&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;（2）由于政策和法律原因，本项目完整产品不在地球上任何平台进行发布上架和任何形式的销售活动。您通过本项目的售卖及其他活动与本项目完全无关，后果自负。&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;（3）如果您所在的地区法律禁止本项目及相关类型的软件程序，您应当遵守当地法律，立即卸载删除相关内容。&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;禁止行为&lt;/h2&gt;
&lt;p&gt;无论在任何情况下，您都不得作出本项目禁止的行为：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;（1）禁止使用本项目对任何数据或者计算机系统进行恶意攻击、制作外挂、盗取数据等非法行为；&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;（2）禁止在未取得其它第三方的官方授权的情况下，对其数据进行调试和修改；&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;（3）禁止对本项目本身进行二次封装后用于盈利活动，本项目内容都不得用于盈利用途；&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;（4）禁止在未经过授权情况下向任何渠道发布非官方网站贩卖本项目的任何版本。&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;（5）转载发布或者发布基于本项目的任何内容都应注明相关内容出处。&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;免责事由&lt;/h2&gt;
&lt;p&gt;您知悉并同意，我们不因下述任一情况而可能导致的任何损害赔偿承担责任，包括但不限于财产、收益、数据资料等方面的损失或其它形式的无形损失：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;（1）您违反本协议或者相关的服务条款规定，我们有权视您的行为性质采取包括但不限于中断使用许可、停止提供服务、法律追究等措施。同时，我们会视司法部门的要求，协助调查；&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;（2）您违反本协议或者相关的服务条款规定，导致任何第三方损害的，您应当独立承担责任；&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;（3）因台风、地震、海啸、洪水、停电、战争、恐怖袭击等不可抗力之因素导致本项目不能正常读取；&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;（4）由于黑客攻击、电信部门技术调整或故障、系统维护等因素导致相关权益受损；&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;（5）由于政府命令、法律法规的变更、司法机关及行政机关的命令、裁定等原因而导致的项目删除、封存等。&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;其它条款&lt;/h2&gt;
&lt;p&gt;您知悉并同意以下条款：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;（1）电子文本形式的授权协议如同双方签署的协议一样，具有完整和等同的法律效力。您使用本项目或本服务及视为您已阅读并同意受本协议的约束，协议许可范围以外的行为，将直接违反本协议并构成侵权，我们有权立即终止服务，责令损止停害，并保留追究相关责任的权利；&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;（2）我们有权在必要时修改本协议条款。您可以在本项目的最新版本中查阅相关条款协议。本协议条款变更后，如果您继续使用本项目，即视为您已同意修改后的协议。如果您不同意修改后的协议，应当立即停止使用本项目；&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;（3）本协议条款无论因何种原因部分无效或不可执行，其余条款仍有效，对双方具有约束力；&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;（4）本协议所有的条款标题仅为阅读方便，本身并无实际含义，不能作为本协议涵义解释的依据；&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;（5）我们保留对于本协议的最终解释权。&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h1&gt;FlipperCN项目免责声明&lt;/h1&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;项目交流群内的文件为网络下载，由群内成员免费分享，仅用于学习研究，请勿用于商业目的，因此引起的法律纠纷，由个人承担，与本项目组无关。&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;所有分享文件均为免费分享，不存在收费购买，并禁止盗卖，如果发现盗卖本项目组一概不负责，因此产生的个人损失或法律纠纷本项目组不承担。&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;转载引用本项目组及交流群内所有文件需要注明出处并遵循开源协议，未注明开源协议的按照CC-BY-SA 4.0处理。&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;本项目组不会私聊任何人要求其支付任何费用，本项目组亦不会与其他个人或组织联合售卖产品，在其他组织或个人处购买项目产品的本项目组一概不负责，因此产生的个人损失或法律纠纷本项目组不承担。&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;本项目使用了来自Flipperdevices的开源内容，特此注明&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;h1&gt;复制、下载、使用本项目任何内容代表您同意以上协议的全部条款&lt;/h1&gt;
</content:encoded></item><item><title>Windows LTSC 安装微软商店</title><link>https://eterill.xyz/posts/winltscstore/</link><guid isPermaLink="true">https://eterill.xyz/posts/winltscstore/</guid><description>WindowsLTSC安装微软商店教程，教你安装微软商店</description><pubDate>Mon, 16 Dec 2024 00:00:00 GMT</pubDate><content:encoded>&lt;p&gt;说明：本文适用于&lt;strong&gt;Windows LTSC&lt;/strong&gt;。&lt;/p&gt;
&lt;h1&gt;前言&lt;/h1&gt;
&lt;p&gt;经常搞机的朋友们都知道，Windows LTSC版是没有微软商店和其他应用的，但是假如我们想要在ltsc版玩Minecraft或者其他微软游戏的话就要登录微软商店，怎么办呢？ ~~ 当然是安装一个啦! ~~&lt;/p&gt;
&lt;h1&gt;教程正文&lt;/h1&gt;
&lt;h2&gt;方法一：开源小工具&lt;/h2&gt;
&lt;blockquote&gt;
&lt;p&gt;🚀🚀推荐 （可能需要魔法上网）&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;&lt;a href=&quot;https://github.com/kkkgo/LTSC-Add-MicrosoftStore&quot;&gt;kkkgo/LTSC-Add-MicrosoftStore&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;点击上方链接🔗，按照网页说明操作。&lt;/p&gt;
&lt;h2&gt;方法二：Xbox大法&lt;/h2&gt;
&lt;blockquote&gt;
&lt;p&gt;🚀🚀推荐，流程极度舒适&lt;/p&gt;
&lt;/blockquote&gt;
&lt;ul&gt;
&lt;li&gt;1.下载并安装 Xbox App for Windows，下载地址： &lt;a href=&quot;https://www.xbox.com/en-US/apps/xbox-app-for-pc&quot;&gt;官网&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;blockquote&gt;
&lt;p&gt;你知道吗，Minecraft安装包会自动安装Xbox，如果你要安装微软商店是为了玩Minecraft的话，那就直接安装Minecraft，等到进度条过半时取消即可。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;2.找到设置（左上角），进入&lt;code&gt;设置-通用&lt;/code&gt;或者&lt;code&gt;设置-安装项&lt;/code&gt; 找到&lt;code&gt;微软商店&lt;/code&gt;点击&lt;code&gt;安装&lt;/code&gt;或者&lt;code&gt;install&lt;/code&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;3.等待完成&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;方法三：PowerShell&lt;/h2&gt;
&lt;blockquote&gt;
&lt;p&gt;体验较差，非必要不建议&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;以管理员权限启动输入以下命令：&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;wsreset -i
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;然后等待即可。&lt;/p&gt;
&lt;h1&gt;结语&lt;/h1&gt;
&lt;p&gt;好了，现在你的电脑上应该就有微软商店了AwA。&lt;/p&gt;
&lt;p&gt;&lt;s&gt;Minecraft，启动！&lt;/s&gt;&lt;/p&gt;
</content:encoded></item><item><title>Openlist美化、日夜主题一键切换</title><link>https://eterill.xyz/posts/alisttheme/</link><guid isPermaLink="true">https://eterill.xyz/posts/alisttheme/</guid><description>给你的Openlist/Alist添加更好看的主题！包含一个快捷切换日夜主题的按钮。</description><pubDate>Fri, 13 Dec 2024 00:00:00 GMT</pubDate><content:encoded>&lt;p&gt;说明：本文适用于&lt;strong&gt;Alist/Openlist&amp;gt;=3.31&lt;/strong&gt;。&lt;/p&gt;
&lt;p&gt;Info: This article is for &lt;strong&gt;Alist/Openlist&amp;gt;=3.31&lt;/strong&gt; .&lt;/p&gt;
&lt;p&gt;::github{repo=&quot;EternalIllusion/AlistDayNightTheme&quot;}&lt;/p&gt;
&lt;h1&gt;日夜主题美化&lt;/h1&gt;
&lt;p&gt;打开&lt;code&gt;alist-header.html,&lt;/code&gt;编辑以下内容，将四个引号内的&lt;code&gt;.png&lt;/code&gt;换成你的图片连接。&lt;/p&gt;
&lt;p&gt;Open &lt;code&gt;alist-header.html &lt;/code&gt;and edit it, make sure &lt;code&gt;.png&lt;/code&gt; links in thr quote replaced with your own link to the image.&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;.hope-ui-light {
    background-image:url(&quot;白天图片横屏|Daythemehorizontal.png&quot;) !important;
    @media (max-aspect-ratio:1) {
        background-image:url(&quot;白天图片竖屏|Daythemevertical.png&quot;) !important;
    }
    background-repeat:no-repeat;
    background-size:cover;
    background-attachment:fixed;
    background-position-x:center
}
.hope-ui-dark {
     background-image:url(&quot;黑夜图片横屏|Nightthemehorizontal.png&quot;) !important;
    @media (max-aspect-ratio:1) {
        background-image:url(&quot;黑夜图片竖屏|Nightthemevertical.png&quot;) !important;
    }
    background-repeat:no-repeat;
    background-size:cover;
    background-attachment:fixed;
    background-position-x:center
}
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;然后打开Alist，登录管理员账号并进入管理页面。依次点击：&lt;code&gt;三 &amp;gt; 设置 &amp;gt; 全局&lt;/code&gt; 将修改后内容全选，复制粘贴到 &lt;strong&gt;自定义头部&lt;/strong&gt; 中。&lt;/p&gt;
&lt;p&gt;Then open Alist, enter manage page and click by the following order: &lt;code&gt;三 &amp;gt; Settings &amp;gt; Global&lt;/code&gt; .Now select thr whole modified file content and copy and paste it into  &lt;strong&gt;Customize head&lt;/strong&gt; .&lt;/p&gt;
&lt;p&gt;点击 &lt;strong&gt;保存&lt;/strong&gt; ，大功告成！&lt;/p&gt;
&lt;p&gt;Click on the  &lt;strong&gt;Save&lt;/strong&gt;  button and everything is done!&lt;/p&gt;
&lt;h1&gt;日夜主题一键切换&lt;/h1&gt;
&lt;p&gt;日夜切换按钮可以&lt;strong&gt;单独引用&lt;/strong&gt; ，也可以删除&lt;/p&gt;
&lt;p&gt;Day/Night switch button is available for &lt;strong&gt;standalone&lt;/strong&gt; usage or you can delete it.&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;&amp;lt;!--日夜切换按钮单独使用 | Standalone usage for day/night switch button--&amp;gt;
&amp;lt;script&amp;gt;
    function daynightswitch() {
        if (document.getElementsByClassName(&quot;hope-icon hope-c-XNyZK hope-c-PJLV hope-c-PJLV-icHSmvX-css&quot;)[0]) {
            document.getElementsByClassName(&quot;hope-icon hope-c-XNyZK hope-c-PJLV hope-c-PJLV-icHSmvX-css&quot;)[0].$$click();

        } else {
            if (document.getElementsByClassName(&quot;hope-icon hope-c-XNyZK hope-c-PJLV hope-c-PJLV-ifkxHPo-css&quot;)[1]) {
                if (document.getElementsByClassName(&quot;hope-icon hope-c-XNyZK hope-c-PJLV hope-c-PJLV-ifkxHPo-css&quot;)[7]) {
                    document.getElementsByClassName(&quot;hope-icon hope-c-XNyZK hope-c-PJLV hope-c-PJLV-ifkxHPo-css&quot;)[7].$$click();
                } else { document.getElementsByClassName(&quot;hope-icon hope-c-XNyZK hope-c-PJLV hope-c-PJLV-ifkxHPo-css&quot;)[1].$$click(); }
                document.getElementsByClassName(&quot;hope-drawer__content-container hope-c-gLUHnt hope-c-fxrEBZ hope-c-fxrEBZ-llmmsr-placement-right hope-c-PJLV hope-c-PJLV-ijhzIfm-css&quot;)[0].style.display = &apos;None&apos;;
                document.getElementsByClassName(&quot;hope-drawer__overlay hope-c-ctSAUo hope-c-PJLV hope-c-PJLV-ijhzIfm-css&quot;)[0].style.display = &apos;None&apos;;
                document.getElementsByClassName(&quot;hope-icon hope-c-XNyZK hope-c-PJLV hope-c-PJLV-icHSmvX-css&quot;)[0].$$click();
                document.getElementsByClassName(&quot;hope-modal__close-button hope-c-gYVOHl hope-close-button hope-c-iNeqtt hope-c-iNeqtt-feqEsd-size-md hope-c-PJLV hope-c-PJLV-ijhzIfm-css&quot;)[0].click();
            } else {
                document.getElementsByClassName(&quot;toolbar-toggle hope-icon hope-c-XNyZK hope-c-PJLV hope-c-PJLV-ifkxHPo-css&quot;)[0].$$click();
                if (document.getElementsByClassName(&quot;hope-icon hope-c-XNyZK hope-c-PJLV hope-c-PJLV-ifkxHPo-css&quot;)[9]) {
                    document.getElementsByClassName(&quot;hope-icon hope-c-XNyZK hope-c-PJLV hope-c-PJLV-ifkxHPo-css&quot;)[9].$$click();
                } else { document.getElementsByClassName(&quot;hope-icon hope-c-XNyZK hope-c-PJLV hope-c-PJLV-ifkxHPo-css&quot;)[1].$$click(); }
                document.getElementsByClassName(&quot;hope-drawer__content-container hope-c-gLUHnt hope-c-fxrEBZ hope-c-fxrEBZ-llmmsr-placement-right hope-c-PJLV hope-c-PJLV-ijhzIfm-css&quot;)[0].style.display = &apos;None&apos;;
                document.getElementsByClassName(&quot;hope-drawer__overlay hope-c-ctSAUo hope-c-PJLV hope-c-PJLV-ijhzIfm-css&quot;)[0].style.display = &apos;None&apos;;
                document.getElementsByClassName(&quot;hope-icon hope-c-XNyZK hope-c-PJLV hope-c-PJLV-icHSmvX-css&quot;)[0].$$click();
                document.getElementsByClassName(&quot;hope-modal__close-button hope-c-gYVOHl hope-close-button hope-c-iNeqtt hope-c-iNeqtt-feqEsd-size-md hope-c-PJLV hope-c-PJLV-ijhzIfm-css&quot;)[0].click();
                if (document.getElementsByClassName(&quot;hope-icon hope-c-XNyZK hope-c-PJLV hope-c-PJLV-ifkxHPo-css&quot;)[8]) {
                    document.getElementsByClassName(&quot;hope-icon hope-c-XNyZK hope-c-PJLV hope-c-PJLV-ifkxHPo-css&quot;)[8].$$click();
                } else { document.getElementsByClassName(&quot;hope-icon hope-c-XNyZK hope-c-PJLV hope-c-PJLV-ifkxHPo-css&quot;)[2].$$click(); }
            }
        }
        location.reload();
    }
    document.write(`&amp;lt;button
    class=&quot;hope-menu__trigger hope-c-bvjbhC hope-c-PJLV hope-c-PJLV-ieTGfmR-css hope-icon-button hope-button hope-c-ivMHWx hope-c-ivMHWx-kcPQpq-variant-subtle hope-c-ivMHWx-cEknLI-size-lg hope-c-ivMHWx-dvmlqS-cv hope-c-ivMHWx-hZistB-cv hope-c-PJLV hope-c-PJLV-iikaotv-css&quot;
    type=&quot;button&quot; role=&quot;button&quot; id=&quot;hope-menu-daynight-switch-trigger&quot; aria-label=&quot;switch layout&quot;&amp;gt;&amp;lt;svg t=&quot;1733225100292&quot;
        class=&quot;icon&quot; viewBox=&quot;0 0 1024 1024&quot; version=&quot;1.1&quot; xmlns=&quot;http://www.w3.org/2000/svg&quot; p-id=&quot;4397&quot;
        xmlns:xlink=&quot;http://www.w3.org/1999/xlink&quot; width=&quot;1em&quot; height=&quot;1em&quot;&amp;gt;
        &amp;lt;path
            d=&quot;M512 0c282.7776 0 512 229.2224 512 512s-229.2224 512-512 512S0 794.7776 0 512 229.2224 0 512 0z m0 51.2a460.8 460.8 0 0 0-13.568 921.3952L512 972.8v-256a204.8 204.8 0 1 0 0-409.6V51.2z m0 256v409.6a204.8 204.8 0 1 1 0-409.6z&quot;
            fill=&quot;currentColor&quot; p-id=&quot;4398&quot;&amp;gt;&amp;lt;/path&amp;gt;
    &amp;lt;/svg&amp;gt;&amp;lt;/button&amp;gt;`)
    document.getElementById(&quot;hope-menu-daynight-switch-trigger&quot;).addEventListener(&quot;click&quot;, daynightswitch);
&amp;lt;/script&amp;gt;
&lt;/code&gt;&lt;/pre&gt;
</content:encoded></item></channel></rss>