Files
AllinSSL/README.md

257 lines
8.5 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# All in SSL - SSL证书全流程管理工具 🔒
[![GitHub License](https://img.shields.io/github/license/allinssl/allinssl)](https://github.com/allinssl/allinssl?tab=readme-ov-file#AGPL-3.0-1-ov-file)
![GitHub Stars](https://img.shields.io/github/stars/allinssl/allinssl?style=social)
[![GitHub Issues](https://img.shields.io/github/issues/allinssl/allinssl)](https://github.com/allinssl/allinssl/issues)
[![GitHub Release](https://img.shields.io/github/v/release/allinssl/allinssl)](https://github.com/allinssl/allinssl/releases)
[![Docker Pulls](https://img.shields.io/docker/pulls/allinssl/allinssl)](https://hub.docker.com/r/allinssl/allinssl)
> 🚀 一站式SSL证书生命周期管理解决方案 | 支持Let's Encrypt、ZeroSSL、Google、SSL.COM、BuyPass等多家CA | 多平台部署 | 自动化运维
<p align="center">
<img src=".github/img/main.gif" alt="控制台预览" width="600">
</p>
## 📌 项目亮点
- ✅ 全自动证书申请/续期
- 🌐 多平台部署CDN/WAF/面板/云存储)
- 🔔 证书过期监控
- 🛡️ 安全入口保护
- 📊 可视化证书管理
## 🚧 开发路线图
我们正在积极完善以下功能,欢迎通过 [GitHub Issues](https://github.com/allinssl/allinssl/issues) 提出建议!
[![GitHub Milestone](https://img.shields.io/github/milestones/progress/allinssl/allinssl/1)](https://github.com/allinssl/allinssl/milestone/1)
## 🚀 快速开始
### 系统要求
- Linux 系统
- macOS/Windows请参照下面教程暂不支持脚本安装
- Docker
### 极速安装
```bash
curl -sSO http://download.allinssl.com/install_allinssl.sh && bash install_allinssl.sh allinssl
```
### Docker安装
```bash
docker run -itd \
--name allinssl \
-p 7979:8888 \
-v /www/allinssl/data:/www/allinssl/data \
-e ALLINSSL_USER=allinssl \
-e ALLINSSL_PWD=allinssldocker \
-e ALLINSSL_URL=allinssl \
-e TZ=Asia/Shanghai \
allinssl/allinssl:latest
```
### 二进制文件安装
1. 打开 [releases 下载页面](https://github.com/allinssl/allinssl/releases)
2. 下载最新版本的二进制文件
3. 解压缩文件并通过终端或者CMD进入解压目录
4. 获取登陆地址,账号和密码
- 账号和登陆地址:
- Linux: `./allinssl 15`
- Windows: `.\allinssl 15`
- 密码:
- Linux: `./allinssl 6`
- Windows: `.\allinssl 6`
5. 运行可执行文件启动服务,请保持终端打开,或者自行配置进程守护
- Linux: 执行 `./allinssl start`
- Windows: 终端进入到解压目录,执行 `.\allinssl start`
6. 访问 `http://your-server-ip:port/安全入口`,使用账号和密码登录
7. 更多命令行操作请参考 [命令行操作](#💻-命令行操作)
### 源码编译安装
如需自行编译请确保已安装Go 1.23+环境:
```bash
git clone https://github.com/allinssl/allinssl.git
cd allinssl
go mod tidy
go build -o allinssl cmd/main.go
./allinssl start
```
### 首次配置
1. 访问 `http://your-server-ip:port/安全入口`
2. 添加DNS提供商和主机提供商凭证 ☁️
3. 创建工作流
[完整安装文档](https://allinssl.com/guide/getting-started.html)
## 🎯 核心功能
### 📜 证书管理
![证书管理流程](https://allinssl.com/images/workflow-edit.png)
| 功能 | 支持提供商 |
|--------------|-----------------------------------|
| DNS验证 | 阿里云、腾讯云、Cloudflare... |
| 证书部署 | 宝塔面板、1Panel、阿里云CDN、腾讯云COS |
| 监控通知 | 邮件、Webhook、钉钉 |
### ⚙️ 自动化流程
```mermaid
graph LR
A[证书申请] --> B{有效期监控}
B -->|剩余30天| C[自动续期]
C --> D[部署到目标平台]
D --> E[通知结果]
```
## 🛠️ 技术架构
### 🏗️ 系统架构图
```mermaid
graph TB
subgraph "前端层"
A[Vue 3 + Naive UI]
A --> B[Vite构建系统]
A --> C[Turbo Monorepo]
end
subgraph "后端层"
D[Gin Web框架]
D --> E[RESTful API]
D --> F[Session管理]
D --> G[中间件层]
end
subgraph "核心服务层"
H[证书申请服务]
I[证书部署服务]
J[监控调度服务]
K[通知服务]
end
subgraph "数据存储层"
L[(SQLite数据库)]
M[文件存储]
end
subgraph "外部集成"
N[ACME协议]
O[云服务商API]
P[DNS提供商]
Q[CDN/面板API]
end
A -.-> D
D --> H
D --> I
D --> J
D --> K
H --> L
I --> L
J --> L
K --> L
H --> N
I --> O
H --> P
I --> Q
```
### 💡 核心技术
- **后端**: Go + Gin框架 + SQLite数据库
- **前端**: Vue 3 + Naive UI + Vite构建
- **证书**: ACME协议 + go-acme/lego客户端
- **集成**: 多云服务商API + DNS提供商
- **部署**: 支持面板、CDN、存储等多种目标
## 📚 使用文档
- [快速入门指南](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)
## 🙏 致谢
**感谢在SSL证书管理领域做出贡献的开源项目和社区**
- [Let's Encrypt](https://letsencrypt.org/) - 免费SSL证书颁发机构
- [lego](https://github.com/go-acme/lego) - Go语言ACME客户端为本项目提供核心证书申请功能
- [acme.sh](https://github.com/acmesh-official/acme.sh) - 纯Shell脚本实现的ACME客户端
- [certimate](https://github.com/usual2970/certimate) - 工作流部分DNS服务商实现方式参考
- [certd](https://github.com/certd/certd) - 工作流部分的设计参考
- [Certbot](https://certbot.eff.org/) - EFF官方ACME客户端
- [Caddy](https://caddyserver.com/) - 自动HTTPS Web服务器
**感谢以下技术栈和云服务提供商:**
- [Go](https://golang.org/) + [Gin](https://github.com/gin-gonic/gin) + [SQLite](https://www.sqlite.org/) - 后端技术栈
- [Vue 3](https://vuejs.org/) + [Naive UI](https://naiveui.com/) + [Vite](https://vitejs.dev/) - 前端技术栈
- [阿里云](https://www.aliyun.com/)、[腾讯云](https://cloud.tencent.com/)、[华为云](https://www.huaweicloud.com/)、[百度云](https://cloud.baidu.com/)、[火山引擎](https://www.volcengine.com/)、[京东云](https://www.jdcloud.com/)、[七牛云](https://www.qiniu.com/)等云服务商
- [Microsoft Azure](https://azure.microsoft.com/)、[Amazon AWS](https://aws.amazon.com/)、[Cloudflare](https://www.cloudflare.com/)等国际云服务商
**证书颁发机构:**
- [Let's Encrypt](https://letsencrypt.org/) - 免费SSL证书
- [ZeroSSL](https://zerossl.com/) - 免费SSL证书
- [Google Trust Services](https://pki.goog/) - Google证书服务
- [SSL.com](https://www.ssl.com/) - 商业SSL证书
- [BuyPass](https://www.buypass.com/) - 挪威免费SSL证书
- [TrustAsia](https://www.trustasia.com/) - 亚洲诚信
- [Racent](https://www.racent.com/) - 锐成信息
**特别感谢:**
- 所有DNS服务商和CDN提供商对API的开放支持
**感谢以下用户对本项目的支持和贡献:**
- [@寒雨馨](https://www.hanyuxin.cn/)
## 📜 许可证
本项目采用 [AGPL-3.0 license](./LICENSE) 开源协议
## 🌟Star 历史
[![Star History Chart](https://api.star-history.com/svg?repos=allinssl/allinssl&type=Date)](https://www.star-history.com/#allinssl/allinssl&Date)
---
> 🌟 **Star本项目以支持开发** | 推荐用于中小型网站运维、多证书管理场景、自动化HTTPS部署