首页 > 编程语言 >基于 Python + Vue3!一个轻量级的域名和 SSL 证书监测平台!

基于 Python + Vue3!一个轻量级的域名和 SSL 证书监测平台!

时间:2024-10-18 09:43:07浏览次数:6  
标签:domain venv 证书 Python app SSL 域名 admin 轻量级

大家好,我是 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/#/

大家的点赞、收藏和评论都是对作者的支持,如文章对你有帮助还请点赞转发支持下,谢谢!


标签:domain,venv,证书,Python,app,SSL,域名,admin,轻量级
From: https://www.cnblogs.com/codechen8848/p/18471504

相关文章

  • python文件操作
    1.文件的编码思考:计算机只能识别:0和1,那么我们丰富的文本文件是如何被计算机识别,并存储在硬盘中呢?答案:使用编码技术(密码本)将内容翻译成0和1存入。计算机只认识0和1,所以需要将内容翻译成0和1才能保存在计算机中,同时也需要编码,将计算机保存的0和1,反向翻译回可以识别的内容不......
  • Python 常用模块(五):datetime模块
    目录一、常见时间名词二、datetime模块介绍三、datetime模块中的常量以及几个常用类3.1datetime模块中的常量3.2datetime模块中的几个常用类3.2.1date类3.2.2time类3.2.3datetime类3.2.4timedelta类3.2.5timezone类四、常用方法介绍4.1datetime对象常用方法4.1......
  • Python基础知识总结
    变量#变量定义name="name"age=18height=1.75#多个变量赋值a=b=c=1print(a,b,c)字符串#字符串定义及输出str1="hello"str2='world'print(str1,str2)#字符串格式化输出print("name:%s,age:%d,height:%.2f"%(name,age,height))#字符串拼接str3=str1+str2pri......
  • 常用Python数据分析开源库:Numpy、Pandas、Matplotlib、Seaborn、Sklearn介绍
    文章目录1.常用Python数据分析开源库介绍1.1Numpy1.2Pandas1.3Matplotlib1.4Seaborn1.5Sklearn1.常用Python数据分析开源库介绍1.1NumpyNumpy(NumericalPython)是Python数据分析必不可少的第三方库,Numpy的出现一定程度上解决了Python运算性能不佳的问题,同......
  • PyCharm配置PyTorch环境(完美解决找不到Conda可执行文件python.exe问题)
    出现的问题以下是第一次踩坑的流程,具体解决方法附在后面新建一个python项目,如图所示设置相关信息设置项目名称和位置interpretertype(python解释器类型)==>自定义环境环境==>Generatenew,创建一个新环境类型==>condapython==>3.11,如下所示,在创建好的conda环境中使用的......
  • spark运行报错:env: “/home/hadoop/anaconda3/envs/pyspark/bin/python3.8“: 没有那
    在进入spark的过程中,出现报错【env:"/home/hadoop/anaconda3/envs/pyspark/bin/python3.8":没有那个文件或目录】,当时我立马就被搞蒙了,百度了各种方法,最终都没有解决。当然有大佬说“进入conf目录下,修改spark-env.sh文件”,这个方法我也进行了修改,最终在终端输入./bin/pyspar......
  • python: unittest
     '''生成测试报告https://www.lambdatest.com/blog/generating-xml-and-html-report-in-pyunit-for-test-automation/unittesthttps://codedec.com/tutorials/how-to-generate-html-report-for-pytest-execution/https://docs.pytest.org/en/7.1.x/_modules/......
  • 17.Python基础篇-闭包、装饰器、迭代器、生成器
    函数的进阶—闭包闭包的定义:嵌套函数,内部函数调用外部函数的变量。满足这个条件就算闭包。闭包案例演示:defouter():a=1definner():print('inner函数中打印的变量a:',a)#嵌套函数中使用了外层函数的变量。此时满足了闭包的条件。returninner......
  • 风靡B站的《看漫画学Python》到底是什么来头?
     学习Python的小伙伴大部分应该都知道《看漫画学Python:有趣、有料、好玩、好用(全彩版)》这本书!毕竟,如果在B站搜索“漫画Python”等相关关键词,会看到整个页面都是和这本书相关的视频…… 郑重声明:这真不是出版社安排的,纯属各UP主们的自发行为,毕竟又是清华大佬,又是北大教......
  • 【2024华为OD-E卷-100分-内存资源分配】(题目+思路+Java&C++&Python解析+在线测试)
    在线评测链接题目描述有一个简易内存池,内存按照大小粒度分类,每个粒度有若干个可用内存资源,用户会进行一系列内存申请,需要按需分配内存池中的资源返回申请结果成功失败列表。分配规则如下:分配的内存要大于等于内存的申请量,存在满足需求的内存就必须分配,优先分配粒度小的......