summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorshihaoyue <[email protected]>2024-08-30 12:36:40 +0800
committershihaoyue <[email protected]>2024-08-30 12:36:40 +0800
commit0d3b329cf3c62b0e9b599c8c337c7dc5c1b8b840 (patch)
treed3268cb739a7508ab7216f64fda11195baa0fb9f
parent616fc42f4467b7e95703f2ccd0ace77ac5950251 (diff)
更新Target数据库模型
-rw-r--r--server/apps/agentcomm.py1
-rw-r--r--server/migrations/versions/854f2615247e_.py38
-rw-r--r--server/model.py19
3 files changed, 56 insertions, 2 deletions
diff --git a/server/apps/agentcomm.py b/server/apps/agentcomm.py
index 40cde2b..befd176 100644
--- a/server/apps/agentcomm.py
+++ b/server/apps/agentcomm.py
@@ -13,7 +13,6 @@ from .util import error
from model import Agent, TaskLog, Policy, TaskPolicy
from exts import db
from sqlalchemy.exc import SQLAlchemyError
-from .target import get_pernode_delay
bp = APIBlueprint("代理管理接口集合", __name__, url_prefix="/agent")
diff --git a/server/migrations/versions/854f2615247e_.py b/server/migrations/versions/854f2615247e_.py
new file mode 100644
index 0000000..4d8f2ea
--- /dev/null
+++ b/server/migrations/versions/854f2615247e_.py
@@ -0,0 +1,38 @@
+"""empty message
+
+Revision ID: 854f2615247e
+Revises: f24ae91aa925
+Create Date: 2024-08-30 12:34:18.588562
+
+"""
+from alembic import op
+import sqlalchemy as sa
+from sqlalchemy.dialects import mysql
+
+# revision identifiers, used by Alembic.
+revision = '854f2615247e'
+down_revision = 'f24ae91aa925'
+branch_labels = None
+depends_on = None
+
+
+def upgrade():
+ # ### commands auto generated by Alembic - please adjust! ###
+ with op.batch_alter_table('TARGETDATA', schema=None) as batch_op:
+ batch_op.alter_column('protect',
+ existing_type=mysql.VARCHAR(collation='utf8_unicode_ci', length=255),
+ type_=sa.JSON(),
+ existing_nullable=True)
+
+ # ### end Alembic commands ###
+
+
+def downgrade():
+ # ### commands auto generated by Alembic - please adjust! ###
+ with op.batch_alter_table('TARGETDATA', schema=None) as batch_op:
+ batch_op.alter_column('protect',
+ existing_type=sa.JSON(),
+ type_=mysql.VARCHAR(collation='utf8_unicode_ci', length=255),
+ existing_nullable=True)
+
+ # ### end Alembic commands ###
diff --git a/server/model.py b/server/model.py
index c40d65d..1c56092 100644
--- a/server/model.py
+++ b/server/model.py
@@ -124,7 +124,24 @@ class Target(db.Model):
lat = db.Column(db.String(255))
lng = db.Column(db.String(255))
updated_time = db.Column(db.DateTime, server_default=db.func.now())
- protect = db.Column(db.String(255))
+ protect = db.Column(db.JSON, default = {
+ "dnssec_enabled": True, # 是否启用 DNSSEC(DNS 安全扩展)
+ "0x20_encoding": False, # 是否使用 0x20 编码(域名是否随机化大小写)
+ "merge_dup": True, # 是否支持合并重复的 DNS 记录
+ "max_ns_cnt": 5, # 查询中允许的最大名称服务器(NS)记录数量
+ "max_cname_cnt": 10, # 查询中允许的最大 CNAME 链深度
+ "retry_limit": 3, # 在失败后重试 DNS 查询的最大次数
+ "fetch_limit": 100, # 在一次查询中可以获取的最大资源记录数
+ "timeout": 2000, # DNS 查询的超时时间,单位是毫秒
+ "random_port": True, # 是否使用随机端口进行 DNS 查询
+ "random_id": False, # 是否使用随机 ID 进行 DNS 查询
+ "version": "1.0.0", # DNS 软件版本
+ "bailiwick": True, # 是否遵循 Bailiwick 规则
+ "max_ttl": 3600, # 最大 TTL 值,单位为秒
+ "min_ttl": 300, # 最小 TTL 值,单位为秒
+ "edns_support": True, # 是否支持 EDNS(拓展DNS)
+ "rrl_qps": 50 # 每秒允许的资源记录锁(Rate Limiting)查询次数
+ })
doh_domain = db.Column(db.String(255))