pull/1/head
zhangchenhao 2025-05-06 20:15:02 +08:00
parent 7f575206aa
commit 8263474cb2
2 changed files with 221 additions and 13 deletions

122
README.md
View File

@ -1,16 +1,112 @@
## Hi there 👋 # ALLinSSL - SSL证书全流程管理工具
<!-- ## 项目介绍
**allinssl/allinssl** is a ✨ _special_ ✨ repository because its `README.md` (this file) appears on your GitHub profile.
Here are some ideas to get you started: ALLinSSL 是一个集证书申请、管理、部署和监控于一体的SSL证书全生命周期管理工具。本工具可帮助用户轻松管理多个网站的SSL证书提供自动化的证书申请、更新和部署流程并实时监控证书状态确保网站安全持续运行。
- 🔭 Im currently working on ... ## 主要功能
- 🌱 Im currently learning ...
- 👯 Im looking to collaborate on ... - **证书申请**: 支持通过ACME协议从Let's Encrypt等CA自动申请免费证书
- 🤔 Im looking for help with ... - **证书管理**: 集中管理所有SSL证书包括手动上传和自动申请的证书
- 💬 Ask me about ... - **证书部署**: 支持一键部署证书到多种平台如阿里云、腾讯云、宝塔面板、1Panel等
- 📫 How to reach me: ... - **站点监控**: 实时监控站点SSL证书状态提前预警证书过期
- 😄 Pronouns: ... - **自动化任务**: 支持定时任务,自动续期证书并部署
- ⚡ Fun fact: ... - **多平台支持**: 支持多种DNS提供商阿里云、腾讯云等的DNS验证方式
-->
## 技术栈
- **后端**: Go语言
- **前端**: HTML/CSS/JavaScript
- **数据存储**: SQLite
- **证书管理**: ACME协议 (Let's Encrypt)
- **定时任务**: 内置调度器
## 安装说明
### 系统要求
- 操作系统: Linux
- 权限要求: 需要有读写权限创建数据目录
### 安装步骤
#### 1. 通过官网安装脚本安装
#### 2. 编译安装:
- 编译安装时需要注意可执行文件的名称和运行目录,在`allinssl.sh`中需要修改为对应的名称和路径否则可能导致脚本不可用
- 推荐安装路径为`/www/allinssl/`,可执行文件名为`allinssl`,建议将`allinssl.sh`软链到`/usr/bin/`目录下
- 安装:
1. 下载最新版本的release包并解压
2. 编译go程序allinssl
3. 运行可执行文件启动服务
- Linux: 执行 `./allinssl start`
### 首次启动设置
1. 首次启动后,设置管理员账号和密码
2. 设置安全入口和端口号
3. 完成初始设置后,即可通过 `http://your-ip:your-port/your-secure-entry` 访问管理界面
## 使用指南
### 自动化部署
#### 证书申请
1. 添加DNS验证凭证支持阿里云、腾讯云等
2. 输入需要申请证书的域名
3. 输入邮箱地址用于接收ca的通知
#### 证书上传
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
```
## 许可证
本项目使用 [LICENSE](./LICENSE) 文件中规定的许可证进行授权。

112
README_EN.md Normal file
View File

@ -0,0 +1,112 @@
# ALLinSSL - Complete SSL Certificate Management Tool
## Project Introduction
ALLinSSL is a comprehensive SSL certificate lifecycle management tool that integrates certificate application, management, deployment, and monitoring. This tool helps users easily manage SSL certificates for multiple websites, providing automated certificate application, renewal, and deployment processes, while monitoring certificate status in real-time to ensure website security.
## Main Features
- **Certificate Application**: Support automatic free certificate applications from Let's Encrypt and other CAs using the ACME protocol
- **Certificate Management**: Centralized management of all SSL certificates, including manually uploaded and automatically applied certificates
- **Certificate Deployment**: Support one-click deployment to multiple platforms such as Alibaba Cloud, Tencent Cloud, BaoTa Panel, 1Panel, etc.
- **Site Monitoring**: Real-time monitoring of SSL certificate status, early warning of certificate expiration
- **Automated Tasks**: Support scheduled tasks, automatic certificate renewal and deployment
- **Multi-platform Support**: Support multiple DNS providers (Alibaba Cloud, Tencent Cloud, etc.) for DNS verification
## Technology Stack
- **Backend**: Go language
- **Frontend**: HTML/CSS/JavaScript
- **Data Storage**: SQLite
- **Certificate Management**: ACME Protocol (Let's Encrypt)
- **Scheduled Tasks**: Built-in scheduler
## Installation Guide
### System Requirements
- Operating System: Linux
- Permission Requirements: Read and write permissions to create data directories
### Installation Steps
#### 1. Install via official installation script
#### 2. Compile and install:
- When compiling and installing, pay attention to the name and path of the executable file. In `allinssl.sh`, you need to modify the corresponding name and path, otherwise the script may not work
- Recommended installation path is `/www/allinssl/`, executable file name should be `allinssl`, and it's recommended to create a symbolic link of `allinssl.sh` to the `/usr/bin/` directory
- Installation:
1. Download the latest release package and extract it
2. Compile the Go program (allinssl)
3. Run the executable to start the service
- Linux: Execute `./allinssl start`
### First-time Setup
1. After first startup, set up administrator account and password
2. Set the secure entry path and port number
3. After completing the initial setup, you can access the management interface via `http://your-ip:your-port/your-secure-entry`
## User Guide
### Automated Deployment
#### Certificate Application
1. Add DNS verification credentials (supporting Alibaba Cloud, Tencent Cloud, etc.)
2. Enter the domain names for which certificates are needed
3. Enter email address (for receiving CA notifications)
#### Certificate Upload
1. Select manual certificate upload
2. Paste certificate and private key content
#### Certificate Deployment
1. Select applied or uploaded certificates
2. Choose deployment targets (supports Alibaba Cloud CDN, Tencent Cloud CDN, BaoTa Panel, 1Panel, etc.)
3. Add deployment credentials (such as API keys for Alibaba Cloud, Tencent Cloud)
#### Notifications
1. Configure notification channels
2. Enter notification content and subject
### Site Monitoring
1. Add domain names to monitor
2. The system will automatically detect the certificate status
3. Set certificate expiration reminder threshold (default is 30 days)
4. When the certificate is approaching expiration, the system will send reminders
5. When multiple consecutive website anomalies are detected, the system will send alerts
## Command Line Operations
```bash
# 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 address
allinssl 16: Update ALLinSSL to the latest version (file overwrite installation)
allinssl 17: Uninstall ALLinSSL
```
## License
This project is licensed under the terms specified in the [LICENSE](./LICENSE) file.