cucker0 / BindUI

bind ui, web admin

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

BindUI

Bind web admin UI.

一款基于 BIND、DLZ、MySQL/PostgreSQL、Djano 的WEB可视化域名管理系统。

支持多线路智能解析(基于view实现的智能DNS)、批量导入/导出域名记录(RR)、支持常用的RR类型。

快速体验

docker run -d --name dns \
 --restart=always \
 -p 53:53/udp \
 -p 53:53/tcp \
 -p 127.0.0.1:953:953/tcp \
 -p 80:80/tcp \
 -p 8000:8000/tcp \
 cucker/dns:all-2.2
  • Port Info
    EXPOSE 53/udp 53/tcp 953/tcp 80/tcp 8000/tcp 3306/tcp
    53/udp -> bind
    53/tcp -> bind
    953/tcp -> bind
    80/tcp -> url-forwarder
    8000/tcp -> BindUI
    3306/tcp -> MySQL
    

运行环境

Python 3.11
Django 4
MySQL 8 | MariaDB 10 | PostgreSQL 15 (任选一个)

依赖模块

django Pillow pymysql IPy xlrd xlwt

安装依赖模块

pip3 install -r ./requirements.txt

初始化

cd <项目的根路径>
python3 manage.py migrate
python3 manage.py makemigrations
python3 manage.py migrate

// 创新 Django 超级用户,用于 WEB 登录
python3 manage.py createsuperuser

如果是非 初始化时,修改了表的设计,则运行下列命令合并表的变动

cd <项目的根路径>
python3 manage.py makemigrations
python3 manage.py migrate

操作页面

image
image
image
image
image
image
image

注意

mysql连接驱动改为 pymysql

报错1

执行python manager.py 相关操作报错:
django.core.exceptions.ImproperlyConfigured: mysqlclient 1.3.13 or newer is required; you have 0.9.3.

解决方法

./bindUI/settings.py 添加下面的配置

import pymysql
# 指定 pymysql 的版本。主要是要比 Django 要求的最低版本要大
pymysql.version_info = (11, 1, 0, "final", 0)
pymysql.install_as_MySQLdb()

报错2

AttributeError: 'str' object has no attribute 'decode'

解决方法

修改python安装根目录}/lib/python3.7/site-packages/django/db/backends/mysql/operations.py 146行,decode改为encode

if query is not None:
    query = query.decode(errors='replace')
return query

改成

if query is not None:
    query = query.encode(errors='replace')
return query

About

bind ui, web admin


Languages

Language:HTML 47.4%Language:JavaScript 40.3%Language:CSS 9.9%Language:Python 2.1%Language:PHP 0.1%Language:Shell 0.1%Language:SCSS 0.1%