add sens arg
This commit is contained in:
parent
cb9cb2b047
commit
8ee844817b
11
README.md
11
README.md
|
@ -98,6 +98,17 @@ WX:
|
||||||
|
|
||||||
![](docs/images/project-cn.png)
|
![](docs/images/project-cn.png)
|
||||||
|
|
||||||
|
|
||||||
|
## 项目资产聚合
|
||||||
|
### 面板-概况
|
||||||
|
![](docs/images/project-dsh.png)
|
||||||
|
### 子域名
|
||||||
|
![](docs/images/project-subdomain.png)
|
||||||
|
### 端口
|
||||||
|
![](docs/images/project-port.png)
|
||||||
|
### 服务
|
||||||
|
![](docs/images/project-server.png)
|
||||||
|
|
||||||
## 任务
|
## 任务
|
||||||
|
|
||||||
![](docs/images/task-cn.png)
|
![](docs/images/task-cn.png)
|
||||||
|
|
|
@ -147,7 +147,8 @@ async def get_page_monitoring_time():
|
||||||
async for db in get_mongo_db():
|
async for db in get_mongo_db():
|
||||||
result = await db.ScheduledTasks.find_one({"id": "page_monitoring"})
|
result = await db.ScheduledTasks.find_one({"id": "page_monitoring"})
|
||||||
time = result['hour']
|
time = result['hour']
|
||||||
return time
|
flag = result['state']
|
||||||
|
return time, flag
|
||||||
|
|
||||||
|
|
||||||
async def create_page_monitoring_task():
|
async def create_page_monitoring_task():
|
||||||
|
|
|
@ -4,7 +4,7 @@
|
||||||
# @version:
|
# @version:
|
||||||
from datetime import datetime
|
from datetime import datetime
|
||||||
|
|
||||||
from bson import ObjectId
|
from bson import ObjectId, SON
|
||||||
from fastapi import APIRouter, Depends
|
from fastapi import APIRouter, Depends
|
||||||
from pymongo import DESCENDING
|
from pymongo import DESCENDING
|
||||||
|
|
||||||
|
@ -305,6 +305,35 @@ async def get_sensitive_result_data2(request_data: dict, db=Depends(get_mongo_db
|
||||||
return {"message": "error","code":500}
|
return {"message": "error","code":500}
|
||||||
|
|
||||||
|
|
||||||
|
@router.post("/sensitive/result/names")
|
||||||
|
async def get_sensitive_result_names(request_data: dict, db=Depends(get_mongo_db), _: dict = Depends(verify_token)):
|
||||||
|
query = await get_search_query("sens", request_data)
|
||||||
|
if query == "":
|
||||||
|
return {"message": "Search condition parsing error", "code": 500}
|
||||||
|
|
||||||
|
pipeline = [
|
||||||
|
{
|
||||||
|
"$match": query
|
||||||
|
},
|
||||||
|
{"$group": {"_id": "$sid", "count": {"$sum": 1}, "color": {"$first": "$color"}}},
|
||||||
|
{"$sort": SON([("count", -1)])},
|
||||||
|
{
|
||||||
|
"$project": {
|
||||||
|
"name": "$_id",
|
||||||
|
"count": 1,
|
||||||
|
"_id": 0,
|
||||||
|
"color": 1
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
result = await db['SensitiveResult'].aggregate(pipeline).to_list(None)
|
||||||
|
return {
|
||||||
|
"code": 200,
|
||||||
|
"data": {
|
||||||
|
'list': result
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
@router.post("/sensitive/result/body")
|
@router.post("/sensitive/result/body")
|
||||||
async def get_sensitive_result_body_rules(request_data: dict, db=Depends(get_mongo_db), _: dict = Depends(verify_token)):
|
async def get_sensitive_result_body_rules(request_data: dict, db=Depends(get_mongo_db), _: dict = Depends(verify_token)):
|
||||||
|
|
|
@ -404,7 +404,7 @@ async def get_search_query(name, request_data):
|
||||||
if query == "" or query is None:
|
if query == "" or query is None:
|
||||||
return ""
|
return ""
|
||||||
query = query[0]
|
query = query[0]
|
||||||
filter_key = {'app':'app','color': 'color', 'status': 'status', 'level': 'level', 'type': 'type', 'project': 'project', 'port': 'port', 'protocol': ['protocol', 'type'], 'icon': 'faviconmmh3', "statuscode":"statuscode"}
|
filter_key = {'app':'app','color': 'color', 'status': 'status', 'level': 'level', 'type': 'type', 'project': 'project', 'port': 'port', 'protocol': ['protocol', 'type'], 'icon': 'faviconmmh3', "statuscode": "statuscode", "sname": "sid"}
|
||||||
filter = request_data.get("filter", {})
|
filter = request_data.get("filter", {})
|
||||||
if filter:
|
if filter:
|
||||||
query["$and"] = []
|
query["$and"] = []
|
||||||
|
|
Binary file not shown.
After Width: | Height: | Size: 187 KiB |
Binary file not shown.
After Width: | Height: | Size: 70 KiB |
Binary file not shown.
After Width: | Height: | Size: 54 KiB |
Binary file not shown.
After Width: | Height: | Size: 114 KiB |
5
main.py
5
main.py
|
@ -114,8 +114,9 @@ async def startup_db_client():
|
||||||
find_page_m = True
|
find_page_m = True
|
||||||
if not find_page_m:
|
if not find_page_m:
|
||||||
from api.scheduled_tasks import get_page_monitoring_time, create_page_monitoring_task
|
from api.scheduled_tasks import get_page_monitoring_time, create_page_monitoring_task
|
||||||
pat = await get_page_monitoring_time()
|
pat, flag = await get_page_monitoring_time()
|
||||||
scheduler.add_job(create_page_monitoring_task, 'interval', hours=pat, id='page_monitoring', jobstore='mongo')
|
if flag:
|
||||||
|
scheduler.add_job(create_page_monitoring_task, 'interval', hours=pat, id='page_monitoring', jobstore='mongo')
|
||||||
asyncio.create_task(subscribe_log_channel())
|
asyncio.create_task(subscribe_log_channel())
|
||||||
|
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue