Skip to content

allinssl/allinssl

Repository files navigation

All in SSL - Complete SSL Certificate Management Tool 🔒

GitHub License GitHub Stars GitHub Issues GitHub Release Docker Pulls

中文文档

🚀 All-in-one SSL certificate lifecycle management solution | Supports Let's Encrypt, ZeroSSL, Google, SSL.COM, BuyPass and more | Multi-platform deployment | Automated operations

Console Preview

📌 Highlights

  • ✅ Fully automated certificate application / renewal
  • 🌐 Multi-platform deployment (CDN / WAF / control panels / cloud storage)
  • 🔔 Certificate expiration monitoring
  • 🛡️ Secure entry protection
  • 📊 Visual certificate management

🚧 Roadmap

We are actively improving the following features. Feel free to suggest via GitHub Issues!

GitHub Milestone

🚀 Quick Start

System Requirements

  • Linux
  • macOS / Windows (script installation not yet supported; see manual steps below)
  • Docker

One-line Install

curl -sSO http://allinssl.bt.cn/install_allinssl.sh && bash install_allinssl.sh allinssl

One-line Install (Mirror)

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

Docker

docker run -itd \
  --name allinssl \
  -p 8888: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

Binary Installation

  1. Open the releases page
  2. Download the latest binary for your platform
  3. Extract the archive and navigate to the directory in your terminal / CMD
  4. Retrieve the login URL, username, and password:
    • URL & username:
      • Linux: ./allinssl 15
      • Windows: .\allinssl 15
    • Password:
      • Linux: ./allinssl 6
      • Windows: .\allinssl 6
  5. Start the service (keep the terminal open, or configure a process daemon):
    • Linux: ./allinssl start
    • Windows: .\allinssl start
  6. Visit http://your-server-ip:port/<secure-entry> and log in
  7. See Command Line Operations for more commands

Build from Source

Requires 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

First-time Setup

  1. Visit http://your-server-ip:port/<secure-entry>
  2. Add DNS provider and host provider credentials ☁️
  3. Create a workflow

Full Installation Docs

🎯 Core Features

📜 Certificate Management

Certificate Management Workflow

Feature Supported Providers
DNS Validation Alibaba Cloud, Tencent Cloud, Cloudflare...
Certificate Deploy BaoTa Panel, 1Panel, Alibaba Cloud CDN, Tencent COS
Monitoring / Alerts Email, Webhook, DingTalk

⚙️ Automation Flow

graph LR
A[Apply Certificate] --> B{Expiry Monitor}
B -->|30 days left| C[Auto Renew]
C --> D[Deploy to Target]
D --> E[Send Notification]
Loading

🛠️ Architecture

🏗️ System Architecture

graph TB
    subgraph "Frontend"
        A[Vue 3 + Naive UI]
        A --> B[Vite Build]
        A --> C[Turbo Monorepo]
    end

    subgraph "Backend"
        D[Gin Web Framework]
        D --> E[RESTful API]
        D --> F[Session Management]
        D --> G[Middleware Layer]
    end

    subgraph "Core Services"
        H[Certificate Apply Service]
        I[Certificate Deploy Service]
        J[Workflow Engine]
        K[Monitor Scheduler]
        L[Notification Service]
    end

    subgraph "Data Storage"
        M[(SQLite Database)]
        N[File Storage]
    end

    subgraph "External Integrations"
        O[ACME Protocol]
        P[Cloud Provider APIs]
        Q[DNS Providers]
        R[CDN / Panel APIs]
    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

📚 Documentation

💻 Command Line Operations

# Basic Operations
allinssl 1:  Start service 🚀
allinssl 2:  Stop service ⛔
allinssl 3:  Restart service 🔄
allinssl 4:  Modify secure entry 🔐
allinssl 5:  Modify username 👤
allinssl 6:  Modify password 🔑
allinssl 7:  Modify port 🔧

# Web Service Management
allinssl 8:  Disable web service 🌐➖
allinssl 9:  Enable web service 🌐➕
allinssl 10: Restart web service 🌐🔄

# Background Task Management
allinssl 11: Disable background scheduler 📻⛔
allinssl 12: Enable background scheduler 📻✅
allinssl 13: Restart background scheduler 📻🔄

# System Management
allinssl 14: Disable HTTPS 🔓
allinssl 15: Get panel URL 📋
allinssl 16: Update ALLinSSL to latest version (overwrite install) 🔄⬆️
allinssl 17: Uninstall ALLinSSL 🗑️

🤝 Contributing

Contributions are welcome in the following ways:

  1. Report bugs via Issues
  2. Submit Pull Requests 💻
  3. Improve documentation 📖
  4. Share your use cases ✨

Contributing Guide

📞 Contact

🙏 Acknowledgements

Open-source projects and communities in the SSL certificate space:

  • Let's Encrypt - Free SSL certificate authority
  • lego - Go ACME client powering core certificate issuance
  • acme.sh - Pure-shell ACME client
  • certimate - Workflow design reference; JD Cloud DNS implementation
  • certd - Workflow design reference
  • Certbot - EFF's official ACME client
  • Caddy - Automatic HTTPS web server

Technology stack & dependencies:

🔧 Backend

🎨 Frontend

☁️ Cloud Integrations

Certificate Authorities:

Special thanks to all DNS providers and CDN vendors for their open APIs.

Thanks to the following contributors:

📜 License

This project is licensed under the AGPL-3.0 license.

🌟 Star History

Star History Chart


🌟 Star this project to support development | Recommended for: small-to-medium site operations, multi-certificate management, and automated HTTPS deployment

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

 
 
 

Contributors