Update supplied README, public installation guide and five-phase roadmap
This commit is contained in:
1 parent
fd34fae8ef
commit
f17a6de63f
8 files changed
+325
-173
No files matched your search
@@ -1,13 +1,13 @@
|
||||
# Private Beta CI
|
||||
# Beta CI
|
||||
|
||||
此工作流仅workflow_dispatch手动触发,contents:read,不批准PR,不上传制品/缓存,不运行部署/加固。
|
||||
checkout固定至官方v7.0.1提交3d3c42e5aac5ba805825da76410c181273ba90b1,关闭凭据持久化。
|
||||
开发测试在用户venv里使用pytest、setuptools和wheel;这些不是产品运行依赖,不打入发行ZIP。
|
||||
|
||||
使用self-hosted Linux x64 runner标签vpsmaster-ubuntu22 / vpsmaster-ubuntu24,分别要求Python3.10/3.12。
|
||||
本轮私有验收会临时注册已授权实验VM为ephemeral runner,完成后移除,不安装后台服务、不使用GitHub托管计费额度。
|
||||
维护者验收可临时注册已授权实验VM为ephemeral runner,完成后移除,不安装后台服务、不使用GitHub托管计费额度。
|
||||
没有临时runner时手动执行会排队;不能把排队或本地测试当作远端CI通过。未来更换CI方式须单独核实费用、安全边界和凭据。
|
||||
仅对受信任已审代码使用本地runner;不得把持久自托管runner直接暴露给不受信任公开PR。
|
||||
|
||||
CI原始系统报告不上传;只在临时runner保存并按本轮清理。GitHub原生步骤日志由私有仓库访问权限保护。
|
||||
CI原始系统报告不上传;只在临时runner保存并按本轮清理。公开仓库中的GitHub原生步骤日志可能公开,禁止打印主机私密信息或凭据。
|
||||
Self-hosted免费政策参考:https://docs.github.com/en/billing/concepts/product-billing/github-actions ,执行时须核对当前政策。
|
||||
+37
-26
@@ -1,10 +1,39 @@
|
||||
# 安装、更新与卸载 / Installation
|
||||
|
||||
需要 Linux、Python 3.10+ 和标准库 venv;Ubuntu 22.04+ 是主要目标。安装器不下载依赖、不调用 pip/sudo/系统包管理器。缺少 Python 或 venv 时明确退出,由用户自行选择系统依赖安装方式。
|
||||
需要 Linux、Python 3.10+、标准库venv与Git。主要目标为Ubuntu22.04+。安装器不下载依赖,不调用pip、sudo或系统包管理器;缺少依赖时明确退出。
|
||||
|
||||
## ZIP 安装
|
||||
## 从公开GitHub安装(推荐)
|
||||
|
||||
从可信的 [Releases](https://github.com/griffinmx/VPSMaster/releases) 渠道取得同一构建的 ZIP 与 `SHA256SUMS.txt`。校验只能验证内容一致性,不能独立证明发布者身份。私有测试期间需访问授权。
|
||||
```bash
|
||||
git clone https://github.com/griffinmx/VPSMaster.git
|
||||
cd VPSMaster
|
||||
python3 -I -B install.py --run
|
||||
```
|
||||
|
||||
公开仓库克隆不需要GitHub登录。安装器检查根目录MANIFEST.sha256.json列出的文件与哈希,在用户目录创建不含pip的隔离环境。默认位置:`~/.local/share/vpsmaster/1.0.0b1/`。
|
||||
|
||||
`--run`安装后执行离线suite,不是联网all。看到Installed表示安装阶段完成;其后返回1可能表示体检发现问题或结果不完整,应分别查看输出。参数/完整性/安装失败通常返回2。不要跳过校验来解决文档与清单不一致问题。
|
||||
|
||||
```bash
|
||||
~/.local/share/vpsmaster/1.0.0b1/bin/vpsmaster --version
|
||||
~/.local/share/vpsmaster/1.0.0b1/bin/vpsmaster all --lang zh
|
||||
~/.local/share/vpsmaster/1.0.0b1/bin/vpsmaster all --offline --lang en
|
||||
```
|
||||
|
||||
联网默认300秒、每模块60秒。Server纯文字控制台中文需要字体支持,可以使用英文或支持中文的SSH终端。Git代理不会自动应用到所有诊断探测,下载成功不证明检测目标TCP/TLS可达。
|
||||
|
||||
## 新目录安装与重复安装
|
||||
|
||||
```bash
|
||||
python3 -I -B install.py --prefix "$HOME/vpsmaster-beta-test" --run
|
||||
"$HOME/vpsmaster-beta-test/bin/vpsmaster" all --lang en
|
||||
```
|
||||
|
||||
目标必须事先不存在,重复安装拒绝覆盖,不会擅自删除旧目录。安装器会打印实际入口路径。测试首次安装时可使用独立HOME或显式prefix,不能覆盖已有安装。
|
||||
|
||||
## ZIP安装(仅在取得对应发行文件时)
|
||||
|
||||
从可信发行渠道取得同一构建ZIP和SHA256SUMS.txt;[Releases](https://github.com/griffinmx/VPSMaster/releases)中Draft只对有权限的协作者可见,不等于公开发行文件。
|
||||
|
||||
```bash
|
||||
sha256sum -c SHA256SUMS.txt
|
||||
@@ -13,30 +42,12 @@ cd VPSMaster-v1.0.0-beta.1
|
||||
python3 -I -B install.py --run
|
||||
```
|
||||
|
||||
默认目录为 `~/.local/share/vpsmaster/1.0.0b1`。`--run` 安装后运行离线 suite;检测有发现时可能返回 1,先查看安装器和检测各自的输出。
|
||||
GitHub main的文档可能比旧Beta.1 ZIP更新,必须核对具体构建。校验和只验证内容一致性,不能独立证明发布者身份。
|
||||
|
||||
安装器检查根目录 `MANIFEST.sha256.json`,创建不含 pip 的隔离 venv,复制 Python 包并提供 `bin/vpsmaster` 与 `bin/proxydoctor`。不要自行移动清单中的文件。
|
||||
## 更新、卸载与兼容
|
||||
|
||||
## 自定义目录与重复安装
|
||||
更新时使用新源码目录和新的安装prefix,验证后再切换入口;旧报告不自动迁移。卸载前备份报告并核对安装路径,只删除自己确认的安装目录,不要删除整个~/.local/share。
|
||||
|
||||
```bash
|
||||
python3 -I -B install.py --prefix "$HOME/vpsmaster-beta-test"
|
||||
"$HOME/vpsmaster-beta-test/bin/vpsmaster" --version
|
||||
```
|
||||
vpsmaster与proxydoctor命令指向同一实现;内部Python包、JSON schema和PROXYDOCTOR_*环境变量保留。旧~/.local/share/proxydoctor/不自动迁移。源码运行仍支持`bash vpsmaster.sh ...`和`bash proxydoctor.sh ...`。
|
||||
|
||||
必须指定尚不存在的目录;重复安装拒绝覆盖。安装失败会清理本次新建的安装目录,保留既有安装。
|
||||
|
||||
## 更新和卸载
|
||||
|
||||
更新时先核对新包校验和,安装到新的目录并验证,再切换自己使用的启动器路径。没有自动更新、旧报告迁移或自动卸载。卸载前备份报告、核对实际安装路径,然后仅删除自己确认的安装目录;不要删除整个 `~/.local/share`。
|
||||
|
||||
## 源码运行与兼容
|
||||
|
||||
```bash
|
||||
bash vpsmaster.sh check --lang zh
|
||||
bash proxydoctor.sh check --lang en
|
||||
```
|
||||
|
||||
内部 Python 包与发行元数据仍名为 `proxydoctor`;现有 JSON schema、`PROXYDOCTOR_*` 环境变量保留。没有新增 `VPSMASTER_*` 环境变量别名。旧 `~/.local/share/proxydoctor/` 不自动迁移。
|
||||
|
||||
[使用指南](USAGE.md) · [返回首页](../../README.md)
|
||||
[使用指南](USAGE.md) · [首页](../../README.md)
|
||||
@@ -26,4 +26,4 @@
|
||||
- Bandwidth `attempted` counts scheduled sample slots, including automatically
|
||||
skipped slots; it is not an actual network-request counter. Inspect sample errors.
|
||||
|
||||
当前不具备一键安全加固或自动修复。未来遵循检测→解释→预览→确认→备份→执行→验证→回滚;回滚不能覆盖所有断网/重启/云安全组/宿主机故障。本轮只更新路线与私有发布准备。
|
||||
当前不具备一键安全加固或自动修复。未来遵循检测→解释→预览→确认→备份→执行→验证→回滚;回滚不能覆盖所有断网/重启/云安全组/宿主机故障。未来阶段以[当前五阶段路线](../security/ROADMAP.md)为准。
|
||||
@@ -28,7 +28,7 @@
|
||||
|
||||
MIT许可,保留历史版权和第三方来源说明。仅准备 Beta 候选;不代表已经公开发布。
|
||||
|
||||
当前不具备一键安全加固或自动修复。未来遵循检测→解释→预览→确认→备份→执行→验证→回滚;回滚不能覆盖所有断网/重启/云安全组/宿主机故障。本轮只更新路线与私有发布准备。
|
||||
当前不具备一键安全加固或自动修复。未来遵循检测→解释→预览→确认→备份→执行→验证→回滚;回滚不能覆盖所有断网/重启/云安全组/宿主机故障。未来阶段以[当前五阶段路线](../security/ROADMAP.md)为准。
|
||||
|
||||
## 仓库目录整理
|
||||
|
||||
|
||||
+17
-31
@@ -1,45 +1,31 @@
|
||||
# Linux VPS 安全诊断与加固路线 / Roadmap
|
||||
# VPSMaster 五阶段开发路线
|
||||
|
||||
项目从可信检测逐步发展为 Linux 服务器安全诊断与加固助手。Phase 1 是当前基础,Phase 2–5 均为 Planned,不属于当前 Beta,不承诺固定交付时间。
|
||||
路线以[中文README](../../README.md)为准。Phase 1为当前Beta基础;Phase 2–5均为后续规划,尚未实现的能力不属于Beta.1,不承诺固定发布时间。
|
||||
|
||||
## Phase 1 — VPS 综合检测(当前 Beta)
|
||||
## Phase 1 — VPS 综合检测
|
||||
|
||||
系统与可见资源、DNS/IPv4/IPv6/TCP/TLS、原生 UDP 与可选系统 ICMP/TCP 路由、BGP/ASN/IP 信息、基础只读安全体检、本地报告与恢复。系统依赖、权限和第三方数据决定实际覆盖;媒体仅公开网页可达性。[当前限制](../release/KNOWN_LIMITATIONS.md)
|
||||
当前:系统与可见资源、接口/连通性/DNS/TCP/TLS、UDP及条件允许的ICMP/TCP、IP/ASN/BGP、公开网页可达性、只读安全体检与本地JSON/Markdown/恢复日志。实际覆盖取决于工具、权限及第三方来源,网页可达不等于解锁或播放。
|
||||
|
||||
## Phase 2 — 检测能力完善(Planned)
|
||||
## Phase 2 — 检测能力完善与备份回滚(Planned)
|
||||
|
||||
- CPU、磁盘性能基准,独立明确授权和负载预算。
|
||||
- 中国大陆电信、联通、移动测速覆盖和可靠性完善。
|
||||
- 扩展 IP 情报交叉验证、网络线路分析与诊断建议。
|
||||
- 更完整的 Linux 安全基线、VPS 购买验收和性能分析。
|
||||
完善CLI彩色综合报表、CPU/磁盘性能基准、三网测速、IP情报交叉验证、线路建议与安全基线。建立配置快照、差异对比、基础恢复和可验证的恢复流程,为部署与加固提供保障。负载测试仍需单独明确授权和资源预算。
|
||||
|
||||
## Phase 3 — 一键安全加固(Planned,未来重点)
|
||||
## Phase 3 — 一键代理部署(Planned)
|
||||
|
||||
- SSH 配置、登录保护、密钥认证策略。
|
||||
- UFW/nftables 配置及 Fail2ban 暴力破解防护。
|
||||
- 系统更新/补丁检查,用户权限与文件权限加固。
|
||||
- 不必要服务与开放端口管理,Linux 安全基线。
|
||||
- 可选择的加固方案、风险解释与修改预览。
|
||||
常见代理协议的一键安装、服务配置、状态检测、更新与卸载。初期优先无需域名的基础方式,再逐步支持域名、证书及订阅管理。强调配置和凭据安全、服务生命周期及故障诊断,不用公网明文传输暴露订阅凭据。
|
||||
|
||||
不会默认自动修改服务器配置。执行必须经过用户明确确认;检测到风险不等于获得修改授权。不通过关闭安全保护或放宽权限“修复”。
|
||||
## Phase 4 — 一键安全加固(Planned,未来重点)
|
||||
|
||||
## Phase 4 — 安全备份、回滚与持续监控(Planned)
|
||||
SSH登录保护与密钥策略、UFW/nftables、Fail2ban、系统更新、权限和端口管理。提供方案选择、风险解释、修改预览、执行验证和有条件回滚。
|
||||
|
||||
- 修改前备份 SSH、防火墙及相关配置,展示变更差异。
|
||||
- 验证并保留 SSH 管理通道,考虑业务端口和云安全组,执行后重新验证连接。
|
||||
- 在具备可靠机制时提供超时回滚、操作审计及恢复向导。
|
||||
- 定期安全体检、配置漂移、异常登录提醒、网络稳定性与历史报告对比。
|
||||
|
||||
重点避免用户加固 SSH/防火墙时失去管理访问;不能承诺自动恢复全部断网、重启、云安全组或宿主故障。涉及高风险变更不得无人确认执行,必须说明回滚前提与人工恢复入口。
|
||||
|
||||
## Phase 5 — Web UI 与可视化管理(长期规划)
|
||||
|
||||
本地 Web 面板、服务器状态、安全风险和加固任务、备份/恢复界面、多 VPS 及可选服务部署维护。认证、权限、敏感凭据及访问安全是前提,默认不向公网开放管理入口。
|
||||
|
||||
## 长期安全原则
|
||||
涉及SSH、防火墙或其他可能影响连接的变更,必须经用户明确确认。遵循:
|
||||
|
||||
**检测 → 解释 → 预览 → 确认 → 备份 → 执行 → 验证 → 回滚**
|
||||
|
||||
默认只读、显式授权、幂等与审计、管理连接及业务端口保护。未知不能视为安全;有依据地描述风险,不提供无法解释的绝对安全评分。
|
||||
保护SSH管理连接和既有业务端口;不默认执行高风险无人确认变更,不通过关闭安全保护“修复”。回滚需可靠前提,不承诺恢复全部断网、云安全组、重启或宿主故障。
|
||||
|
||||
[首页](../../README.md) · [安全反馈](SECURITY.md)
|
||||
## Phase 5 — Web UI 与服务器管理(Planned,长期规划)
|
||||
|
||||
本地Web面板、检测报告展示、安全风险、部署服务、备份恢复、多VPS与可选服务管理。默认不向公网开放管理入口,认证、权限与凭据保护是基础要求。
|
||||
|
||||
[安全反馈](SECURITY.md) · [当前限制](../release/KNOWN_LIMITATIONS.md)
|
||||
Reference in new issue
Block a user