Skip to content

AllinSSL 是一个集证书申请、管理、部署和监控于一体的SSL证书全生命周期管理工具。AllinSSL is an all-in-one SSL certificate lifecycle management tool that integrates certificate application, management, deployment, and monitoring.

License

Notifications You must be signed in to change notification settings

allinssl/allinssl

Repository files navigation

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

极速安装(备用)

curl -sSO https://cnb.cool/allinssl/install.sh/-/git/raw/main/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[通知结果]
Loading

🛠️ 技术架构

🏗️ 系统架构图

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[监控调度服务]
        L[通知服务]
    end
    
    subgraph "数据存储层"
        M[(SQLite数据库)]
        N[文件存储]
    end
    
    subgraph "外部集成"
        O[ACME协议]
        P[云服务商API]
        Q[DNS提供商]
        R[CDN/面板API]
    end
    
    A -.-> D
    D --> J
    J --> H
    J --> I
    J --> K
    J --> L
    H --> M
    I --> M
    K --> M
    L --> M
    H --> O
    I --> P
    H --> Q
    I --> R
Loading

📚 使用文档

💻 命令行操作

# 基本操作
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服务器

感谢以下技术栈和依赖库:

🔧 后端依赖

🎨 前端依赖

  • 框架: Vue 3 - 渐进式JavaScript框架
  • UI组件: Naive UI - Vue 3组件库
  • 构建工具: Vite - 极速构建工具
  • 包管理: Turbo - Monorepo构建系统
  • 路由: Vue Router - 单页应用路由
  • 状态管理: Pinia - 轻量级状态管理
  • 工具库: VueUse - Vue组合式API工具
  • 图表: ECharts - 数据可视化
  • 工作流: Vue Flow - 可视化流程编辑器
  • HTTP: Axios - HTTP客户端
  • 样式: TailwindCSS - CSS框架

☁️ 云服务集成

证书颁发机构:

特别感谢:

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

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

📜 许可证

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

🌟Star 历史

Star History Chart


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

About

AllinSSL 是一个集证书申请、管理、部署和监控于一体的SSL证书全生命周期管理工具。AllinSSL is an all-in-one SSL certificate lifecycle management tool that integrates certificate application, management, deployment, and monitoring.

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published