README.md

    Domain Admin

    PyPI PyPI - Downloads PyPI - Python Version PyPI - License

    基于Python + Vue3.js 技术栈实现的域名SSL证书监测平台

    核心功能:到期自动邮件提醒

    用于解决,不同业务域名SSL证书,申请自不同的平台,到期后不能及时收到通知,导致线上访问异常,被老板责骂的问题

    支持平台:MacOs、Linux、Windows

    安装

    方式一:pip安装

    运行环境:

    • Python 3.7.0
    $ pip install domain_admin
    
    # 升级到最新版本,可选
    $ pip3 install -U domain-admin -i https://pypi.org/simple
    
    # 启动运行
    $ gunicorn 'domain_admin.main:app'

    访问地址:http://127.0.0.1:8000

    默认的管理员账号:admin 密码:123456

    强烈建议:登录系统后修改默认密码

    方式二:docker启动

    感谢@miss85246 提供Docker支持

    $ docker run -p 8000:8000 mouday/domain-admin

    方式三:克隆源码运行

    git clone https://github.com/mouday/domain-admin.git
    
    # 安装依赖
    pip install -r requirements.txt
    
    # 启动生产服务
    make pro
    
    # 启动开发服务
    make dev

    项目简介

    项目截图

    网页版:

    桌面端:

    功能:

    • 权限

      • 用户登录
      • 用户退出
      • 修改密码
    • 域名管理

      • 域名添加
      • 域名删除
      • 域名搜索
      • 域名批量导入
      • 导出功能
      • 域名证书信息
    • 用户管理

      • 添加用户
      • 删除用户
      • 禁用/启用用户
    • 证书监控

      • 定时监控
      • 到期邮件提醒
      • 微信提醒(待开发)
      • 手动/自动更新证书信息
    • 监控日志

    • 管理界面

      • api接口(用于二次开发)
      • web浏览器
      • 桌面
      • 移动端(app+小程序)

    系统设置

    如果需要对域名进行到期监控和邮件提醒,必须设置

    1、设置系统发送邮件的账号密码

    2、设置接收邮件的邮箱

    3、批量导入域名

    导入文本示例: /doc/domain.txt

    二次开发

    接口文档:/doc/index.md

    代码推送

    # github
    git push -u origin master
    
    # gitee
    git push -u gitee master

    技术选型

    前端选型(网页版)

    • Node.js
    • Vite.js
    • Vue3.js
    • Vue Router
    • Pinia
    • Element Plus
    • Tailwind CSS

    前端选型(桌面版)

    • node.js v16.15.1
    • vue3.js
    • quasar + electron

    后端选型

    问题

    1、暂不支持多进程方式启动

    使用 master + 多worker 方式启动应用,会启动多个定时任务Scheduler,导致多次执行任务

    如果小规模使用,启动一个进程即可

    如果是需要支持并发访问,可自行改进应用

    将定时器独立出来,单独一个进程控制,行成 scheduler + Flask(master + 多worker)

    2、为什么外网访问不到?

    # 启动运行
    $ gunicorn 'domain_admin.main:app'
    
    # 支持外网可访问,云服务器(阿里云或腾讯云)需要设置安全组 
    # 默认内网访问 --bind 127.0.0.1:8000
    $ gunicorn --bind '0.0.0.0:8000' domain_admin.main:app'

    更多设置,可参考gunicorn

    3、Windows平台启动报错,找不到模块 fcntl

    gunicorn不支持Windows,可以使用waitress 替换

    $ pip install waitress
    
    $ waitress-serve --listen=127.0.0.1:8000 domain_admin.main:app

    参考:https://stackoverflow.com/questions/45228395/error-no-module-named-fcntl

    问题反馈交流

    邀请码:domain-admin

    更新日志

    • v0.0.10
      • 更新域名证书获取方式为socket,替换curl,移除curl依赖,兼容windows

    项目简介

    域名SSL证书监测平台

    发行版本 1

    0.0.5

    全部发行版

    贡献者 2

    彭世瑜 @mouday
    Connor_Zhang @miss85246

    开发语言

    • Python 93.5 %
    • HTML 5.1 %
    • Makefile 0.8 %
    • Dockerfile 0.5 %