Files
AllinSSL/README.md

8.5 KiB
Raw Blame History

All in SSL - SSL证书全流程管理工具 🔒

GitHub License GitHub Stars GitHub Issues GitHub Release Docker Pulls

🚀 一站式SSL证书生命周期管理解决方案 | 支持Let's Encrypt、ZeroSSL、Google、SSL.COM、BuyPass等多家CA | 多平台部署 | 自动化运维

控制台预览

📌 项目亮点

  • 全自动证书申请/续期
  • 🌐 多平台部署CDN/WAF/面板/云存储)
  • 🔔 证书过期监控
  • 🛡️ 安全入口保护
  • 📊 可视化证书管理

🚧 开发路线图

我们正在积极完善以下功能,欢迎通过 GitHub Issues 提出建议!

GitHub Milestone

🚀 快速开始

系统要求

  • Linux 系统
  • macOS/Windows请参照下面教程暂不支持脚本安装
  • Docker

极速安装

curl -sSO http://download.allinssl.com/install_allinssl.sh && bash install_allinssl.sh allinssl

Docker安装

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 下载页面
  2. 下载最新版本的二进制文件
  3. 解压缩文件并通过终端或者CMD进入解压目录
  4. 获取登陆地址,账号和密码
    • 账号和登陆地址:
    • Linux: ./allinssl 15
    • Windows: .\allinssl 15
  • 密码:
    • Linux: ./allinssl 6
    • Windows: .\allinssl 6
  1. 运行可执行文件启动服务,请保持终端打开,或者自行配置进程守护
    • Linux: 执行 ./allinssl start
    • Windows: 终端进入到解压目录,执行 .\allinssl start
  2. 访问 http://your-server-ip:port/安全入口,使用账号和密码登录
  3. 更多命令行操作请参考 命令行操作

源码编译安装

如需自行编译请确保已安装Go 1.23+环境:

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. 创建工作流

完整安装文档

🎯 核心功能

📜 证书管理

证书管理流程

功能 支持提供商
DNS验证 阿里云、腾讯云、Cloudflare...
证书部署 宝塔面板、1Panel、阿里云CDN、腾讯云COS
监控通知 邮件、Webhook、钉钉

⚙️ 自动化流程

graph LR
A[证书申请] --> B{有效期监控}
B -->|剩余30天| C[自动续期]
C --> D[部署到目标平台]
D --> E[通知结果]

🛠️ 技术架构

🏗️ 系统架构图

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、存储等多种目标

📚 使用文档

💻 命令行操作

# 基本操作
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. 分享使用案例

贡献指南

📞 联系我们

🙏 致谢

感谢在SSL证书管理领域做出贡献的开源项目和社区

  • Let's Encrypt - 免费SSL证书颁发机构
  • lego - Go语言ACME客户端为本项目提供核心证书申请功能
  • acme.sh - 纯Shell脚本实现的ACME客户端
  • certimate - 工作流部分DNS服务商实现方式参考
  • certd - 工作流部分的设计参考
  • Certbot - EFF官方ACME客户端
  • Caddy - 自动HTTPS Web服务器

感谢以下技术栈和云服务提供商:

证书颁发机构:

特别感谢:

  • 所有DNS服务商和CDN提供商对API的开放支持

感谢以下用户对本项目的支持和贡献:

📜 许可证

本项目采用 AGPL-3.0 license 开源协议

🌟Star 历史

Star History Chart


🌟 Star本项目以支持开发 | 推荐用于中小型网站运维、多证书管理场景、自动化HTTPS部署