基於 Python + Vue3!一個輕量級的域名和 SSL 證書監測平臺!

Java陈序员發表於2024-10-18

大家好,我是 Java陳序員

在企業開發中,由於業務眾多,涉及到很多業務域名證書,證書過期由於遺忘常常未能及時續期,導致線上訪問異常,給企業帶來損失!

今天,給大家介紹一個輕量級的域名和 SSL 證書監測平臺,用來解決證書管理困難的問題!

關注微信公眾號:【Java陳序員】,獲取開源專案分享、AI副業分享、超200本經典計算機電子書籍等。

專案介紹

Domain Admin —— 一個基於 Python + Vue3.js 技術棧實現的域名和 SSL 證書監測平臺。用於解決,不同業務域名 SSL 證書,申請自不同的平臺,到期後不能及時收到通知,導致線上訪問異常,被老闆責罵的問題。

此外,Domain Admin 還是一個輕量級監控方案,佔用系統資源較少。同時也可以作為一個 Flask 和 Vue.js 前後端分離的專案模板。

功能特色

  • 核心功能:域名、SSL 證書和託管證書檔案的過期監控,到期提醒
  • 支援證書:單域名證書、多域名證書、泛域名(萬用字元)證書、IP 證書、自簽名證書
  • 證書部署:單一主機部署、多主機部署、動態主機部署
  • 通知渠道:支援郵件、Webhook、企業微信、釘釘、飛書等通知方式
  • 支援平臺:MacOS、Linux、Windows
  • 輔助功能:Let’s Encrypt SSL 證書免費申請和 SSL 證書自動續期
  • 多語言:支援中文、英文

專案截圖

證書監控

證書申請

域名監控

網站監控

分組管理

通知管理

系統設定

專案安裝

原始碼安裝

1、下載釋出包

下載地址:https://github.com/mouday/domain-admin/releases

domain-admin-mini-v1.6.51.tar.gz          # H5 端原始碼
domain-admin-web-v1.6.51.tar.gz           # Web 端原始碼
domain_admin-1.6.51-py2.py3-none-any.whl  # Pip 包,可直接安裝
domain-admin-1.6.51.tar.gz                # 完整原始碼包,包含打包後的 H5 端、Web 端程式碼
Source code(zip)                         # Python 原始碼 Windows 適用
Source code(tar.gz)                      # Python 原始碼 Linux/MacOS 適用

以 Linux/MacOS 為例,Windows 可直接在下載頁面點選下載,自行使用解壓軟體解壓。

# 下載 domain_admin-1.6.51.tar.gz
wget https://github.com/dromara/domain-admin/releases/download/v1.6.51/domain_admin-1.6.51.tar.gz

2、解壓進入

tar -zxvf domain_admin-1.6.51.tar.gz

cd domain-admin-1.6.51

3、建立虛擬環境

# 建立名為 venv 的虛擬環境
python3 -m venv venv && source venv/bin/activate

# 安裝依賴
pip3 install .

4、新建啟動檔案 app.py

from domain_admin.main import app

if __name__ == '__main__':
    app.run(port=8000)

此時的目錄結構如下:

tree -L 1
.
├── LICENSE
├── MANIFEST.in
├── PKG-INFO
├── README.md
├── app.py                 # 新建的啟動檔案
├── build
├── database
├── domain_admin
├── domain_admin.egg-info
├── logs
├── requirements
├── setup.cfg
├── setup.py
├── temp
└── venv

5、啟動執行

# 啟動執行
python app.py

* Serving Flask app 'domain_admin.main'
* Debug mode: off
WARNING: This is a development server. Do not use it in a production deployment. Use a production WSGI server instead.
* Running on http://127.0.0.1:8000
Press CTRL+C to quit

6、訪問地址:http://127.0.0.1:8000

Pip 安裝

執行環境

  • Python >= 2.7 或者 Python >= 3.4
  • SQLite、OpenSSL

Linux/MacOS 安裝

# 建立名為 venv 的虛擬環境並啟用
$ python3 -m venv venv && source venv/bin/activate

# 安裝 domain-admin
$ pip install gunicorn domain-admin

# 啟動執行
$ gunicorn --bind '127.0.0.1:8000' 'domain_admin.main:app'

Windows 安裝

# 建立名為 venv 的虛擬環境
> py -3 -m venv venv

# 啟用虛擬環境
> venv\Scripts\activate

# 安裝 domain-admin
> pip install waitress domain-admin

# 啟動執行
> waitress-serve --listen=127.0.0.1:8000 domain_admin.main:app

Docker 安裝

Docker 一鍵啟動

docker run \
    -d \
    -v /data/software/domain/data:/app/database \
    -v /data/software/domain/logs:/app/logs \
    -p 8000:8000 \
    --name domain-admin \
    mouday/domain-admin:latest

引數說明:

  • database:sqlite 資料庫和重要資料的目錄
  • logs:日誌目錄,用於排查問題

Dokcer Compose 一鍵啟動

1、建立 dokcer-compose.yaml 檔案

version: '3.3'
services:
    domain-admin:
        volumes:
            - '/data/software/domain/data:/app/database'
            - '/data/software/domain/logs:/app/logs'
        ports:
            - '8000:8000'
        container_name: domain-admin
        image: mouday/domain-admin:latest

2、一鍵啟動

docker-compose up -d

預設管理員賬號密碼

  • 賬號:admin
  • 密碼:123456

強烈建議:登入系統後修改預設密碼!

Domain Admin 可以說是一個十分好用的域名證書管理平臺,很好地解決了不同業務域名證書過期導致線上訪問異常的問題,大大減輕了工作量(捱罵)!

如果你受困於域名證書難以管理的問題,可以試試使用 Domain Admin ~

專案地址:https://github.com/dromara/domain-admin

最後

推薦的開源專案已經收錄到 GitHub 專案,歡迎 Star

https://github.com/chenyl8848/great-open-source-project

或者訪問網站,進行線上瀏覽:

https://chencoding.top:8090/#/

大家的點贊、收藏和評論都是對作者的支援,如文章對你有幫助還請點贊轉發支援下,謝謝!


相關文章