Skip to content

About

一个多功能 VPS 脚本工具集,包含系统更新、测速、IP 质量检测、流媒体解锁测试等多种实用功能。

Resources

Stars

196 stars

Watchers

2 watching

Forks

Repository files navigation

VPS Scripts - 多功能 VPS 脚本工具集

当前主入口已恢复可用,推荐使用模块化启动器 vps.sh。 兼容入口 vps_scripts.sh 以 legacy-only 状态保留,仅维护旧命令转交能力;新功能统一进入 vps.sh 和模块脚本。

curl -fsSL https://raw.githubusercontent.com/everett7623/vps_scripts/main/vps.sh -o /tmp/vps.sh && bash /tmp/vps.sh

目录

当前状态

当前主线

  • vps.sh 已恢复为当前推荐主入口
  • vps_scripts.sh 作为受支持的 legacy-only 兼容入口保留,不再新增独立功能
  • 主框架、公共函数库和系统工具已完成一轮集中优化
  • 主启动器支持宽窄终端自适应、中文对齐和更清晰的视觉层级
  • 仓库验证脚本覆盖菜单路径、脚本安全、发布元数据、启动命令格式、隐私边界与核心安装器

已完成的重点

  • 启动器安全性与菜单映射修正
  • 公共函数库清理与高风险 eval 移除
  • 依赖安装与系统更新脚本幂等性增强
  • 系统工具核心脚本统一到新的日志、校验、备份风格
  • 启动器与共享 UI 已统一响应式宽度、中文显示宽度和窄屏布局
  • README、CHANGELOG、开发/发布文档补齐

当前优化阶段

  • network_test / performance_test:严格模式、日志目录回退与单项失败不中断(Issue #2 已修复)
  • service_install:全部 21 个脚本已启用 set -euo pipefail;Docker 支持 --status / --dry-run
  • other_tools:BBR、Swap、Fail2ban、哪吒均支持 --status 与预览/非交互参数
  • uninstall_scripts:全部 4 个脚本支持 --dry-run 预览,备份统一到 /var/backups/vps_scripts/
  • system_tools:系统优化、主机名、时区、系统更新、系统清理均支持 --dry-run,预览无需 root
  • 下一步:逐个分类补充流行且活跃维护的新工具,适当下调过时工具的优先级;补充包管理器/systemd 的模拟行为测试
bash optimize_system.sh --auto --dry-run
bash change_hostname.sh --dry-run new-host
bash set_timezone.sh --dry-run shanghai
bash update_system.sh --dry-run

功能特性

系统工具

  • 系统信息查看 - 查看 CPU、内存、硬盘、网络、服务状态等信息
  • 系统更新 - 支持多种 Linux 发行版更新与基础清理
  • 系统清理 - 清理缓存、日志、临时文件、孤包与 Docker 垃圾
  • 系统优化 - 提供保守型内核参数、limits、swap 与 SSH 基线优化
  • 主机名管理 - 支持主机名修改、校验、备份、回滚
  • 时区管理 - 支持时区设置、NTP 配置与时间同步
  • 系统健康巡检 - 只读检查负载、内存、磁盘、服务、重启标记与网络连通
  • 安全基线巡检 - 只读检查 SSH、防火墙、Fail2ban、监听端口、账号与关键权限

网络测试

  • IP 质量检测 - 检测 IP 信息、可用性与基础网络表现
  • 流媒体解锁 - 测试 Netflix、YouTube、Disney+ 等平台
  • 三网测速 - 电信、联通、移动及国际节点测速
  • 回程路由 - 跟踪 VPS 到国内方向的回程路由
  • 响应测试 - 测试不同地区到 VPS 的连通与延迟

性能测试

  • YABS 测试 - 综合性能基准测试
  • 融合怪测试 - 多项能力集合测试
  • 超售测试 - 检测 CPU、内存、I/O 等超售迹象
  • 硬件性能测试 - CPU、内存、硬盘等基础性能检测

服务部署

  • Docker 环境 - Docker 与 Compose 一键安装
  • Web 环境 - Nginx、Apache、PHP、MySQL 等常见组件
  • 开发环境 - Node.js、Python、Java、Go 等运行环境
  • 自托管平台 - Coolify、Dokploy(PaaS),Portainer、Dockge(容器管理),Nginx Proxy Manager(可视化反代)
  • 控制面板 - 1Panel、宝塔、aaPanel、CyberPanel 等
  • 代理服务 - 3x-ui、S-UI、X-Panel 面板;sing-box、v2ray-agent、Hysteria2 一键脚本;Xray / Hysteria2 官方核心安装

其他工具

  • 监控 - 哪吒探针(v1 Agent,SHA-256 校验)、Komari、Beszel、Uptime Kuma
  • 组网与穿透 - Tailscale、Cloudflare Tunnel、FRP(官方 frpc/frps,SHA-256 校验,默认 token 认证)
  • 系统增强 - BBR、Fail2ban、Swap、WARP、acme.sh、tmux、oh-my-zsh
  • 现代 CLI 工具包 - 从发行版仓库安装 btop、ripgrep、fd、bat、fzf、jq、ncdu、restic

系统要求

支持的操作系统

  • Ubuntu 18.04+
  • Debian 10+
  • CentOS 7+
  • RHEL / Rocky / AlmaLinux 8+
  • Alpine Linux 3.10+

Fedora、Arch 等发行版中的部分脚本可能可用,但不在当前正式兼容矩阵内。详细信息以 version.json 为准。

基础要求

  • CPU:1 核及以上
  • 内存:建议 512MB 及以上
  • 硬盘:至少 1GB 可用空间
  • 权限:大多数安装、清理、系统修改功能需要 root 或 sudo
  • Shell:Bash 4.0+
  • 网络:需要访问 GitHub 与部分第三方检测/安装源

快速开始

推荐方式:模块化主入口

curl -fsSL https://raw.githubusercontent.com/everett7623/vps_scripts/main/vps.sh -o /tmp/vps.sh && bash /tmp/vps.sh

如果没有 curl,也可以使用:

wget -qO /tmp/vps.sh https://raw.githubusercontent.com/everett7623/vps_scripts/main/vps.sh && bash /tmp/vps.sh

兼容方式:旧入口

curl -fsSL https://raw.githubusercontent.com/everett7623/vps_scripts/main/vps_scripts.sh -o /tmp/vps_scripts.sh && bash /tmp/vps_scripts.sh

本地使用

git clone https://github.com/everett7623/vps_scripts.git
cd vps_scripts
chmod +x vps.sh
./vps.sh

快捷命令

首次在交互终端中以 root 身份运行主启动器时,如果系统中没有本项目管理的 vps 命令,会自动安装快捷命令。已有同名但不属于本项目的命令不会被自动覆盖。

curl -fsSL https://raw.githubusercontent.com/everett7623/vps_scripts/main/vps.sh -o /tmp/vps.sh && bash /tmp/vps.sh --install
vps

也可以从主菜单选择“8. 快捷命令管理 → 1. 安装或更新命令”。请使用 root 用户执行安装;普通用户可在命令前加 sudo。该命令会安装到 /usr/local/bin/vps,重新登录或切换目录后仍可直接运行。 再次执行 vps --install 可更新启动器,执行 vps --uninstall-command 可移除快捷命令。

VPS_AUTO_INSTALL_COMMAND=true 可在非交互场景中强制尝试创建(仍不会自动覆盖无关的同名命令)。如需禁止首次运行时自动创建快捷命令,可设置:

curl -fsSL https://raw.githubusercontent.com/everett7623/vps_scripts/main/vps.sh -o /tmp/vps.sh && VPS_AUTO_INSTALL_COMMAND=false bash /tmp/vps.sh

使用建议

  • 新环境优先使用 vps.sh
  • 老习惯或旧文档引用场景可继续使用 vps_scripts.sh,但新功能与修复优先进入 vps.sh
  • 涉及系统修改、软件安装、网络配置的功能建议先在可回滚环境中验证
  • 运行前尽量确认主机已具备 bash、curl 或 wget

详细功能

系统工具模块

点击展开系统工具详细说明

系统信息查看

  • 显示主机名、系统版本、内核、架构、运行时间
  • 显示 CPU、内存、Swap、硬盘、网络接口、公共 IP
  • 显示虚拟化环境、常见服务状态与基础登录信息

系统更新

  • 自动识别 apt / yum / dnf / apk / pacman
  • 支持常规更新、安全更新、清理与重启检查
  • 已补充备份、日志和较稳的非交互流程

系统清理

  • 支持缓存、日志、临时文件、孤包、Docker 清理
  • 深度模式可选清理旧内核与用户缓存
  • 支持 --dry-run 和磁盘分析模式

系统优化

  • 保守启用 TCP/BBR、limits、swap 保护、SSH 基线
  • 以稳定优先,不再默认做过激调优
  • 关键配置会先备份再写入

主机名与时区

  • 主机名脚本支持校验、备份、报告、回滚
  • 时区脚本支持常用时区、搜索、NTP 配置与同步

网络测试模块

点击展开网络测试详细说明

常见能力

  • IP 检测与归属信息查看
  • 流媒体解锁检测
  • 三网测速与国际测速
  • 回程路由追踪
  • 网络响应与基础可达性测试

性能测试模块

点击展开性能测试详细说明

常见能力

  • YABS 综合测试
  • 融合怪测试
  • 超售检测
  • CPU / 内存 / 硬盘基础性能测试

服务部署模块

点击展开服务部署详细说明

常见能力

  • Docker 环境部署
  • Web 服务栈部署
  • 多语言开发环境安装
  • 自托管 PaaS(Coolify、Dokploy)与容器管理面板(Portainer、Dockge、Nginx Proxy Manager)
  • 依赖 Docker 的条目会先检查 Docker 是否已安装,未安装时提示先执行“服务安装 → 1”

菜单排序

  • 常用条目在前;较少使用或上游停止维护的条目移到末尾并标注“旧版 / 上游已归档”

卸载与清理模块

  • “完全卸载”仅备份并删除 VPS Scripts 自身的快捷命令、启动器文件和项目日志。
  • 完全卸载备份保存在 /var/backups/vps_scripts/,不会落入临时隔离运行目录。
  • Docker、Web 服务、数据库等业务组件必须通过“服务残留清理”逐项确认,不会被完全卸载功能自动删除。
  • 服务残留清理默认保留 /var/lib/docker、/var/lib/mysql 与站点目录 /var/www;需要彻底删除数据时显式加 --purge-data。
  • 系统环境回滚的 Swap 项只处理 /swapfile,不会关闭或删除其他交换分区。
  • 所有卸载/清理/回滚脚本都可先预览再执行,例如:
bash clean_service_residues.sh --list
bash clean_service_residues.sh --target docker --dry-run
bash rollback_system_environment.sh --target swap --dry-run
bash clear_configuration_files.sh --target nginx --yes

哪吒监控 Agent

  • 安装当前上游 nezhahq/agent(v1+)版本,下载后按官方 checksums.txt 校验 SHA-256。
  • 客户端密钥写入权限为 600 的配置文件,不出现在 systemd 命令行,也不会在终端回显。
bash nezha.sh --status
NZ_CLIENT_SECRET=你的密钥 bash nezha.sh --server 面板地址 --port 8008 --yes
bash nezha.sh --uninstall --dry-run

项目结构

config/                    项目配置
lib/                       公共函数库
scripts/
  system_tools/            系统工具
  network_test/            网络测试
  performance_test/        性能测试
  service_install/         服务安装
  other_tools/             其他工具
  uninstall_scripts/       卸载脚本
tests/                     仓库级校验脚本
vps.sh                     主启动器
vps_scripts.sh             legacy-only 兼容启动器
version.json               版本与元数据

当前脚本分类数量:

  • system_tools: 9
  • network_test: 5
  • performance_test: 4
  • service_install: 21
  • other_tools: 6
  • uninstall_scripts: 4

验证与维护

当前主框架状态

  • vps.sh 已作为主入口恢复可用
  • vps_scripts.sh 仅作为 legacy-only 转交入口保留
  • lib/common_functions.sh、install_deps.sh、update_system.sh 已完成一轮核心重构
  • system_tools 核心脚本已补上统一的语法校验链

推荐验证命令

bash -n vps.sh
bash -n vps_scripts.sh
LAUNCHER_OVERRIDE="$PWD/vps.sh" REPO_ROOT_OVERRIDE="$PWD" bash tests/validate_launcher_paths.sh
REPO_ROOT_OVERRIDE="$PWD" bash tests/validate_core_assets.sh
REPO_ROOT_OVERRIDE="$PWD" bash tests/validate_system_tools.sh
REPO_ROOT_OVERRIDE="$PWD" bash tests/validate_system_tools_launcher.sh
REPO_ROOT_OVERRIDE="$PWD" bash tests/validate_service_install_strict_mode.sh
REPO_ROOT_OVERRIDE="$PWD" bash tests/validate_release_metadata.sh

如果本机装有 shellcheck,建议在提交前补跑。

相关文档

更新日志

最近这一轮重点变化

  • 发布 1.1.8:mocked pkg/systemd 真实路径测试(BBR / Fail2ban);Go 与 Node.js 官方 SHA-256 校验;Fail2ban --yes;Node 二进制安装改用临时目录
  • 发布 1.1.7:第一方加固——install_deps 支持 --dry-run/--yes;性能测试安装失败不再中断;网络/性能测试支持 --skip-install;磁盘 --size 与吞吐 --client 参数校验
  • 发布 1.1.6:代理工具菜单更新——新增 S-UI、mack-a 八合一、Hysteria2 官方与 Xray 官方核心安装;勇哥 x-ui、X-Panel 改用当前上游地址;面板在前、脚本在后。代理工具菜单编号有变化
  • 发布 1.1.5:菜单更新——新增 Coolify、Dokploy、Dockge、Nginx Proxy Manager、Beszel;FRP 改为官方 Release + SHA-256 校验的第一方安装器(原链接已失效);Uptime Kuma 升级到 2.x;过时条目下移并标注。服务安装、其他工具、社区脚本三个子菜单编号有变化
  • 发布 1.1.4:系统优化、主机名、时区、系统更新四个工具新增 --dry-run 预览;修复时区路径穿越、SSH 基线未校验、yum/dnf 重启判断反向等问题
  • 发布 1.1.3:卸载/清理/回滚脚本新增 --dry-run 预览与持久化备份;修复哪吒 Agent 下载失效并加入 SHA-256 校验;Docker 安装支持 --status / --dry-run
  • 发布 1.1.2:修复 Issue #2 网络测试全挂;统一一键启动命令为常见一行格式;诊断脚本日志目录回退与软失败硬化
  • 发布 1.1.1:首次交互式 root 启动自动创建持久化 vps 命令,并提供禁用、非交互与同名命令冲突保护
  • 全部 21 个 service_install 脚本已启用 set -euo pipefail 严格模式
  • 全部 network_test 和 performance_test 脚本已加入严格模式与安全临时目录
  • 新增 die() 共享辅助函数,简化 print_error; exit 1 模式
  • 新增 wppanel.sh 作为 WP Panel 一等脚本(替代原内联 run_remote_command)
  • 新增 tests/validate_service_install_strict_mode.sh 自动化覆盖测试
  • 第一方远程安装路径统一使用下载、校验、执行流程
  • 发布 1.1.0:新增现代 CLI 工具包、收紧 CI、移除启动器默认计数请求
  • 1.0.0 作为项目首个稳定基线保留
  • 中文与英文混排菜单改为按终端显示宽度对齐
  • 24-88 列终端可响应式显示,窄屏详情自动换行

查看完整历史

开发与贡献

欢迎继续完善这个项目。

建议的开发方向

  • 逐个分类引入流行、活跃维护的新工具或项目,过时工具下调优先级或标记为旧版
  • 为包管理器、systemd 与下载路径补充模拟行为测试
  • 进一步减少高风险远程执行模式
  • 提升 UTF-8 文档一致性与脚本可维护性
  • 增加更多 repo-local 验证脚本
  • 不再恢复已删除的 update_scripts/;如需复用历史逻辑,应迁移为新的窄范围模块并配套测试

贡献方式

  1. Fork 本仓库
  2. 创建功能分支
  3. 提交变更
  4. 推送分支
  5. 发起 Pull Request

提交前建议

  • 至少运行 README 中列出的基础验证命令
  • 用户可见行为变化要同步更新 README.md 与 CHANGELOG.md
  • 涉及系统脚本的改动,尽量说明风险、回滚方式和适用范围

报告问题时建议附带

  • 发行版与版本号
  • 架构信息
  • 触发问题的脚本名称
  • 报错输出或复现步骤

常见问题

Q: 现在应该用哪个入口?

A: 优先使用 vps.sh。vps_scripts.sh 是受支持的 legacy-only 转交入口,不再承载独立功能。

Q: 脚本支持 ARM 架构的 VPS 吗?

A: 支持 x86_64 和 arm64,具体能力仍取决于目标脚本和所依赖的第三方工具。

Q: 系统工具现在稳定吗?

A: 主框架和系统工具已经完成一轮集中优化,并增加了基础校验链;但服务安装、网络测试等分类仍在持续优化中。

Q: 为什么有些功能仍会访问第三方源?

A: 这类脚本本身就依赖软件源、测速节点、流媒体检测点或第三方项目,README 只做如实说明,不代表所有外部脚本都由本仓库维护。

免责声明

  1. 本项目仅供学习、运维参考与自动化辅助使用。
  2. 涉及系统修改、服务安装、网络测试的功能请自行评估风险。
  3. 第三方脚本、第三方软件源和第三方服务的稳定性与安全性不完全由本仓库控制。
  4. 使用本项目产生的后果由使用者自行承担。

鸣谢

许可证

本项目采用 AGPL-3.0 许可证。


如果这个项目对你有帮助,欢迎点个 Star 支持一下。

Star History Chart

Made by everettlabs

About

一个多功能 VPS 脚本工具集,包含系统更新、测速、IP 质量检测、流媒体解锁测试等多种实用功能。

Resources

Stars

196 stars

Watchers

2 watching

Forks

Releases

Packages

Used by

Contributors

Languages