代码同步

pull/79/head^2
zhangchenhao 2025-05-10 16:55:33 +08:00
parent 66be1555d2
commit 323655f538
2 changed files with 107 additions and 86 deletions

BIN
.github/img/main.gif vendored Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.5 MiB

193
README.md
View File

@ -1,38 +1,44 @@
# ALLinSSL - SSL证书全流程管理工具
# ALLinSSL - SSL证书全流程管理工具 🔒
## 项目介绍
![GitHub License](https://img.shields.io/github/license/allinssl/allinssl)
![GitHub Stars](https://img.shields.io/github/stars/allinssl/allinssl?style=social)
ALLinSSL 是一个集证书申请、管理、部署和监控于一体的SSL证书全生命周期管理工具。本工具可帮助用户轻松管理多个网站的SSL证书提供自动化的证书申请、更新和部署流程并实时监控证书状态确保网站安全持续运行。
> 🚀 一站式SSL证书生命周期管理解决方案 | 支持Let's Encrypt | 多平台部署 | 自动化运维
## QQ交流群768610151
<p align="center">
<img src=".github/img/main.gif" alt="控制台预览" width="600">
</p>
## 主要功能
## 📌 项目亮点
- ✅ 全自动证书申请/续期
- 🌐 多平台部署CDN/面板/云存储)
- 🔔 证书过期监控
- 🛡️ 安全入口保护
- 📊 可视化证书管理
- **证书申请**: 支持通过ACME协议从Let's Encrypt等CA自动申请免费证书
- **证书管理**: 集中管理所有SSL证书包括手动上传和自动申请的证书
- **证书部署**: 支持一键部署证书到多种平台如阿里云、腾讯云、宝塔面板、1Panel等
- **站点监控**: 实时监控站点SSL证书状态提前预警证书过期
- **自动化任务**: 支持定时任务,自动续期证书并部署
- **多平台支持**: 支持多种DNS提供商阿里云、腾讯云等的DNS验证方式
## 🚧 开发路线图
## 技术栈
我们正在积极完善以下功能,欢迎通过 [GitHub Issues](https://github.com/allinssl/allinssl/issues) 提出建议!
- **后端**: Go语言
- **前端**: HTML/CSS/JavaScript
- **数据存储**: SQLite
- **证书管理**: ACME协议 (Let's Encrypt)
- **定时任务**: 内置调度器
[![GitHub Milestone](https://img.shields.io/github/milestones/progress/allinssl/allinssl/1)](https://github.com/allinssl/allinssl/milestone/1)
## 安装说明
## 🚀 快速开始
### 系统要求
- Linux 系统
- 操作系统: Linux
- 权限要求: 需要有读写权限创建数据目录
### 极速安装
```bash
curl -sSO http://download.allinssl.com/install_allinssl.sh && bash install_allinssl.sh allinssl
```
### 安装步骤
#### 1. 通过官网安装脚本安装
#### 2. 编译安装:
### Docker安装
```bash
docker run -d --name allinssl -p 7979:8888 -v /www/allinssl/data:/www/allinssl/data allinssl/allinssl:latest
```
### 编译安装
- 编译安装时需要注意可执行文件的名称和运行目录,在`allinssl.sh`中需要修改为对应的名称和路径否则可能导致脚本不可用
- 推荐安装路径为`/www/allinssl/`,可执行文件名为`allinssl`,建议将`allinssl.sh`软链到`/usr/bin/`目录下
- 安装:
@ -41,74 +47,89 @@ ALLinSSL 是一个集证书申请、管理、部署和监控于一体的SSL证
3. 运行可执行文件启动服务
- Linux: 执行 `./allinssl start`
### 首次启动设置
### 首次配置
1. 访问 `http://your-server-ip:port/安全入口`
2. 添加DNS提供商和主机提供商凭证 ☁️
3. 创建工作流
1. 首次启动后,设置管理员账号和密码
2. 设置安全入口和端口号
3. 完成初始设置后,即可通过 `http://your-ip:your-port/your-secure-entry` 访问管理界面
[完整安装文档](https://allinssl.com/guide/getting-started.html)
## 使用指南
## 🎯 核心功能
### 自动化部署
### 📜 证书管理
![证书管理流程](https://allinssl.com/images/workflow-edit.png)
#### 证书申请
1. 添加DNS验证凭证支持阿里云、腾讯云等
2. 输入需要申请证书的域名
3. 输入邮箱地址用于接收ca的通知
| 功能 | 支持提供商 |
|--------------|-----------------------------------|
| DNS验证 | 阿里云、腾讯云、Cloudflare... |
| 证书部署 | 宝塔面板、1Panel、阿里云CDN、腾讯云COS |
| 监控通知 | 邮件、Webhook、钉钉 |
#### 证书上传
1. 选择手动上传证书
2. 粘贴证书和私钥内容
#### 证书部署
1. 选择申请或上传的证书
2. 选择部署目标支持阿里云CDN、腾讯云CDN、宝塔面板、1Panel等
3. 添加部署凭证如阿里云、腾讯云的API密钥
#### 通知
1. 配置通知通道
2. 输入通知内容和主题
### 站点监控
1. 添加需要监控的站点域名
2. 系统将自动检测站点证书状态
3. 设置证书到期提醒阈值默认为30天
4. 当证书接近过期时,系统将发出提醒
5. 连续多次检测网站异常时,系统将发出提醒
## 命令行操作
```bash
# 基本操作
allinssl 1: 启动服务
allinssl 2: 停止服务
allinssl 3: 重启服务
allinssl 4: 修改安全入口
allinssl 5: 修改用户名
allinssl 6: 修改密码
allinssl 7: 修改端口
# Web服务管理
allinssl 8: 关闭web服务
allinssl 9: 开启web服务
allinssl 10: 重启web服务
# 后台任务管理
allinssl 11: 关闭后台自动调度
allinssl 12: 开启后台自动调度
allinssl 13: 重启后台自动调度
# 系统管理
allinssl 14: 关闭https
allinssl 15: 获取面板地址
allinssl 16: 更新ALLinSSL到最新版本文件覆盖安装
allinssl 17: 卸载ALLinSSL
### ⚙️ 自动化流程
```mermaid
graph LR
A[证书申请] --> B{有效期监控}
B -->|剩余30天| C[自动续期]
C --> D[部署到目标平台]
D --> E[通知结果]
```
## 许可证
## 🛠️ 技术架构
- **后端**Go语言
- **前端**HTML/CSS/JavaScript
- **数据存储**SQLite
- **证书管理**ACME协议 (Let's Encrypt)
- **定时任务**:内置调度器
本项目使用 [LICENSE](./LICENSE) 文件中规定的许可证进行授权。
## 📚 使用文档
- [快速入门指南](https://allinssl.com/guide/getting-started.html)
- [操作手册](https://allinssl.com/features/dashboard.html)
## 💻 命令行操作
```bash
# 基本操作
allinssl 1: 启动服务 🚀
allinssl 2: 停止服务 ⛔
allinssl 3: 重启服务 🔄
allinssl 4: 修改安全入口 🔐
allinssl 5: 修改用户名 👤
allinssl 6: 修改密码 🔑
allinssl 7: 修改端口 🔧
# Web服务管理
allinssl 8: 关闭web服务 🌐➖
allinssl 9: 开启web服务 🌐➕
allinssl 10: 重启web服务 🌐🔄
# 后台任务管理
allinssl 11: 关闭后台自动调度 📻⛔
allinssl 12: 开启后台自动调度 📻✅
allinssl 13: 重启后台自动调度 📻🔄
# 系统管理
allinssl 14: 关闭https 🔓
allinssl 15: 获取面板地址 📋
allinssl 16: 更新ALLinSSL到最新版本文件覆盖安装 🔄⬆️
allinssl 17: 卸载ALLinSSL 🗑️
```
## 🤝 参与贡献
欢迎通过以下方式参与项目:
1. 提交Issue报告问题 🐛
2. 发起Pull Request改进代码 💻
3. 完善项目文档 📖
4. 分享使用案例 ✨
[贡献指南](https://allinssl.com/community/contributing.html)
## 📞 联系我们
- QQ交流群[768610151](https://qm.qq.com/q/KTmWuskjm0) 👥
- 邮箱support@allinssl.com 📧
- 问题反馈:[GitHub Issues](https://github.com/allinssl/allinssl/issues)
## 📜 许可证
本项目采用 [AGPL-3.0 license](./LICENSE) 开源协议
---
> 🌟 **Star本项目以支持开发** | 推荐用于中小型网站运维、多证书管理场景、自动化HTTPS部署