chore: 移除过时的 VPS 管理功能

- 移除 WARP、Python 安装、留言板、重启和集群管理菜单
- 删除相关辅助函数和远程执行逻辑
- 将脚本版本提升至 3.0.0,以体现破坏性变更
- 重写功能文档并清理过时说明
This commit is contained in:
eddy
2026-08-01 23:13:07 +08:00
parent 2aa1b3eb6f
commit 2b153e2ec7
3 changed files with 334 additions and 608 deletions
+332 -79
View File
@@ -1,95 +1,348 @@
本项目是一套面向 **Debian / Ubuntu VPS 交互式服务器管理脚本工具箱**,核心程序是 `kejilion.sh`。当前功能聚焦于系统管理、网络测试与调优、安全防护、流量限额控制和 VPS 集群运维
已核实本地全部文件。项目核心是 `kejilion.sh`,当前版本 **v3.0.0**,定位为 **Debian / Ubuntu VPS 交互式管理工具箱**
## 1. VPS 系统管理
## 一、主菜单功能
- 查看 CPU、内存、Swap、磁盘、流量和系统负载
- 查看操作系统、内核、主机名、IP、运营商和地理位置
- 查看 TCP 拥塞算法、系统时间及运行时长
- 更新系统、清理系统垃圾
- 修改主机名、时区、DNS 和登录密码
- 管理 Swap、用户和 sudo 权限
- IPv4/IPv6 优先级切换
- 查看端口占用
- 管理 `/etc/hosts`
- 管理 Crontab 定时任务
- 切换系统更新源(阿里云 / 官方 / 备份初始源 / 还原初始源)
- 安装 Python 指定版本(基于 pyenv
- 重启服务器
### 1. 系统信息查询
> 说明:一键重装系统(dd)功能已移除。
可以查看:
## 2. 网络与 VPS 测试
- 主机名、系统版本、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 清理`
### 5. BBR 管理
提供 BBR 管理入口,但实际下载并执行第三方 `Linux-NetSpeed/tcpx.sh`
因此本地只能确认有该入口,具体支持哪些 BBR 算法和操作取决于联网下载的第三方脚本。
另外,“系统工具”中还有一套本地实现的 **BBRv3/XanMod 内核管理**
### 8. 测试脚本合集
#### IP 与解锁检测
- ChatGPT 解锁状态检测
- Region 流媒体解锁测试
- yeahwu 流媒体解锁检测
- IP 质量体检
#### 网络线路测试
- BestTrace 三网回程延迟路由测试
- MTR 三网回程线路测试
- SuperSpeed 三网测速
- NextTrace 快速回程测试
- NextTrace 指定 IP 回程测试
- ludashi2020 三网线路测试
- i-abc 多功能测速
#### 性能测试
- WARP 管理
- ChatGPT 解锁测试
- 流媒体解锁检测
- IP 质量检测
- 三网回程路由测试
- MTR 线路测试
- NextTrace 路由测试
- SuperSpeed 和 i-abc 多功能测速
- YABS 性能测试
- Geekbench 5 CPU 测试
- Bench 综合测试
- Bench 综合性能测试
- 融合怪综合测评
## 3. 网络加速与系统调优
- 开启或关闭 BBR
- BBRv3/XanMod 内核管理
- 设置 Swap
- 配置国内或国外 DNS
- 优化时区和系统软件
## 4. 安全防护
### SSH Fail2Ban
- SSH 防暴力破解
- 查看 SSH 封禁状态和拦截记录
- 实时查看 Fail2Ban 日志
- 安装或卸载 SSH 防护
相关配置文件:`/path/to/fail2ban/config/fail2ban/jail.d/linux-ssh.conf`
### 账户安全
- 用户管理
- 用户和密码生成
- 登录密码管理
## 5. 流量限额自动关机
- 设置每月流量额度
- 定期统计接收和发送流量
- 接收或发送任意一个方向达到阈值后自动关机(多数 VPS 只计出站,按单向判断更贴近实际配额)
- 每月重新开始统计
- 支持启用和停用
相关文件:`Limiting_Shut_down.sh`
## 6. VPS 集群批量管理
可以维护多台服务器列表,并批量执行:
- 安装本项目脚本
- 更新或清理系统
- 安装 BBR3
- 设置 Swap 和时区
- 开放端口
- 执行自定义命令
- 导入或导出服务器列表
这些项目大多数由第三方在线脚本完成,本地项目主要提供调用入口。
---
总体而言,这个项目可以概括为:
## 二、系统工具
> **VPS 系统管理 + 网络测试与调优 + SSH 安全防护 + 流量限额控制 + 集群运维。**
### 1. 设置脚本启动快捷键
部分功能会在运行时从 GitHub 或第三方站点下载脚本和配置,因此实际可用性取决于外部资源以及目标 Debian / Ubuntu 版本。
- 为当前脚本设置自定义 Bash 别名
- 写入当前用户的 `~/.bashrc`
- 启动时还会尝试创建 `/usr/local/bin/k`
## 下载源说明
### 2. 修改登录密码
- 通过 GitHub Raw 下载的第三方脚本默认走官方地址,可通过环境变量 `GITHUB_RAW_URL` 覆盖(例如自建反代);使用项目独立域名的测试工具不受该变量控制。
- 脚本自身的更新源由环境变量 `UPDATE_RAW_URL` 控制,默认指向本仓库的 `main` 分支。
- 已移除按地区自动切换国内镜像的逻辑(原镜像域名已失效)。
- 调用系统 `passwd`
- 修改当前用户密码
### 7. DNS 优化
支持:
- 国外 DNSCloudflare、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 重启服务器,使内核累计流量归零
需要注意:它不是维护月度流量数据库,而是依靠每月重启清零累计值。
---
## 三、脚本自身功能
### 脚本更新
支持:
- 获取远程版本号和更新日志
- 比较本地与远程版本
- 拒绝自动降级
- 下载新版本
- 执行 Bash 语法检查
- 校验下载版本
- 原子替换当前脚本
- 更新 `/usr/local/bin/k`
- 自动启动新版本
### 软件包快捷命令
支持直接调用:
- `./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 菜单和多数测试功能主要依赖远程脚本。