已核实本地全部文件。项目核心是 `kejilion.sh`,当前版本 **v3.0.0**,定位为 **Debian / Ubuntu VPS 交互式管理工具箱**。 ## 一、主菜单功能 ### 1. 系统信息查询 可以查看: - 主机名、系统版本、Linux 内核 - CPU 型号、架构、核心数、占用率 - 内存、Swap、磁盘使用情况 - 累计接收和发送流量 - TCP 拥塞控制算法、默认队列算法 - 公网 IPv4、IPv6 - IP 国家、城市、运营商 - 系统时区、当前时间、运行时长 其中公网 IP 和地理信息依赖 `ip.sb`、`ipinfo.io` 等外部服务。 ### 2. 系统更新 执行 Debian/Ubuntu 完整更新: - 更新软件索引 - 执行 `full-upgrade` 也支持命令行调用: - `./kejilion.sh update` - `./kejilion.sh 更新` ### 3. 系统清理 包括: - 清理无用软件包 - 清理软件包缓存 - 清理已删除软件的残留配置 - 清理和轮转 systemd 日志 - 不主动批量删除旧内核,保留回退能力 也支持: - `./kejilion.sh clean` - `./kejilion.sh 清理` ### 4. BBR 管理 提供 BBR 管理入口,但实际下载并执行第三方 `Linux-NetSpeed/tcpx.sh`。 因此本地只能确认有该入口,具体支持哪些 BBR 算法和操作取决于联网下载的第三方脚本。 另外,“系统工具”中还有一套本地实现的 **BBRv3/XanMod 内核管理**。 ### 5. 测试脚本合集 #### IP 与解锁检测 - ChatGPT 解锁状态检测 - Region 流媒体解锁测试 - yeahwu 流媒体解锁检测 - IP 质量体检 #### 网络线路测试 - BestTrace 三网回程延迟路由测试 - MTR 三网回程线路测试 - SuperSpeed 三网测速 - NextTrace 快速回程测试 - NextTrace 指定 IP 回程测试 - ludashi2020 三网线路测试 - i-abc 多功能测速 #### 性能测试 - YABS 性能测试 - Geekbench 5 CPU 测试 - Bench 综合性能测试 - 融合怪综合测评 这些项目大多数由第三方在线脚本完成,本地项目主要提供调用入口。 --- ## 二、系统工具 ### 1. 设置脚本启动快捷键 - 为当前脚本设置自定义 Bash 别名 - 写入当前用户的 `~/.bashrc` - 启动时还会尝试创建 `/usr/local/bin/k` ### 2. 修改登录密码 - 调用系统 `passwd` - 修改当前用户密码 ### 7. DNS 优化 支持: - 国外 DNS:Cloudflare、Google - 国内 DNS:阿里 DNS 等 - 同时配置 IPv4 和 IPv6 DNS 注意:实现方式是直接修改 `/etc/resolv.conf`,可能被 `systemd-resolved`、NetworkManager 或云初始化重新覆盖。 ### 10. IPv4/IPv6 切换 支持: - IPv4 优先 - IPv6 优先 实际实现更接近: - IPv4 优先:禁用 IPv6 - IPv6 优先:重新启用 IPv6 目前是临时 `sysctl` 设置,重启后可能失效。 ### 11. 查看端口占用 使用: - `ss` - 或 `netstat` - 缺少工具时尝试安装 `iproute2` ### 12. Swap 管理 可以: - 查看当前 Swap - 设置新的 Swap 大小 - 创建或替换 `/swapfile` - 更新 `/etc/fstab` - 调整失败时尝试恢复原来的 Swap - 清理重复的 Swap 挂载配置 ### 13. 用户管理 支持: - 创建普通用户 - 创建具有 sudo 权限的用户 - 为已有用户授予 sudo - 撤销脚本授予的 sudo - 删除用户 - 查看用户主目录、用户组和 sudo 状态 脚本会阻止删除: - `root` - 当前运行脚本的用户 - 不存在或名称格式异常的用户 ### 14. 用户名和密码生成器 可以生成: - 随机用户名 - 随机英文姓名 - UUID - 16 位随机密码 - 32 位随机密码 ### 15. 系统时区管理 包含多个预设时区: - 中国上海、中国香港 - 东京、首尔、新加坡、印度、迪拜、悉尼 - 伦敦、巴黎、柏林、莫斯科、阿姆斯特丹、马德里 - 美国西部、美国东部 - 温哥华、墨西哥城、圣保罗、布宜诺斯艾利斯 ### 16. BBRv3/XanMod 管理 这是本地代码中较完整的一套 BBR 功能: - 仅支持 Debian/Ubuntu 的 `amd64` - 检测 CPU 的 x86-64-v1/v2/v3/v4 等级 - 添加 XanMod APT 软件源 - 安装对应等级的 XanMod 内核 - 设置 BBR 拥塞算法 - 设置 `fq_pie` 队列算法 - 更新 BBRv3/XanMod 内核 - 卸载 XanMod 内核 - 卸载前确保官方回退内核存在 - 更新 GRUB - 操作完成后询问是否重启 也可以直接运行: - `./kejilion.sh bbr3` - `./kejilion.sh bbrv3` ### 18. 修改主机名 - 显示当前主机名 - 校验新主机名格式 - 使用 `hostnamectl` 修改 ### 19. 系统更新源管理 支持: - 切换阿里云源 - 切换官方源 - 备份初始更新源 - 恢复初始更新源 - 兼容传统 `.list` 和 Deb822 `.sources` - 修改后运行 `apt-get update` 验证 - 验证失败时自动尝试回滚 ### 20. Crontab 定时任务管理 支持: - 添加每月任务 - 添加每周任务 - 添加每天任务 - 添加每小时任务 - 按关键字删除任务 - 使用 `crontab -e` 手动编辑任务 ### 21. `/etc/hosts` 管理 支持: - 查看 hosts 内容 - 添加解析 - 按关键字删除解析 添加时没有严格校验 IP 和域名格式。 ### 22. Fail2Ban SSH 防护 使用 Docker 版 LinuxServer Fail2Ban: - 安装并启动 Docker - 创建 Fail2Ban 容器 - 安装 SSH 防暴力破解配置 - 查看 SSH Jail 状态 - 查看拦截记录 - 实时查看日志 - 卸载防护程序 - 检测和处理旧版宿主机 Fail2Ban 配置目录为: - `/path/to/fail2ban/config` ### 23. 流量限额自动关机 配合 `Limiting_Shut_down.sh`: - 设置每月流量额度 - 每分钟检查一次流量 - 分别统计接收和发送流量 - 任意一个方向达到阈值即关机 - 支持启用和停用 - 每月 1 日 01:00 重启服务器,使内核累计流量归零 需要注意:它不是维护月度流量数据库,而是依靠每月重启清零累计值。 --- ## 三、命令行快捷功能 ### 软件包快捷命令 支持直接调用: - `./kejilion.sh install 软件包` - `./kejilion.sh add 软件包` - `./kejilion.sh remove 软件包` - `./kejilion.sh del 软件包` --- ## 四、本地辅助文件 ### `Limiting_Shut_down.sh` 负责: - 读取 `/proc/net/dev` - 排除回环、Docker、虚拟网桥和隧道接口 - 累计收发流量 - 达到阈值后关机 ### `check_x86-64_psabi.sh` 负责检测 CPU 支持: - x86-64-v1 - x86-64-v2 - x86-64-v3 - x86-64-v4 用于选择对应的 XanMod 内核。不过主脚本当前运行时会下载远程同名文件,而不是直接使用本地文件。 ### `archive.key` XanMod 软件源的 PGP 公钥。主脚本目前同样下载远程版本,没有直接读取本地文件。 ### `sshd.local` 包含 Fail2Ban SSH Jail 配置,但当前主脚本没有引用它,应属于备用或遗留文件。 --- ## 五、核实后发现的文档偏差 `app.md` 的总体描述基本符合代码,但有几项需要修正或注明: - “系统负载”无法确认:代码显示 CPU 占用率,但没有显示标准的 Load Average。 - “开启或关闭 BBR”:本地可以确认 BBRv3 安装、更新和卸载内核;普通 BBR 的关闭功能取决于远程 `tcpx.sh`。 - 流媒体检测、测速和性能测试大多是第三方脚本入口,并非本仓库自行实现。 - “每月重新统计流量”实际通过每月重启服务器清零,并非独立月度计费系统。 ## 最终概括 本地项目实际提供五大类功能: 1. **VPS 系统信息、更新与清理** 2. **用户、Swap、DNS、时区、更新源等系统管理** 3. **BBR、网络线路与性能测试** 4. **Fail2Ban SSH 防护和流量限额关机** 5. **软件包与系统维护命令行快捷操作** 其中系统管理、账户、Swap、更新源、Crontab、hosts、BBRv3 和限流功能有较完整的本地实现;普通 BBR 菜单和多数测试功能主要依赖远程脚本。