diff options
| author | shihaoyue <[email protected]> | 2024-09-01 22:51:16 +0800 |
|---|---|---|
| committer | shihaoyue <[email protected]> | 2024-09-01 22:51:16 +0800 |
| commit | 6d9267dd44818a92e3dc97f983114e0c5efc4046 (patch) | |
| tree | 618177632dfde7caec5f0ef440493f3a0e6f6e33 /server/apps/target.py | |
| parent | 3ef0c4e829729e14915c4a46967801d4e65c6da9 (diff) | |
更改数据库
Diffstat (limited to 'server/apps/target.py')
| -rw-r--r-- | server/apps/target.py | 33 |
1 files changed, 21 insertions, 12 deletions
diff --git a/server/apps/target.py b/server/apps/target.py index 6b48e15..97722ac 100644 --- a/server/apps/target.py +++ b/server/apps/target.py @@ -14,7 +14,7 @@ from apiflask.validators import OneOf from requests.exceptions import Timeout from sqlalchemy import distinct, func, case -from apps.util import debug +from apps.util import debug, is_ipaddress from exts import db from model import Target, Task, Agent @@ -510,8 +510,14 @@ def map_info(query_data): "code": Integer(), "dataObject": List(Nested(TargetSchema())), }) -def target_GZ(query_data): - IP_addr = query_data["ip"] +def target_GZ_API(query_data): + target_GZ(query_data["ip"]) + return { + 'code': 200, + 'MSG': "success" + } + +def target_GZ(IP_addr): # 获取 csgz = db.session.query(Agent).filter_by(agent_type = 'gjst').all() csgz = random.choice(csgz) @@ -524,10 +530,10 @@ def target_GZ(query_data): data = response.json() # 存数据库 - tagret = Target( + target = Target( addrv4 = IP_addr, addrv6 = False, - ipv6 = False, + ipv6 = (6 == is_ipaddress(IP_addr)), dnssec = json.loads(protect.text)['dnssec_enabled'], dot = False, doh = False, @@ -535,15 +541,18 @@ def target_GZ(query_data): isp = data.get('org'), lat = data.get('loc').split(',')[0], lng = data.get('loc').split(',')[1], - protect = json.loads(protect.text), + protect = protect.text, doh_domain = None ) - existing_obj = db.session.query(Target).filter_by(addrv4 = tagret.addrv4).first() + if 6 == is_ipaddress(IP_addr): + target.addrv6 = IP_addr + target.ipv6 = True + elif 4== is_ipaddress(IP_addr): + target.addrv4 = IP_addr + + existing_obj = db.session.query(Target).filter_by(addrv4 = target.addrv4).first() if existing_obj: db.session.delete(existing_obj) - db.session.add(tagret) + db.session.add(target) db.session.commit() - return { - 'code': 200, - 'dataObject': tagret - } + return target
\ No newline at end of file |
