<?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://www.zellon.top/</link><language>zh_CN</language><item><title>Mioki Bot食用方法</title><link>https://www.zellon.top/posts/251230-mioki/</link><guid isPermaLink="true">https://www.zellon.top/posts/251230-mioki/</guid><description>依赖Napcat的MiokiQQ机器人部署</description><pubDate>Tue, 30 Dec 2025 00:00:00 GMT</pubDate><content:encoded>&lt;h1&gt;使用的项目&lt;/h1&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&quot;https://mioki.viki.moe/&quot;&gt;mioki | KiviBot 的精神继承者&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&quot;https://napneko.github.io/&quot;&gt;NapCatQQ | 现代化的基于 NTQQ 的 Bot 协议端实现&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h1&gt;注意事项&lt;/h1&gt;
&lt;p&gt;推荐在 Linux 环境下使用 Napcat，Windows 环境下易出现账号冻结情况。&lt;/p&gt;
&lt;h1&gt;一、Napcat部署&lt;/h1&gt;
&lt;p&gt;Napcat 项目中已准备好适合各机型的一键使用脚本&lt;/p&gt;
&lt;p&gt;此处以 Linux 一键脚本为例进行演示&lt;/p&gt;
&lt;p&gt;在终端中输入以下命令，回车，按照项目提示选择安装选项即可&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;curl -o \
napcat.sh \
https://nclatest.znin.net/NapNeko/NapCat-Installer/main/script/install.sh \
&amp;amp;&amp;amp; bash napcat.sh
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&amp;lt;details&amp;gt;
&amp;lt;summary&amp;gt;命令选项(高级用法)&amp;lt;/summary&amp;gt;&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;&lt;code&gt;--tui&lt;/code&gt; 使用&lt;code&gt;tui&lt;/code&gt;可视化交互安装&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;code&gt;--docker&lt;/code&gt; [y/n]: 使用 Docker 进行安装 (y) 或使用 Shell 直接安装 (n)&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Docker 安装: 将 NapCat 运行在隔离的容器环境中，方便管理和迁移，但需要先安装 Docker&lt;/li&gt;
&lt;li&gt;Shell 安装: 直接在当前系统环境中安装 NapCat 及其依赖&lt;/li&gt;
&lt;li&gt;&lt;code&gt;--qq&lt;/code&gt;, &lt;code&gt;--mode&lt;/code&gt;, &lt;code&gt;--confirm&lt;/code&gt;: Docker 安装时使用的参数&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;code&gt;--cli&lt;/code&gt; [y/n]: 是否安装 NapCat TUI-CLI (命令行UI工具)&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;NapCat TUI-CLI&lt;/code&gt; : 允许你在 ssh、没有桌面、WebUI 难以使用的情况下可视化交互配置 Napcat&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;code&gt;--proxy&lt;/code&gt; [0-6]: 指定下载时使用的代理服务器序号, Docker 安装可选 0-7, shell 安装可选 0-5&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;code&gt;--force&lt;/code&gt; 传入则执行 shell 强制重装&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&amp;lt;/details&amp;gt;&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;此处提供的脚本为 Linux 一键使用脚本(支持Ubuntu 20+/Debian 10+/Centos9)
如果你需要在其他平台安装，请参考&lt;a href=&quot;https://napneko.github.io/guide/boot/Shell&quot;&gt;Napcat官方文档&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;当出现如下界面时即安装完成
&lt;img src=&quot;https://zellonbucket.oss-cn-beijing.aliyuncs.com/img/20251231092359260.png&quot; alt=&quot;image.png&quot; /&gt;
此时即可正常启动 Napcat (推荐使用后台运行)&lt;/p&gt;
&lt;p&gt;在终端中运行如下命令启动 Napcat&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;screen -dmS napcat bash -c &quot;xvfb-run -a /root/Napcat/opt/QQ/qq --no-sandbox &quot;
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&amp;lt;details&amp;gt;
&amp;lt;summary&amp;gt;其他命令&amp;lt;/summary&amp;gt;&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;安装位置:  
	/root/Napcat 
  
启动 Napcat (无需 sudo):  
	 xvfb-run -a /root/Napcat/opt/QQ/qq --no-sandbox  
  
 后台运行 Napcat (使用 screen, 无需 sudo):  
	启动: screen -dmS napcat bash -c &quot;xvfb-run -a /root/Napcat/opt/QQ/qq --no-sandbox &quot; 
	带账号启动: screen -dmS napcat bash -c &quot;xvfb-run -a /root/Napcat/opt/QQ/qq --no-sandbox  -q QQ号码&quot; 
	附加到会话: screen -r napcat (按 Ctrl+A 然后按 D 分离) 
	停止会话: screen -S napcat -X quit 
  
 Napcat 相关信息:  
	 插件位置: /root/Napcat/opt/QQ/resources/app/app_launcher/napcat 
	 WebUI Token: 查看 /root/Napcat/opt/QQ/resources/app/app_launcher/napcat/config/webui.json 文件获取
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&amp;lt;/details&amp;gt;&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;如果你是在服务器中使用 Napcat，还需要在防火墙中放行 &lt;code&gt;3001(网络配置端口，可自定义)&lt;/code&gt;，&lt;code&gt;6099(Webui，必须)&lt;/code&gt;以在本地访问 Napcat&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h1&gt;二、Napcat配置&lt;/h1&gt;
&lt;p&gt;访问&lt;code&gt;127.0.0.1:6099&lt;/code&gt;或&lt;code&gt;服务器公网ip:6099&lt;/code&gt;来打开 Napcat Webui，查看终端后台即可获取到登录 token&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://zellonbucket.oss-cn-beijing.aliyuncs.com/img/20251231094203631.png&quot; alt=&quot;image.png&quot; /&gt;&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;后台启动输入&lt;code&gt;screen -r napcat&lt;/code&gt;即可打开 Napcat 后台，复制 token 后可直接&lt;code&gt;ctrl+A+D&lt;/code&gt;关闭 screen&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;⚠️⚠️⚠️⚠️⚠️⚠️⚠️注意⚠️⚠️⚠️⚠️⚠️⚠️⚠️&lt;/p&gt;
&lt;p&gt;Webui 首次登录后一定要将 token 更改为强密码，不要使用诸如&lt;code&gt;password&lt;/code&gt;,&lt;code&gt;123456789&lt;/code&gt;,&lt;code&gt;88888888&lt;/code&gt;之类的弱密码，已有 Napcat 用户在公网上公开端口且未设置强密码，导致 QQ 被爆破封号&lt;/p&gt;
&lt;p&gt;登录后可在&lt;code&gt;其他配置-登录配置&lt;/code&gt;中启用快速登录，实现开机自启动后自动登录 QQ&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://zellonbucket.oss-cn-beijing.aliyuncs.com/img/20251231095202720.png&quot; alt=&quot;image.png&quot; /&gt;&lt;/p&gt;
&lt;p&gt;随后在&lt;code&gt;网络配置&lt;/code&gt;中创建&lt;code&gt;Websocket服务器&lt;/code&gt;，勾选&lt;code&gt;启用&lt;/code&gt;，&lt;code&gt;名称&lt;/code&gt;可自定义，&lt;code&gt;Host&lt;/code&gt;建议改为&lt;code&gt;0.0.0.0&lt;/code&gt;，&lt;code&gt;Token&lt;/code&gt;自行更改，保存即可&lt;br /&gt;
&lt;img src=&quot;https://zellonbucket.oss-cn-beijing.aliyuncs.com/img/20251231095437380.png&quot; alt=&quot;image.png&quot; /&gt;
当你看到&lt;code&gt;网络配置&lt;/code&gt;中出现了&lt;code&gt;mioki(自定义的名称)&lt;/code&gt;的配置，即配置成功
&lt;img src=&quot;https://zellonbucket.oss-cn-beijing.aliyuncs.com/img/20251231095710519.png&quot; alt=&quot;image.png&quot; /&gt;&lt;/p&gt;
&lt;h1&gt;三、Mioki部署&lt;/h1&gt;
&lt;p&gt;Mioki 是基于&lt;strong&gt;Node.js&lt;/strong&gt;的机器人框架，因此请先确保你的设备上安装的 Node.js 版本 &amp;gt;= 22.18.0&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;可参考以下命令快速安装Nodejs&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;# 下载并安装 nvm：
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.40.3/install.sh | bash

# 代替重启 shell
\. &quot;$HOME/.nvm/nvm.sh&quot;

# 下载并安装 Node.js：
nvm install 24

# 验证 Node.js 版本：
node -v # Should print &quot;v24.12.0&quot;.

# 下载并安装 pnpm：
corepack enable pnpm

# 验证 pnpm 版本：
pnpm -v
&lt;/code&gt;&lt;/pre&gt;
&lt;/blockquote&gt;
&lt;p&gt;输入如下命令来开始安装 Mioki&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;pnpx mioki@latest
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;CLI 会依次引导你完成项目名称、权限设置，创建完成后先按提示进入项目文件夹&lt;/p&gt;
&lt;p&gt;此时的项目文件夹下会生成一个配置文件&lt;code&gt;package.json&lt;/code&gt;，打开后编辑&lt;code&gt;Napcat&lt;/code&gt;字段，将其更改为正确的配置&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;    &quot;napcat&quot;: {
      &quot;protocol&quot;: &quot;ws&quot;,
      &quot;port&quot;: 3001,
      &quot;host&quot;: &quot;127.0.0.1&quot;,
      &quot;token&quot;: &quot;114514&quot;
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&lt;strong&gt;配置项说明&lt;/strong&gt;&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;&lt;strong&gt;配置项&lt;/strong&gt;&lt;/th&gt;
&lt;th&gt;&lt;strong&gt;类型&lt;/strong&gt;&lt;/th&gt;
&lt;th&gt;&lt;strong&gt;默认值&lt;/strong&gt;&lt;/th&gt;
&lt;th&gt;&lt;strong&gt;说明&lt;/strong&gt;&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;prefix&lt;/td&gt;
&lt;td&gt;string&lt;/td&gt;
&lt;td&gt;&quot;#&quot;&lt;/td&gt;
&lt;td&gt;指令前缀，用于识别框架指令&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;owners&lt;/td&gt;
&lt;td&gt;number[]&lt;/td&gt;
&lt;td&gt;[]&lt;/td&gt;
&lt;td&gt;机器人主人 QQ 号列表，拥有最高权限&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;admins&lt;/td&gt;
&lt;td&gt;number[]&lt;/td&gt;
&lt;td&gt;[]&lt;/td&gt;
&lt;td&gt;机器人管理员 QQ 号列表&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;plugins&lt;/td&gt;
&lt;td&gt;string[]&lt;/td&gt;
&lt;td&gt;[]&lt;/td&gt;
&lt;td&gt;启用的插件列表（插件目录名）&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;log_level&lt;/td&gt;
&lt;td&gt;string&lt;/td&gt;
&lt;td&gt;&quot;info&quot;&lt;/td&gt;
&lt;td&gt;日志级别：trace、debug、info、warn、error&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;plugins_dir&lt;/td&gt;
&lt;td&gt;string&lt;/td&gt;
&lt;td&gt;&quot;./plugins&quot;&lt;/td&gt;
&lt;td&gt;插件目录路径&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;error_push&lt;/td&gt;
&lt;td&gt;boolean&lt;/td&gt;
&lt;td&gt;false&lt;/td&gt;
&lt;td&gt;是否将未捕获的错误推送给主人&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;online_push&lt;/td&gt;
&lt;td&gt;boolean&lt;/td&gt;
&lt;td&gt;false&lt;/td&gt;
&lt;td&gt;机器人上线时是否通知主人&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;status_permission&lt;/td&gt;
&lt;td&gt;string&lt;/td&gt;
&lt;td&gt;&quot;all&quot;&lt;/td&gt;
&lt;td&gt;状态命令权限：admin-only 仅管理可用，默认所有人&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;napcat.token&lt;/td&gt;
&lt;td&gt;string&lt;/td&gt;
&lt;td&gt;&quot;&quot;&lt;/td&gt;
&lt;td&gt;NapCat WebSocket 访问密钥&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;napcat.protocol&lt;/td&gt;
&lt;td&gt;string&lt;/td&gt;
&lt;td&gt;&quot;ws&quot;&lt;/td&gt;
&lt;td&gt;WebSocket 协议：ws 或 wss，默认 ws&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;napcat.host&lt;/td&gt;
&lt;td&gt;string&lt;/td&gt;
&lt;td&gt;&quot;localhost&quot;&lt;/td&gt;
&lt;td&gt;NapCat WebSocket 服务地址，默认 localhost&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;napcat.port&lt;/td&gt;
&lt;td&gt;number&lt;/td&gt;
&lt;td&gt;3001&lt;/td&gt;
&lt;td&gt;NapCat WebSocket 服务端口，默认 3001&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;之后在文件夹目录下使用下列命令即可启动bot&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;pnpm install &amp;amp;&amp;amp; pnpm start
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;当你看到如下提示即代表机器人正确启动&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;========================================
欢迎使用 mioki 💓 v1.0.0
一个基于 NapCat 的插件式 QQ 机器人框架
轻量 * 跨平台 * 插件式 * 热重载 * 注重开发体验
========================================
&amp;gt;&amp;gt;&amp;gt; 正在连接 NapCat 实例: ws://localhost:3001?access_token=***
已连接到 NapCat 实例: NapCat-v4.2.0 机器人昵称(123456789)
&amp;gt;&amp;gt;&amp;gt; 加载 mioki 内置插件: mioki-core
成功加载了 1 个插件，总耗时 10.00 毫秒
mioki v1.0.0 启动完成，祝您使用愉快 🎉️
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;插件开发及使用请参考&lt;a href=&quot;https://mioki.viki.moe/plugin.html&quot;&gt;Mioki官方文档&lt;/a&gt;，本篇不再赘述&lt;/p&gt;
</content:encoded></item><item><title>ImmortalWrt系统配置实现反校园网多设备检测</title><link>https://www.zellon.top/posts/251008-immortalwrt/</link><guid isPermaLink="true">https://www.zellon.top/posts/251008-immortalwrt/</guid><description>ImmortalWrt的编译方法</description><pubDate>Thu, 16 Oct 2025 00:00:00 GMT</pubDate><content:encoded>&lt;h1&gt;前言&lt;/h1&gt;
&lt;p&gt;近日笔者学校的校园网进行了光网改造，改造后原有的路由器等均不能继续使用，同一人甚至只能有两台设备连接校园网。为保证 Nas 等其他设备的正常使用，我尝试了解了绕过设备数量限制的方法，并在本文中记录实现过程。&lt;/p&gt;
&lt;h1&gt;校园网共享上网检测机制&lt;/h1&gt;
&lt;p&gt;目前已知可能存在的检测机制如下：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;基于 IPv4 数据包包头内的 TTL 字段的检测&lt;/li&gt;
&lt;li&gt;基于 HTTP 数据包请求头内的 User-Agent 字段的检测&lt;/li&gt;
&lt;li&gt;DPI (Deep Packet Inspection) 深度包检测技术&lt;/li&gt;
&lt;li&gt;基于 IPv4 数据包包头内的 Identification 字段的检测&lt;/li&gt;
&lt;li&gt;基于网络协议栈时钟偏移的检测技术&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;下面是对这些技术的实现原理的详细说明。&lt;/p&gt;
&lt;h3&gt;基于 IPv4 包头的 TTL 字段的检测&lt;/h3&gt;
&lt;p&gt;通过观察到达包的 TTL 与预期初始 TTL 或同源历史 TTL 的差异来估算跃点数并识别路由变化、代理或伪装主机，因此TTL 异常或同源包间突变通常被视为可疑信号。&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;TTL(Time to Live)，指一个数据包在经过一个路由时，可传递的最长距离（跃点数）。每当数据包经过一个路由器时，其存活次数即TTL就会被减一。当其存活次数为0时，路由器便会取消该数据包转发，并向数据包的源发送者发送一个数据包以告知跃点数超限。其设计目的是防止数据包因不正确的路由表等原因造成的无限循环而无法送达甚至耗尽网络资源。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h3&gt;基于 HTTP 数据包请求头内的 User-Agent 字段的检测&lt;/h3&gt;
&lt;p&gt;HTTP数据包请求头内包含一个叫做 User-Agent 的字段，该字段用于标识操作系统类型等数据。通过解析并匹配 User-Agent 字符串与已知浏览器/爬虫/设备签名或与其它头部的不一致性，即可标记异常的客户端。&lt;/p&gt;
&lt;h3&gt;DPI（Deep Packet Inspection）深度包检测技术&lt;/h3&gt;
&lt;p&gt;对重组后的会话流量进行应用层解析和签名或模式匹配（包括内容、协议字段和字节序列特征），用于识别恶意载荷、协议绕过或特定应用流量。因为需要对所有流量进行分析，这种方法耗费的性能极大，大部分学校不会采用这种方法进行检测。&lt;/p&gt;
&lt;h3&gt;基于 IPv4 数据包包头内的 Identification 字段的检测&lt;/h3&gt;
&lt;p&gt;分析同源数据包的 IP ID 生成模式（线性递增、随机或基于流）和分片行为以指纹化操作系统/协议栈、识别 NAT/中间件或检测包头被篡改。&lt;/p&gt;
&lt;h3&gt;基于网络协议栈时钟偏移的检测技术&lt;/h3&gt;
&lt;p&gt;通过长期采样 TCP timestamp、IP ID/ISN 等随时间变化的字段建模主机时钟偏移与漂移，用于关联流量、指纹设备或判断是否来自同一物理主机。这个方法同样具有局限性，是否被用于检测有待商榷。&lt;/p&gt;
&lt;h1&gt;多设备检测的解决方案&lt;/h1&gt;
&lt;p&gt;基于上述几种检测方法，只针对终端方面的修改无法满足需求，并且过于繁琐。因此，需要从路由层面解决检测。最简单的方法，便是使用软路由搭配OpenWrt实现反检测。&lt;/p&gt;
&lt;p&gt;这里采用OpenWrt的分支ImmortalWrt作为软路由的系统。ImmortalWrt 在原版 OpenWrt 的基础上进行了优化和扩展，更稳定更纯净。&lt;/p&gt;
&lt;h1&gt;编译ImmortalWrt&lt;/h1&gt;
&lt;blockquote&gt;
&lt;p&gt;推荐选择 Debian/Ubuntu 系统来进行本地编译，此处我选择使用 Debian13。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;以 root 权限连接 ssh，随后首先配置好 apt 源，并更新软件包。&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;apt update
apt -y upgrade
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;安装编译所需依赖&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;安装过程中如果弹窗直接选择默认的&quot; no &quot;即可&lt;/p&gt;
&lt;/blockquote&gt;
&lt;pre&gt;&lt;code&gt;apt install -y ack antlr3 asciidoc autoconf automake autopoint binutils bison build-essential \
  bzip2 ccache clang cmake cpio curl device-tree-compiler ecj fastjar flex gawk gettext gcc-multilib \
  g++-multilib git gnutls-dev gperf haveged help2man intltool lib32gcc-s1 libc6-dev-i386 libelf-dev \
  libglib2.0-dev libgmp3-dev libltdl-dev libmpc-dev libmpfr-dev libncurses-dev libpython3-dev libncurses5-dev libncursesw5-dev \
  libreadline-dev libssl-dev libtool libyaml-dev libz-dev lld llvm lrzsz mkisofs msmtp nano \
  ninja-build p7zip p7zip-full patch pkgconf python3 python3-pip python3-ply python3-docutils python3-setuptools \
  python3-pyelftools qemu-utils re2c rsync scons squashfs-tools subversion swig texinfo uglifyjs \
  upx-ucl unzip vim wget xmlto xxd zlib1g-dev zstd
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&lt;em&gt;&lt;strong&gt;切换到普通用户后&lt;/strong&gt;&lt;/em&gt;，拉取官方镜像&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;此处的 v24.10.3 为我编译时的最新版本，可以替换为其他版本，进入 https://downloads.immortalwrt.org/ 即可查看最新的版本号&lt;/p&gt;
&lt;/blockquote&gt;
&lt;pre&gt;&lt;code&gt;git clone -b v24.10.3 --single-branch --filter=blob:none https://github.com/immortalwrt/immortalwrt
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;拉取完成后切换到文件夹中，逐步执行如下命令&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;若在执行 &lt;code&gt;./scripts/feeds update -a&lt;/code&gt; 过程中出现报错，可尝试&lt;code&gt;git config --global http.sslVerify &quot;false&quot;&lt;/code&gt;后再次执行更新&lt;/p&gt;
&lt;/blockquote&gt;
&lt;pre&gt;&lt;code&gt;cd immortalwrt
./scripts/feeds update -a
./scripts/feeds install -a
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;拉取需要编译的软件包的源码&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;git clone https://github.com/Zxilly/UA2F.git package/UA2F   # UA2F
git clone https://github.com/CHN-beta/rkp-ipid.git package/rkp-ipid   # rkp-ipid
# 以上为必需的软件包，下方的软件包可自行选择拉取，也可拉取其他需要的软件包
git clone https://github.com/jerrykuku/luci-theme-argon.git package/luci-theme-argon   # argon主题
git clone https://github.com/lucikap/luci-app-ua2f.git package/luci-app-ua2f
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;拉取完成后再次更新 feeds&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;./scripts/feeds update -a
./scripts/feeds install -a
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;进入配置界面&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;配置界面内需要按两次 ESC 才可返回上级菜单&lt;/p&gt;
&lt;/blockquote&gt;
&lt;pre&gt;&lt;code&gt;make menuconfig
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;首先在前三个选项中选择好对应的架构，我这里使用 x86_64作为演示&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://zellonbucket.oss-cn-beijing.aliyuncs.com/img/20251017155822946.png&quot; alt=&quot;image.png&quot; /&gt;&lt;/p&gt;
&lt;p&gt;随后进入第四个选项修改内核空间大小，可自行设定大小&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://zellonbucket.oss-cn-beijing.aliyuncs.com/img/20251017160122113.png&quot; alt=&quot;image.png&quot; /&gt;&lt;/p&gt;
&lt;p&gt;添加 rkp-ipid 模块&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Y 勾选，N 取消勾选&lt;br /&gt;
&lt;em&gt;Kernel moudles  -&amp;gt;  Other moudles  -&amp;gt;  kmod-rkp-ipid&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;添加 UA2F 模块&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;Network  -&amp;gt;  Routing and Redirection  -&amp;gt;  ua2f&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;添加防火墙模块&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;Network  -&amp;gt;  Firewall  -&amp;gt;  iptables-mod-conntrack-extra&lt;/em&gt;&lt;br /&gt;
&lt;em&gt;Network  -&amp;gt;  Firewall  -&amp;gt;  iptables-mod-filter&lt;/em&gt;&lt;br /&gt;
&lt;em&gt;Network  -&amp;gt;  Firewall  -&amp;gt;  iptables-mod-ipopt&lt;/em&gt;&lt;br /&gt;
&lt;em&gt;Network  -&amp;gt;  Firewall  -&amp;gt;  iptables-nft&lt;/em&gt;&lt;br /&gt;
&lt;em&gt;Network  -&amp;gt;  Firewall  -&amp;gt;  iptables-mod-u32&lt;/em&gt;&lt;br /&gt;
&lt;em&gt;Network  -&amp;gt;  ipset&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;添加 Web 管理界面所需的模块&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;LuCI  -&amp;gt;  Collections  -&amp;gt;  luci&lt;/em&gt;&lt;br /&gt;
&lt;em&gt;LuCI  -&amp;gt;  Modules  -&amp;gt;  luci-compat&lt;/em&gt;&lt;br /&gt;
&lt;em&gt;LuCI  -&amp;gt;  Modules  -&amp;gt;  Translations  -&amp;gt;  Chinese Simplified (zh_Hans)&lt;/em&gt;&lt;br /&gt;
&lt;em&gt;LuCI  -&amp;gt;  Applications  -&amp;gt;  luci-app-argon-config&lt;/em&gt;&lt;br /&gt;
&lt;em&gt;LuCI  -&amp;gt;  Applications  -&amp;gt;  luci-app-ttyd&lt;/em&gt;&lt;br /&gt;
&lt;em&gt;LuCI  -&amp;gt;  Applications  -&amp;gt;  luci-app-ua2f&lt;/em&gt;&lt;br /&gt;
#其余模块可以自行选择&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;回到主界面后用方向键选择 Save 进行保存，在弹出的窗口直接按两次回车，此时会返回主界面，再次选中 Exit 退出&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://zellonbucket.oss-cn-beijing.aliyuncs.com/img/20251017162935610.png&quot; alt=&quot;image.png&quot; /&gt;&lt;/p&gt;
&lt;p&gt;内核编译配置&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;make kernel_menuconfig -j$(nproc) V=cs
&lt;/code&gt;&lt;/pre&gt;
&lt;blockquote&gt;
&lt;p&gt;此处所需时间较长，耐心等待&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;在弹出的页面中勾选 &lt;strong&gt;64-bit kernel&lt;/strong&gt; ，接着添加 UA2F 所需的防火墙内核&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;勾选&lt;em&gt;Networking support  -&amp;gt;  Networking options  -&amp;gt;  Network packet filtering framework (Netfilter)&lt;/em&gt;&lt;br /&gt;
随后进入上面刚勾选的选项，勾选如下选项&lt;br /&gt;
&lt;em&gt;-&amp;gt;  Core Netfilter Configuration  -&amp;gt;  Netfilter NFNETLINK interface&lt;/em&gt;&lt;br /&gt;
&lt;em&gt;-&amp;gt;  Core Netfilter Configuration  -&amp;gt;  Netfilter LOG over NFNETLINK interface&lt;/em&gt;&lt;br /&gt;
&lt;em&gt;-&amp;gt;  Core Netfilter Configuration  -&amp;gt;  Netfilter connection tracking support&lt;/em&gt;&lt;br /&gt;
&lt;em&gt;-&amp;gt;  Core Netfilter Configuration  -&amp;gt;  Connection tracking netlink interface&lt;/em&gt;&lt;br /&gt;
&lt;em&gt;-&amp;gt;  Core Netfilter Configuration  -&amp;gt;  NFQUEUE and NFLOG integration with Connection Tracking&lt;/em&gt;&lt;br /&gt;
随后再次保存并退出&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;编译前预下载&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;make download -j$(nproc) V=cs
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;最后开始编译&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;make -j$(nproc) V=cs
&lt;/code&gt;&lt;/pre&gt;
&lt;blockquote&gt;
&lt;p&gt;编译所需时间较长，耐心等待&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;编译完成后在 &lt;code&gt;immortalwrt/bin/targets/x86/64/&lt;/code&gt; 文件夹中取出编译好的固件，建议使用 &lt;code&gt;squashfs-combined-efi&lt;/code&gt; 后缀的压缩固件&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://zellonbucket.oss-cn-beijing.aliyuncs.com/img/20251017200823664.png&quot; alt=&quot;image.png&quot; /&gt;&lt;/p&gt;
&lt;h1&gt;刷入 ImmortalWrt&lt;/h1&gt;
&lt;p&gt;准备一个 ≥8GB 的U盘，刷入 &lt;a href=&quot;https://www.wepe.com.cn&quot;&gt;WePE&lt;/a&gt; ，放入编译好的 ImmortalWrt 固件和刷写工具，这里使用 &lt;a href=&quot;https://m0n0.ch/wall/physdiskwrite.php&quot;&gt;physdiskwrite&lt;/a&gt; 作为刷写工具。&lt;/p&gt;
&lt;p&gt;将 U盘插入要刷入的主机，重启进入 BIOS ，选择 U盘启动。重启进入 U盘后，使用 WePE 自带的 DiskGunis 将目标磁盘的所有分区删除，并改为 GPT 分区类型。打开 WePE 的命令提示符窗口，将刷写工具拖入命令提示符，按照 &lt;code&gt;CMD:physdiskwrite.exe -u xxxx.img&lt;/code&gt; 的格式输入命令，选择需要输入的磁盘，完成刷入，拔掉 U盘重启即可。&lt;/p&gt;
&lt;h1&gt;ImmortalWrt设置&lt;/h1&gt;
&lt;p&gt;重启后当显示 &lt;code&gt;root@ImmortalWrt:&lt;/code&gt; 时，即代表刷入成功。&lt;/p&gt;
&lt;p&gt;ImmortalWrt 的默认网段是 &lt;code&gt;192.168.1.0&lt;/code&gt; ，将路由与另一台电脑用网线连接，在电脑浏览器中输入 &lt;code&gt;192.168.1.1&lt;/code&gt; 即可访问路由器管理后台。&lt;/p&gt;
&lt;p&gt;设置好 root 管理密码后，进入 &lt;code&gt;系统-启动项-本地启动脚本&lt;/code&gt; 页面，将如下脚本粘贴到文本框中。&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;#开机自启UA2F
service ua2f start
service ua2f enable

#防火墙：
iptables -t nat -A PREROUTING -p udp --dport 53 -j REDIRECT --to-ports 53
iptables -t nat -A PREROUTING -p tcp --dport 53 -j REDIRECT --to-ports 53

# 防 IPID 检测
iptables -t mangle -N IPID_MOD
iptables -t mangle -A FORWARD -j IPID_MOD
iptables -t mangle -A OUTPUT -j IPID_MOD
iptables -t mangle -A IPID_MOD -d 0.0.0.0/8 -j RETURN
iptables -t mangle -A IPID_MOD -d 127.0.0.0/8 -j RETURN
# 由于本校局域网是 A 类网，所以我将这一条注释掉了，具体要不要注释结合你所在的校园网内网类型
# iptables -t mangle -A IPID_MOD -d 10.0.0.0/8 -j RETURN
iptables -t mangle -A IPID_MOD -d 172.16.0.0/12 -j RETURN
iptables -t mangle -A IPID_MOD -d 192.168.0.0/16 -j RETURN
iptables -t mangle -A IPID_MOD -d 255.0.0.0/8 -j RETURN
iptables -t mangle -A IPID_MOD -j MARK --set-xmark 0x10/0x10

# 防时钟偏移检测
iptables -t nat -N ntp_force_local
iptables -t nat -I PREROUTING -p udp --dport 123 -j ntp_force_local
iptables -t nat -A ntp_force_local -d 0.0.0.0/8 -j RETURN
iptables -t nat -A ntp_force_local -d 127.0.0.0/8 -j RETURN
iptables -t nat -A ntp_force_local -d 192.168.0.0/16 -j RETURN
iptables -t nat -A ntp_force_local -s 192.168.0.0/16 -j DNAT --to-destination 192.168.1.1

# 通过 iptables 修改 TTL 值
iptables -t mangle -A POSTROUTING -j TTL --ttl-set 64

# iptables 拒绝 AC 进行 Flash 检测
iptables -I FORWARD -p tcp --sport 80 --tcp-flags ACK ACK -m string --algobm --string &quot; src=\&quot;http://1.1.1.&quot; -j DROP
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;重启即可。&lt;/p&gt;
&lt;hr /&gt;
&lt;p&gt;由于校园网检测方式未知，目前仍可使用，在检测断网后只需要修改路由器MAC地址即可重新正常使用，因此配置定时更换MAC的任务即可绕过检测，本篇不再赘述。&lt;/p&gt;
</content:encoded></item><item><title>OpenClash附加规则获取</title><link>https://www.zellon.top/posts/250630-ipcrawltool/</link><guid isPermaLink="true">https://www.zellon.top/posts/250630-ipcrawltool/</guid><description>使用ipcrawltool抓取游戏ip实现openclash绕过规则配置</description><pubDate>Mon, 30 Jun 2025 00:00:00 GMT</pubDate><content:encoded>&lt;p&gt;本文主要记录使用ipcrawltool工具进行抓取程序ip以进行配置OpenClash实现绕过的方法。&lt;/p&gt;
&lt;h1&gt;一、需要的工具&lt;/h1&gt;
&lt;p&gt;ipcrawltool[https://wwry.lanzouq.com/iYfLB2zy6c8d  密码:1uqd]、需要绕过的程序[此处以&apos;雀魂麻将&apos;作为演示]&lt;/p&gt;
&lt;h1&gt;二、抓取IP&lt;/h1&gt;
&lt;p&gt;ipcrawltool[后文简称工具]会在目录下创建配置文件，抓取到的ip也会保存在目录下，因此建议单独创建一个文件夹用于放置工具。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;右键工具选择&apos;&lt;strong&gt;以管理员身份运行&lt;/strong&gt;&apos;&lt;img src=&quot;https://zellonbucket.oss-cn-beijing.aliyuncs.com/img/20250630171307416.png&quot; alt=&quot;image.png&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;blockquote&gt;
&lt;p&gt;⚠️注：如果要使用&apos;&lt;strong&gt;抓取udp&lt;/strong&gt;&apos;功能，需要在&apos;&lt;strong&gt;控制面板\系统和安全\Windows Defender 防火墙&lt;/strong&gt;&apos;中开启防火墙&lt;/p&gt;
&lt;/blockquote&gt;
&lt;ul&gt;
&lt;li&gt;勾选&apos;&lt;strong&gt;抓取udp&lt;/strong&gt;&apos;，选择模式&apos;&lt;strong&gt;netch&lt;/strong&gt;&apos; ，游戏进程名在任务管理器中右键进程选择属性即可查看&lt;img src=&quot;https://zellonbucket.oss-cn-beijing.aliyuncs.com/img/20250630171944327.png&quot; alt=&quot;image.png&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;img src=&quot;https://zellonbucket.oss-cn-beijing.aliyuncs.com/img/20250630172015928.png&quot; alt=&quot;image.png&quot; /&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;将获取到的进程名填入工具，下方的游戏名可填可不填&lt;img src=&quot;https://zellonbucket.oss-cn-beijing.aliyuncs.com/img/20250630172158429.png&quot; alt=&quot;image.png&quot; /&gt;&lt;/li&gt;
&lt;li&gt;随后点击’&lt;strong&gt;开始&lt;/strong&gt;‘，工具右侧窗口会出现&lt;/li&gt;
&lt;/ul&gt;
&lt;pre&gt;&lt;code&gt;正在检测[&apos;Jantama_MahjongSoul.exe&apos;]远程ip,可随时关闭窗口停止终止程序。
现在你可以打开全局，并启动游戏，发现的ip将会自动记录到当前目录的rules文件中
&lt;/code&gt;&lt;/pre&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;打开游戏游玩几分钟，关闭游戏，此时工具右侧窗口应该已经有了抓取到的ip&lt;img src=&quot;https://zellonbucket.oss-cn-beijing.aliyuncs.com/img/20250630172821809.png&quot; alt=&quot;image.png&quot; /&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;直接关闭工具即可&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h1&gt;三、在OpenClash内进行配置&lt;/h1&gt;
&lt;ul&gt;
&lt;li&gt;打开目录下工具生成的txt文件，一般以设置的游戏名或进程名开头&lt;img src=&quot;https://zellonbucket.oss-cn-beijing.aliyuncs.com/img/20250630173108956.png&quot; alt=&quot;image.png&quot; /&gt;&lt;/li&gt;
&lt;li&gt;复制此处的ip地址即可&lt;/li&gt;
&lt;li&gt;在OpenClash的&apos;&lt;strong&gt;规则附加&lt;/strong&gt;&apos;设置中找到‘&lt;strong&gt;自定义规则集附加&lt;/strong&gt;’，点击‘&lt;strong&gt;添加&lt;/strong&gt;’&lt;img src=&quot;https://zellonbucket.oss-cn-beijing.aliyuncs.com/img/20250630173450381.png&quot; alt=&quot;image.png&quot; /&gt;
&lt;img src=&quot;https://zellonbucket.oss-cn-beijing.aliyuncs.com/img/20250630173848794.png&quot; alt=&quot;image.png&quot; /&gt;&lt;/li&gt;
&lt;li&gt;按上图设置好后，在下方粘贴获取到的ip地址，并改成相应的格式即可
&lt;img src=&quot;https://zellonbucket.oss-cn-beijing.aliyuncs.com/img/20250630174051890.png&quot; alt=&quot;image.png&quot; /&gt;
格式如下:&lt;/li&gt;
&lt;/ul&gt;
&lt;pre&gt;&lt;code&gt;payload:
	-154.85.69.0/24
	-210.61.181.0/24
	-8.131.131.0/24
	-...(这些改成你自己获取的ip)
&lt;/code&gt;&lt;/pre&gt;
&lt;ul&gt;
&lt;li&gt;随后保存配置，再点击底部&apos;&lt;strong&gt;应用配置&lt;/strong&gt;&apos;即可，此时再打开程序时，对应的流量会直接转发，不经过clash内核处理。&lt;/li&gt;
&lt;/ul&gt;
</content:encoded></item><item><title>(已弃用)基于NapCat和Cyberbot的QQ群机器人部署教程</title><link>https://www.zellon.top/posts/250531-cyberbot/</link><guid isPermaLink="true">https://www.zellon.top/posts/250531-cyberbot/</guid><description>本文记录了使用napcat和cyberbot搭建QQ群聊机器人的过程。</description><pubDate>Sat, 31 May 2025 00:00:00 GMT</pubDate><content:encoded>&lt;blockquote&gt;
&lt;p&gt;2025.12.30补充
当前cyberbot已更新，不建议继续按照本篇所介绍的方法进行部署。同时，napcat也更新了token的生成机制，可移步至我的&lt;a href=&quot;https://www.zellon.top/posts/251230-mioki/&quot;&gt;另一篇文章&lt;/a&gt;。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;在本文之前，我在云服务器上已经部署了一个同样基于napcat的机器人，但当测试新插件时，如果机器人崩溃，会导致影响正常使用，因此我决定在本地的debian上再部署一个专门用于测试的机器人。&lt;/p&gt;
&lt;h1&gt;一、部署NapCat&lt;/h1&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;关于&lt;a href=&quot;https://napneko.github.io/&quot;&gt;NapCat&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;NapCat是基于TypeScript构建的Bot框架,通过相应的启动器或者框架,主动调用QQ Node模块提供给客户端的接口,实现Bot的功能.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;为将NapCat部署在本地的Debian系统上，此处使用&lt;a href=&quot;https://github.com/NapNeko/NapCat-Installer&quot;&gt;NapCat-Installer&lt;/a&gt;提供的一键安装脚本进行安装。该脚本支持&lt;strong&gt;Ubuntu 20+/Debian 10+/Centos9&lt;/strong&gt;。&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;curl -o \
napcat.sh \
https://nclatest.znin.net/NapNeko/NapCat-Installer/main/script/install.sh \
&amp;amp;&amp;amp; sudo bash napcat.sh
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;随后按照脚本提示继续部署即可。&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;此处我在使用shell安装时报错：&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;E: Could not get lock /var/lib/dpkg/lock-frontend. It is held by process 441980 (packagekitd)
E: Unable to acquire the dpkg frontend lock (/var/lib/dpkg/lock-frontend), is another process using it?
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;参考&lt;a href=&quot;https://blog.csdn.net/lun55423/article/details/108907779&quot;&gt;@Bungehurst的文章&lt;/a&gt;，解决方法如下：&lt;br /&gt;
方案一&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;sudo killall apt apt-get
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;如果提示没有apt进程(如下)，则执行方案二&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;apt: no process found
apt-get: no process found
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;方案二&lt;br /&gt;
依次执行下列命令&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;sudo rm /var/lib/apt/lists/lock
sudo rm /var/cache/apt/archives/lock
sudo rm /var/lib/dpkg/lock*
sudo dpkg --configure -a
sudo apt update
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;完成。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;&lt;img src=&quot;https://zellonbucket.oss-cn-beijing.aliyuncs.com/img/20250531160057438.png&quot; alt=&quot;image.png&quot; /&gt;
当看到如上提示时，即代表NapCat已经安装完毕。&lt;/p&gt;
&lt;p&gt;使用&lt;code&gt;screen -dmS napcat bash -c &quot;xvfb-run -a qq --no-sandbox&quot;&lt;/code&gt;启动NapCat后台服务。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;此时即可通过&lt;code&gt;宿主机IP:6099&lt;/code&gt;的地址访问NapCatWebUI，默认的token为&lt;code&gt;napcat&lt;/code&gt;。&lt;/strong&gt;&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;你也可以通过修改&lt;strong&gt;webui.json&lt;/strong&gt;文件更改WebUI的监听地址与端口&lt;br /&gt;
该文件默认位于&lt;code&gt;/opt/QQ/resources/app/app_launcher/napcat/config/webui.json&lt;/code&gt;&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;{
   &quot;host&quot;: &quot;0.0.0.0&quot;, // WebUI 监听地址
   &quot;port&quot;: 6099, // WebUI 端口
   &quot;token&quot;: &quot;xxxx&quot;, // 登录密钥, 默认是自动生成的随机登录密码
   &quot;loginRate&quot;: 3, // 每分钟登录次数限制
}
&lt;/code&gt;&lt;/pre&gt;
&lt;/blockquote&gt;
&lt;h1&gt;二、配置NapCat&lt;/h1&gt;
&lt;p&gt;登录WebUI后扫码登录QQ，随后点击左侧的网络配置，新建一个&lt;strong&gt;Websocket服务器&lt;/strong&gt;，并按照下图所示进行配置（可自行根据需要更改端口等）&lt;img src=&quot;https://zellonbucket.oss-cn-beijing.aliyuncs.com/img/20250531164154927.png&quot; alt=&quot;image.png&quot; /&gt;&lt;/p&gt;
&lt;p&gt;记住此处的端口号以及token，随后CyberBot的配置中需要用到此处的端口及token。&lt;/p&gt;
&lt;h1&gt;三、部署CyberBot&lt;/h1&gt;
&lt;blockquote&gt;
&lt;p&gt;关于&lt;a href=&quot;https://github.com/RicardaY/cyberbot&quot;&gt;CyberBot&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;CyberBot 是一个基于 node-napcat-ts 开发的高性能 QQ 机器人框架，提供了丰富的插件系统和易用的 API 接口。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;1.确保你的系统已安装 Node.js (推荐 v16 或更高版本)&lt;/p&gt;
&lt;p&gt;2.下载项目并安装依赖：&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;npx cyberbot-core
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;根据交互步骤进行即可&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;此处如果出现报错请检查nodejs版本，apt安装最高只有v18版本&lt;br /&gt;
如果版本过低，请参照&lt;a href=&quot;https://nodejs.cn/en/download&quot;&gt;node.js下载界面&lt;/a&gt;进行更新，推荐v22及以上版本&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;3.检查配置文件&lt;code&gt;config.json&lt;/code&gt;:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;{
  &quot;baseUrl&quot;: &quot;ws://localhost:3001&quot;, // napcat WebSocket地址
  &quot;accessToken&quot;: &quot;123456&quot;, // napcat token
  &quot;throwPromise&quot;: false, // 是否抛出异常
  &quot;reconnection&quot;: { // 重连配置
    &quot;enable&quot;: true, // 是否启用重连
    &quot;attempts&quot;: 10, // 重连次数
    &quot;delay&quot;: 5000, // 重连延迟
    &quot;debug&quot;: false // 是否打印重连日志
  },
  &quot;bot&quot;: 12345678, // 机器人QQ号
  &quot;master&quot;: [ // 主人QQ号
    1000001
  ],
  &quot;admins&quot;: [1000001], // 管理员QQ号列表
  &quot;plugins&quot;: { // 插件列表
    &quot;system&quot;: [ // 系统插件
      &quot;cmds&quot;
    ],
    &quot;user&quot;: [ // 用户插件
      &quot;demo&quot;
    ]
  },
  &quot;logger&quot;: { // 日志配置
    &quot;level&quot;: &quot;info&quot;, // 日志级别
    &quot;maxSize&quot;: &quot;10m&quot;, // 单个日志文件最大大小
    &quot;maxDays&quot;: 7 // 单个日志文件保存天数
  }
}
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;4.启动机器人&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;npm start
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;如果一切正常，此时你会收到bot发来的上线消息&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;[Bot🤖] 已成功上线！&lt;br /&gt;
📅 5/31/2025, 4:47:28 PM&lt;br /&gt;
🧩 插件状态: 2/2 已启用&lt;br /&gt;
💻 系统信息: linux x64&lt;br /&gt;
🎉 机器人已准备就绪，随时为您服务！&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;编写bot插件可参考&lt;a href=&quot;https://www.npmjs.com/package/cyberbot-core?activeTab=readme&quot;&gt;cyberbot-core - npm&lt;/a&gt;。&lt;/p&gt;
</content:encoded></item><item><title>PVE虚拟机的安装与使用</title><link>https://www.zellon.top/posts/250525-pve/</link><guid isPermaLink="true">https://www.zellon.top/posts/250525-pve/</guid><description>在x86主机上安装PVE虚拟化平台以实现All in One</description><pubDate>Sun, 25 May 2025 00:00:00 GMT</pubDate><content:encoded>&lt;blockquote&gt;
&lt;p&gt;为了给自己找点事情做，我决定在我作为nas使用的主机上折腾一番。原有的windows系统无法满足我对linux的需求，使用win自带的wsl想要从局域网内其他设备访问过于繁琐，而vmware提供的虚拟机服务又过于臃肿，且有各种难以言说的BUG。本文记录了我安装&lt;a href=&quot;www.proxmox.com&quot;&gt;PVE&lt;/a&gt;虚拟化平台并安装各系统的全过程。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h1&gt;备份！备份！备份！&lt;/h1&gt;
&lt;p&gt;在进行&lt;strong&gt;任何有风险的操作&lt;/strong&gt;前，请务必首先&lt;em&gt;&lt;strong&gt;备份重要数据&lt;/strong&gt;&lt;/em&gt;&lt;br /&gt;
&lt;em&gt;&lt;strong&gt;数据不备份，亲人两行泪&lt;/strong&gt;&lt;/em&gt;&lt;/p&gt;
&lt;h1&gt;一、准备工作&lt;/h1&gt;
&lt;p&gt;需要使用的软件/镜像：&lt;a href=&quot;https://www.proxmox.com&quot;&gt;ProxmoxVE.iso&lt;/a&gt;、&lt;a href=&quot;https://next.itellyou.cn/Original/#cbp=Product?ID=f905b2d9-11e7-4ee3-8b52-407a8befe8d1&quot;&gt;Windows10 22H2.iso&lt;/a&gt;、&lt;a href=&quot;https://ubuntu.com&quot;&gt;Ubuntu22.04&lt;/a&gt;、&lt;a href=&quot;https://www.fnnas.com&quot;&gt;FnOS&lt;/a&gt;  、&lt;a href=&quot;https://etcher.balena.io/&quot;&gt;balenaEtcher&lt;/a&gt;、&lt;a href=&quot;https://github.com/zxhpipi/pve-source&quot;&gt;pve_source&lt;/a&gt;、一个≥8G的U盘&lt;/p&gt;
&lt;h1&gt;二、安装流程&lt;/h1&gt;
&lt;h2&gt;1.安装PVE系统&lt;/h2&gt;
&lt;p&gt;首先准备好需要使用的PVE镜像，使用&lt;strong&gt;balenaEtcher&lt;/strong&gt;将镜像烧录到U盘中&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://zellonbucket.oss-cn-beijing.aliyuncs.com/img/20250525202452529.png&quot; alt=&quot;选择镜像与U盘&quot; /&gt;&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;烧录完成后你会看到成功的提示，如果失败可以尝试更换一个U盘或更换镜像&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;将U盘插入待刷入的电脑(后文简称电脑)中，进入电脑Bios界面，将启动选择更改为U盘启动，保存并重启。&lt;/p&gt;
&lt;p&gt;重启后会进入PVE安装界面，选择 &lt;strong&gt;Install Proxmox VE (Graphical)&lt;/strong&gt;。&lt;br /&gt;
&lt;img src=&quot;https://zellonbucket.oss-cn-beijing.aliyuncs.com/img/20250525205605535.png&quot; alt=&quot;image.png&quot; /&gt;&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;此处可能由于笔者电脑未安装显卡驱动，选择第一个选项后卡在了&apos;loading driver&apos;，此处参照&lt;a href=&quot;https://blog.csdn.net/z609932088/article/details/143777861&quot;&gt;DreamLife.大佬的文章&lt;/a&gt;进行设置后即可正常安装。&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;操作步骤：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;在引导菜单中，使用箭头键选择 &lt;strong&gt;Install Proxmox VE (Terminal UI)&lt;/strong&gt; 选项&lt;/li&gt;
&lt;li&gt;按下键盘上的E键进入编辑模式&lt;/li&gt;
&lt;li&gt;使用箭头键导航到以 &lt;strong&gt;linux&lt;/strong&gt; 开头的那一行，并将光标移动至该行末尾&lt;/li&gt;
&lt;li&gt;在末尾处插入一个空格，随后输入 &lt;strong&gt;nomodeset&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;按下 &lt;strong&gt;ctrl+x&lt;/strong&gt; 保存，启动安装程序&lt;/li&gt;
&lt;/ul&gt;
&lt;/blockquote&gt;
&lt;p&gt;Terminal UI模式下的安装流程与Graphical模式基本一致&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;当完成上述流程后，电脑会在完成准备工作后自动重启，当显示出如下界面即可正常开始安装。&lt;br /&gt;
&lt;img src=&quot;https://zellonbucket.oss-cn-beijing.aliyuncs.com/img/20250525210634928.png&quot; alt=&quot;image.png&quot; /&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;选择右下角 &lt;strong&gt;I agree&lt;/strong&gt; 以继续安装。&lt;/li&gt;
&lt;li&gt;选择安装硬盘，此处选择的&lt;em&gt;&lt;strong&gt;硬盘数据会被清空&lt;/strong&gt;&lt;/em&gt;，随后PVE系统将会安装在此硬盘上。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Country&lt;/strong&gt;选择&lt;strong&gt;China&lt;/strong&gt;，&lt;strong&gt;Time zone&lt;/strong&gt;会自动配置为&lt;strong&gt;Asia/Shanghai&lt;/strong&gt;，&lt;strong&gt;Keyboard Layout&lt;/strong&gt;选择&lt;strong&gt;U.S.English&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Password&lt;/strong&gt;和&lt;strong&gt;Confirm&lt;/strong&gt;自行设置，&lt;strong&gt;Email&lt;/strong&gt;使用自己的邮箱即可&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Management Interface&lt;/strong&gt;即PVE的管理网卡，如果有多个网卡建议选择与后文使用的另一台电脑在同一局域网下的网卡。&lt;strong&gt;Hostname&lt;/strong&gt;可随意设置，&lt;strong&gt;IP Address&lt;/strong&gt;使用与另一台电脑同一网段的地址，&lt;strong&gt;Gateway&lt;/strong&gt;使用路由器局域网地址，&lt;strong&gt;DNS Server&lt;/strong&gt;使用默认设置即可&lt;/li&gt;
&lt;li&gt;下一步确认后即可选择&lt;strong&gt;Install&lt;/strong&gt;进行安装，安装完成后重启电脑，拔出U盘&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;当重启后看到&lt;strong&gt;xxxx Login:&lt;/strong&gt; 字样即安装成功，记下上面的https://192.168.xx.xx:xxxx/地址，到另一台处于同一局域网下的电脑上打开。&lt;br /&gt;
&lt;img src=&quot;https://zellonbucket.oss-cn-beijing.aliyuncs.com/img/20250525212244354.png&quot; alt=&quot;image.png&quot; /&gt;&lt;/p&gt;
&lt;p&gt;在上图提示框中将&lt;strong&gt;Language&lt;/strong&gt;更改为中文简体，&lt;strong&gt;User name&lt;/strong&gt;为&lt;strong&gt;root&lt;/strong&gt;，&lt;strong&gt;Password&lt;/strong&gt;为你刚才设置的密码，随后点击&lt;strong&gt;Login&lt;/strong&gt;登入&lt;br /&gt;
&lt;img src=&quot;https://zellonbucket.oss-cn-beijing.aliyuncs.com/img/20250525212534399.png&quot; alt=&quot;image.png&quot; /&gt;
此处弹出的窗口稍后会消除，现在先点击确定关闭。&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://zellonbucket.oss-cn-beijing.aliyuncs.com/img/20250525212729655.png&quot; alt=&quot;image.png&quot; /&gt;&lt;/p&gt;
&lt;p&gt;此时即可看到PVE后台，但可以发现后台显示的数据比较简略，我们需要对后台进行优化。打开提供的&lt;strong&gt;MobaXterm&lt;/strong&gt;软件，使用ssh连接上PVE后台。&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://zellonbucket.oss-cn-beijing.aliyuncs.com/img/20250525213215888.png&quot; alt=&quot;image.png&quot; /&gt;&lt;/p&gt;
&lt;p&gt;将提供的文件中的&lt;strong&gt;pve_source.tar.gz&lt;/strong&gt;拖到&lt;strong&gt;MobaXterm&lt;/strong&gt;窗口左侧以上传到后台。
&lt;img src=&quot;https://zellonbucket.oss-cn-beijing.aliyuncs.com/img/20250525213440182.png&quot; alt=&quot;image.png&quot; /&gt;&lt;/p&gt;
&lt;p&gt;在终端中输入&lt;code&gt;tar zxvf pve_source.tar.gz&lt;/code&gt;对压缩包进行解压，解压完成后输入&lt;code&gt;./pve_source&lt;/code&gt;执行修改文件。在随后弹出的协议界面输入 &lt;strong&gt;y&lt;/strong&gt; 并回车即可进入脚本界面。&lt;br /&gt;
&lt;img src=&quot;https://zellonbucket.oss-cn-beijing.aliyuncs.com/img/20250525213921537.png&quot; alt=&quot;image.png&quot; /&gt;&lt;/p&gt;
&lt;p&gt;随后轮流执行 &lt;strong&gt;1.一键设置DNS、换源并更新系统&lt;/strong&gt;、&lt;strong&gt;6.去除无效订阅源提示&lt;/strong&gt;、&lt;strong&gt;7.修改PVE概要信息&lt;/strong&gt;、&lt;strong&gt;11.配置CPU工作模式(改为节能模式)&lt;/strong&gt;。&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;在 &lt;strong&gt;7.修改PVE概要信息&lt;/strong&gt; 中，建议按&lt;strong&gt;O&lt;/strong&gt;键选择推荐方案一
&lt;img src=&quot;https://zellonbucket.oss-cn-beijing.aliyuncs.com/img/20250525214501971.png&quot; alt=&quot;image.png&quot; /&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;修改完成后，在终端中输入&lt;code&gt;reboot&lt;/code&gt;重启，等待重启完成后即可看到完整信息展示的后台。&lt;br /&gt;
&lt;img src=&quot;https://zellonbucket.oss-cn-beijing.aliyuncs.com/img/20250525215118615.png&quot; alt=&quot;image.png&quot; /&gt;&lt;/p&gt;
&lt;p&gt;至此，PVE虚拟平台安装完毕，可以开始安装虚拟机。&lt;/p&gt;
&lt;h2&gt;2.安装FnOS&lt;/h2&gt;
&lt;p&gt;由于笔者有两块机械硬盘，想要在不同虚拟机里共用这两块机械硬盘，最好的办法是使用nas系统将硬盘共享，因此首先安装FnOS来对硬盘进行共享操作。&lt;/p&gt;
&lt;p&gt;此处参照&lt;a href=&quot;https://help.fnnas.com/articles/fnosV1/start/install-virtual.md&quot;&gt;飞牛OS官方教程文档&lt;/a&gt;。&lt;/p&gt;
&lt;h2&gt;3.安装Ubuntu&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;在PVE后台选择&lt;strong&gt;ISO镜像&lt;/strong&gt;，上传Ubuntu镜像&lt;/li&gt;
&lt;li&gt;点击&lt;strong&gt;创建虚拟机&lt;/strong&gt;，在&lt;strong&gt;操作系统&lt;/strong&gt;中选择上传的镜像&lt;img src=&quot;https://zellonbucket.oss-cn-beijing.aliyuncs.com/img/20250527193318769.png&quot; alt=&quot;image.png&quot; /&gt;&lt;/li&gt;
&lt;li&gt;设置好其余设置后点击完成创建&lt;/li&gt;
&lt;li&gt;选中新创建的Ubuntu虚拟机的&lt;strong&gt;控制台&lt;/strong&gt;，点击&lt;strong&gt;START NOW&lt;/strong&gt;启动虚拟机&lt;/li&gt;
&lt;li&gt;自行完成Ubuntu系统安装环节&lt;/li&gt;
&lt;/ul&gt;
&lt;h1&gt;三、安装后处理&lt;/h1&gt;
&lt;h4&gt;删除上传的ISO镜像&lt;/h4&gt;
&lt;p&gt;删除上传的ISO镜像以节省空间，删除后还需要去对应虚拟机内将其&lt;strong&gt;硬件&lt;/strong&gt;选项卡中的&lt;strong&gt;CD/DVD驱动器&lt;/strong&gt;改为空，以防止后续虚拟机启动时无法找到对应镜像报错。&lt;img src=&quot;https://zellonbucket.oss-cn-beijing.aliyuncs.com/img/20250527193935636.png&quot; alt=&quot;image.png&quot; /&gt;&lt;/p&gt;
&lt;h4&gt;配置虚拟机开机自启动(可选)&lt;/h4&gt;
&lt;p&gt;在虚拟机&lt;strong&gt;选项&lt;/strong&gt;选项卡中，将&lt;strong&gt;开机自启动&lt;/strong&gt;配置为是。&lt;img src=&quot;https://zellonbucket.oss-cn-beijing.aliyuncs.com/img/20250527194428302.png&quot; alt=&quot;image.png&quot; /&gt;&lt;/p&gt;
&lt;p&gt;至此，虚拟机平台以及虚拟机的安装已经完成，感谢你耐心看完整篇文章。如果你需要其他系统，如Windows、黑群晖、黑苹果之类，请自行前往互联网搜索教程。&lt;/p&gt;
&lt;h1&gt;四、PVE使用过程遇到的问题汇总&lt;/h1&gt;
&lt;h2&gt;1.添加磁盘&lt;/h2&gt;
&lt;h3&gt;· 在PVE上添加非系统盘（如外加机械硬盘）&lt;/h3&gt;
&lt;p&gt;&lt;img src=&quot;https://zellonbucket.oss-cn-beijing.aliyuncs.com/img/20250529101440122.png&quot; alt=&quot;image.png&quot; /&gt;
此处的 &lt;strong&gt;/dev/sda&lt;/strong&gt; 与 &lt;strong&gt;/dev/sdb&lt;/strong&gt; 即笔者在主机上安装的两张机械硬盘。由于PVE不会自动挂载除系统盘外的磁盘，此处我们需要对外加的硬盘进行手动挂载。&lt;em&gt;&lt;strong&gt;后文的操作涉及磁盘操作，请提前对磁盘内数据进行备份！！&lt;/strong&gt;&lt;/em&gt;&lt;/p&gt;
&lt;h4&gt;操作步骤&lt;/h4&gt;
&lt;p&gt;通过ssh连接到PVE后台，进行磁盘的分区操作。&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;fdsik /dev/sda   **# 此处的/dev/sda是你要进行操作的分区**
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;此处键入 &lt;strong&gt;d&lt;/strong&gt; 删除原有分区，如果原有分区较多，则需要多次删除以删除所有分区&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;Command (m for help): d
Selected partition 1
Partition 1 has been deleted.

 Command (m for help): d
No partition is defined yet!
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;此处键入 &lt;strong&gt;n&lt;/strong&gt; 创建分区，按照提示键入 &lt;strong&gt;p&lt;/strong&gt; 创建主分区，按照提示选择主分区的数量，默认1个分区即可&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;Command (m for help): n
Partition type
	p   primary (0 primary, 0 extended, 4 free)
	e   extended (container for logical partitions)
Select (default p): p
Partition number (1-4, default 1): 1  **# 创建分区的数量**
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;此处是选择分区的起始位置和终止位置，如无特殊要求直接按两次回车选择默认即可&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;First sector (2048-1465149167, default 2048):
Last sector, +/-sectors or +/-size{K,M,G,T,P} (2048-1465149167, default 1465149167):

Created a new partition 1 of type &apos;Linux&apos; and of size 698.6 GiB.
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;键入 &lt;strong&gt;p&lt;/strong&gt; 可查看分区是否创建成功，如果没有问题则键入 &lt;strong&gt;w&lt;/strong&gt; 写入创建的分区，保存退出&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;Command (m for help): p
Disk /dev/sda: 698.64 GiB, 750156374016 bytes, 1465149168 sectors
Disk model: ST9750420AS
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disklabel type: dos
Disk identifier: 0xd907c71c

Device     Boot Start        End    Sectors   Size Id Type
/dev/sda1        2048 1465149167 1465147120 698.6G 83 Linux

Command (m for help): w
The partition table has been altered.
Calling ioctl() to re-read partition table.
Syncing disks.
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;接下来格式化分区，推荐将分区格式化为ext4&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;mkfs -t ext4 /dev/sda1
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;分区现在已经创建完成，接下来用命令将分区挂载。在 &lt;strong&gt;/mnt&lt;/strong&gt; 目录下新建一个文件夹以将分区挂载到这个文件夹，这里的文件夹名字可以自定义。&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;mkdir /mnt/hd1  # 创建文件夹
mount -t ext4 /dev/sda1 /mnt/hd1  # 将sda1分区挂载到/mnta/hd1下
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;由于此处的挂载相当于临时挂载，在每次系统重启后都会自动取消挂载，我们需要设置开机自动挂载。&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;echo “mount -t ext4 /dev/sda1 /mnt/hd1” &amp;gt;&amp;gt; /etc/rc.local`
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;随后回到PVE后台，添加刚刚挂载好的磁盘，按照如图所示步骤操作即可。&lt;br /&gt;
&lt;img src=&quot;https://zellonbucket.oss-cn-beijing.aliyuncs.com/img/20250529104803215.png&quot; alt=&quot;image.png&quot; /&gt;&lt;/p&gt;
&lt;p&gt;点击&lt;strong&gt;添加&lt;/strong&gt;后完成添加磁盘操作，之后即可开始使用这块磁盘。&lt;/p&gt;
&lt;h3&gt;· rc.local无法开机自动运行&lt;/h3&gt;
&lt;p&gt;笔者在使用&lt;strong&gt;rc.local&lt;/strong&gt;配置开机自动挂载时遇到了报错，无法使用。在尝试修改权限，修改配置文件等无果后，采用另一种方式实现开机自动挂载。&lt;/p&gt;
&lt;p&gt;使用&lt;strong&gt;systemd&lt;/strong&gt;服务替代&lt;strong&gt;rc.local&lt;/strong&gt;&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;systemd /etc/systemd/system/mount-disks.service`  **# 创建mount-disks服务**
nano /etc/systemd/system/mount-disks.service`  **# 编辑mount-sidks服务**
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;在&lt;strong&gt;mount-disks.service&lt;/strong&gt;中插入以下文本&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;[Unit] 
Description=Mount Disks 
After=network.target 

[Service] 
Type=oneshot 
ExecStart=/bin/mount -t ext4 /dev/sda1 /mnt/hd1 
RemainAfterExit=true 

[Install] 
WantedBy=multi-user.target
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;启用并启动服务&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;systemctl enable mount-disks.service
systemctl start mount-disks.service
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;重启PVE测试，发现开机后磁盘成功挂载。&lt;/p&gt;
</content:encoded></item></channel></rss>