From c48a7ecc9f68328b071e6b89de1584f08306a6c7 Mon Sep 17 00:00:00 2001 From: LiuShen <3162475700@qq.com> Date: Wed, 25 Jun 2025 23:15:40 +0800 Subject: [PATCH] =?UTF-8?q?=F0=9F=98=B6=E5=86=8D=E4=B8=8A=E4=BC=A0?= =?UTF-8?q?=E4=BF=A9=E5=BA=94=E7=94=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- allinssl/README.md | 146 +++++++++++++++++++ allinssl/data.yml | 33 +++++ allinssl/logo.png | Bin 0 -> 21770 bytes allinssl/v1.0.6/data.yml | 66 +++++++++ allinssl/v1.0.6/docker-compose.yml | 23 +++ clear/README.md | 53 +++++++ clear/data.yml | 32 ++++ clear/logo.png | Bin 0 -> 18420 bytes clear/v1.0.4/data.yml | 34 +++++ clear/v1.0.4/docker-compose.yml | 20 +++ cloudreve-mysql/4.0.0/docker-compose.yml | 1 + meting-api/latest/docker-compose.yml | 1 + openlist/v4.0.3/docker-compose.yml | 1 + umami-mysql/2.18.1/docker-compose.yml | 1 + vaultwarden-mysql/1.34.1/docker-compose.yml | 2 +- vaultwarden-sqlite/1.34.1/docker-compose.yml | 2 +- 16 files changed, 413 insertions(+), 2 deletions(-) create mode 100644 allinssl/README.md create mode 100644 allinssl/data.yml create mode 100644 allinssl/logo.png create mode 100644 allinssl/v1.0.6/data.yml create mode 100644 allinssl/v1.0.6/docker-compose.yml create mode 100644 clear/README.md create mode 100644 clear/data.yml create mode 100644 clear/logo.png create mode 100644 clear/v1.0.4/data.yml create mode 100644 clear/v1.0.4/docker-compose.yml diff --git a/allinssl/README.md b/allinssl/README.md new file mode 100644 index 000000000..1de8cd547 --- /dev/null +++ b/allinssl/README.md @@ -0,0 +1,146 @@ +# All in SSL - SSL证书全流程管理工具 🔒 + +🚀 一站式SSL证书生命周期管理解决方案 | 支持 Let's Encrypt、ZeroSSL、Google、SSL.COM、BuyPass 等多家 CA | 多平台部署 | 自动化运维 + +--- + +## 📌 项目亮点 + +- ✅ 全自动证书申请/续期 +- 🌐 多平台部署(CDN / WAF / 面板 / 云存储) +- 🔔 证书过期监控与通知 +- 🛡️ 安全入口保护 +- 📊 可视化证书管理界面 + +--- + +## 🚧 开发路线图 + +- 持续完善自动化流程和多云服务集成 +- 增强监控与告警功能 +- 支持更多DNS及主机提供商 +- 优化用户体验和安全机制 + +欢迎通过 [GitHub Issues](https://github.com/allinssl/allinssl/issues) 提出建议! + +--- + +## 🚀 快速开始 + +### 系统要求 + +- Linux、macOS、Windows(部分功能限制) +- Docker 环境(推荐) + +### 极速安装 + +```bash +curl -sSO http://download.allinssl.com/install_allinssl.sh && bash install_allinssl.sh allinssl +``` + +备用安装: + +```bash +curl -sSO https://cnb.cool/allinssl/install.sh/-/git/raw/main/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. 启动服务: + + * Linux/macOS: `./allinssl start` + * Windows: `.\allinssl start` +4. 访问 `http://your-server-ip:port/` 使用账号密码登录 + +--- + +## 🎯 核心功能 + +### 证书管理 + +| 功能 | 支持提供商 | +| ----- | ------------------------------ | +| DNS验证 | 阿里云、腾讯云、Cloudflare 等多家 DNS 提供商 | +| 证书部署 | 宝塔面板、1Panel、阿里云 CDN、腾讯云 COS 等 | +| 监控通知 | 邮件、Webhook、钉钉 | + +### 自动化流程 + +* 证书自动申请、续期、部署 +* 证书状态监控与预警 +* 安全认证入口与访问控制 + +--- + +## 🛠️ 技术架构 + +* 后端:Go (Gin 框架),SQLite,ACME客户端 lego +* 前端:Vue 3 + Naive UI + Vite +* 云服务集成支持多家厂商 SDK +* 容器化部署支持 Docker + +--- + +## 💻 常用命令行操作 + +| 命令 | 功能 | +| ----------- | ----------------- | +| allinssl 1 | 启动服务 | +| allinssl 2 | 停止服务 | +| allinssl 3 | 重启服务 | +| allinssl 4 | 修改安全入口 | +| allinssl 5 | 修改用户名 | +| allinssl 6 | 修改密码 | +| allinssl 7 | 修改端口 | +| 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 | + +--- + +## 🤝 参与贡献 + +欢迎通过提交 Issue、Pull Request、完善文档和分享使用案例参与项目。 + +--- + +## 📞 联系我们 + +* QQ交流群:768610151 +* 邮箱:[support@allinssl.com](mailto:support@allinssl.com) +* 问题反馈:[GitHub Issues](https://github.com/allinssl/allinssl/issues) + +--- + +## 📜 许可证 + +本项目采用 AGPL-3.0 许可协议开源。 + +--- + +## 致谢 + +感谢开源社区及相关项目的贡献,包括 Let's Encrypt、lego、acme.sh、Certbot、Caddy 等。 diff --git a/allinssl/data.yml b/allinssl/data.yml new file mode 100644 index 000000000..c2010c8eb --- /dev/null +++ b/allinssl/data.yml @@ -0,0 +1,33 @@ +name: AllinSSL +tags: + - SSL + - 证书管理 + - 自动化运维 + - 安全 +title: SSL证书全流程管理工具,一站式证书生命周期解决方案 +description: 一站式SSL证书生命周期管理工具,支持多家CA和多平台自动化部署,提供安全入口保护和证书状态监控。 +additionalProperties: + key: allinssl + name: AllinSSL + tags: + - Tool + shortDescZh: 一站式SSL证书生命周期管理解决方案,支持多家CA与多平台自动化运维 + shortDescEn: One-stop SSL certificate lifecycle management tool with multi-CA and platform support + type: tool + crossVersionUpdate: true + limit: 0 + website: https://github.com/allinssl/allinssl + github: https://github.com/allinssl/allinssl + document: https://github.com/allinssl/allinssl + description: + en: One-stop SSL certificate lifecycle management tool supporting multiple CAs and platforms, with automated issuance, renewal, deployment, and monitoring. + zh: 一站式SSL证书生命周期管理工具,支持多家证书颁发机构和多平台自动化部署,提供证书申请、续期、监控等功能。 + zh-Hant: 一站式SSL憑證生命週期管理工具,支援多家憑證頒發機構及多平台自動化部署,提供憑證申請、續期、監控等功能。 + ja: 複数のCAとプラットフォームに対応したワンストップSSL証明書ライフサイクル管理ツール。自動発行、更新、展開、監視を提供。 + ms: Alat pengurusan kitar hayat sijil SSL sehenti yang menyokong pelbagai CA dan platform, dengan pengeluaran, pembaharuan, penyebaran, dan pemantauan automatik. + pt-br: Ferramenta de gerenciamento de ciclo de vida de certificado SSL tudo-em-um, suportando múltiplas CAs e plataformas, com emissão, renovação, implantação e monitoramento automatizados. + ru: Универсальный инструмент управления жизненным циклом SSL-сертификатов с поддержкой множества центров сертификации и платформ, автоматическим выпуском, обновлением, развертыванием и мониторингом. + ko: 여러 CA 및 플랫폼을 지원하는 원스톱 SSL 인증서 수명 주기 관리 도구로 자동 발급, 갱신, 배포 및 모니터링을 제공합니다. + architectures: + - amd64 + - arm64 \ No newline at end of file diff --git a/allinssl/logo.png b/allinssl/logo.png new file mode 100644 index 0000000000000000000000000000000000000000..be7ac8a727671af2789760d7c567744fa6a61aa6 GIT binary patch literal 21770 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 MjrK#exQAu_3vF`&VgLXD literal 0 HcmV?d00001 diff --git a/clear/v1.0.4/data.yml b/clear/v1.0.4/data.yml new file mode 100644 index 000000000..8e634a7a4 --- /dev/null +++ b/clear/v1.0.4/data.yml @@ -0,0 +1,34 @@ +additionalProperties: + formFields: + - default: 40012 + envKey: PANEL_APP_PORT_HTTP + labelEn: HTTP Port + labelZh: HTTP 端口 + label: + en: HTTP Port + ja: ポート + ms: Port + pt-br: Porta + ru: Порт + ko: 포트 + zh: HTTP 端口 + zh-Hant: HTTP 連接埠 + required: true + rule: paramPort + type: number + + - default: "my-very-secret" + envKey: PANEL_CLEAR_JWT_SECRET + labelEn: JWT Secret + labelZh: JWT 安全密钥 + label: + en: JWT Secret + ja: JWTシークレット + ms: Rahsia JWT + pt-br: Segredo JWT + ru: JWT секрет + ko: JWT 시크릿 + zh: JWT 安全密钥 + zh-Hant: 登錄密鑰 + required: true + type: password diff --git a/clear/v1.0.4/docker-compose.yml b/clear/v1.0.4/docker-compose.yml new file mode 100644 index 000000000..c6a1b2f50 --- /dev/null +++ b/clear/v1.0.4/docker-compose.yml @@ -0,0 +1,20 @@ +version: "3.8" +services: + clear: + image: eastwind996/clear:v1.0.4 + container_name: ${CONTAINER_NAME} + ports: + - "${PANEL_APP_PORT_HTTP}:6633" + volumes: + - ./data:/app/data + environment: + - JWT_SECRET=${PANEL_CLEAR_JWT_SECRET} + labels: + createdBy: "Apps" + networks: + - 1panel-network + restart: always + +networks: + 1panel-network: + external: true \ No newline at end of file diff --git a/cloudreve-mysql/4.0.0/docker-compose.yml b/cloudreve-mysql/4.0.0/docker-compose.yml index 3c0c4be4f..b71d2b2b6 100644 --- a/cloudreve-mysql/4.0.0/docker-compose.yml +++ b/cloudreve-mysql/4.0.0/docker-compose.yml @@ -1,3 +1,4 @@ +version: "3.8" services: cloudreve: image: cloudreve/cloudreve:4.0.0 diff --git a/meting-api/latest/docker-compose.yml b/meting-api/latest/docker-compose.yml index 5b88f346b..88cbce5fb 100644 --- a/meting-api/latest/docker-compose.yml +++ b/meting-api/latest/docker-compose.yml @@ -1,3 +1,4 @@ +version: "3.8" services: meting-api: container_name: ${CONTAINER_NAME} diff --git a/openlist/v4.0.3/docker-compose.yml b/openlist/v4.0.3/docker-compose.yml index de6ab7688..7dabc49dd 100644 --- a/openlist/v4.0.3/docker-compose.yml +++ b/openlist/v4.0.3/docker-compose.yml @@ -1,3 +1,4 @@ +version: "3.8" services: openlist: restart: always diff --git a/umami-mysql/2.18.1/docker-compose.yml b/umami-mysql/2.18.1/docker-compose.yml index 0ea934b01..17e305415 100644 --- a/umami-mysql/2.18.1/docker-compose.yml +++ b/umami-mysql/2.18.1/docker-compose.yml @@ -1,3 +1,4 @@ +version: "3.8" services: umami: image: ghcr.nju.edu.cn/umami-software/umami:mysql-v2.18.1 diff --git a/vaultwarden-mysql/1.34.1/docker-compose.yml b/vaultwarden-mysql/1.34.1/docker-compose.yml index 7180a5d56..e5ccf3739 100644 --- a/vaultwarden-mysql/1.34.1/docker-compose.yml +++ b/vaultwarden-mysql/1.34.1/docker-compose.yml @@ -1,4 +1,4 @@ -version: '3.8' +version: "3.8" services: vaultwarden: image: vaultwarden/server:1.34.1 diff --git a/vaultwarden-sqlite/1.34.1/docker-compose.yml b/vaultwarden-sqlite/1.34.1/docker-compose.yml index 522aa1d1e..f0e863eb6 100644 --- a/vaultwarden-sqlite/1.34.1/docker-compose.yml +++ b/vaultwarden-sqlite/1.34.1/docker-compose.yml @@ -1,4 +1,4 @@ -version: '3.8' +version: "3.8" services: vaultwarden: image: vaultwarden/server:1.34.1