Merge branch 'main' of https://github.com/Autumn-27/ScopeSentry
This commit is contained in:
commit
4c0c0bdbea
|
@ -7,6 +7,8 @@
|
||||||
|
|
||||||
from fastapi import APIRouter, Depends
|
from fastapi import APIRouter, Depends
|
||||||
import git
|
import git
|
||||||
|
import httpx
|
||||||
|
from loguru import logger
|
||||||
from api.users import verify_token
|
from api.users import verify_token
|
||||||
from core.db import get_mongo_db
|
from core.db import get_mongo_db
|
||||||
from core.config import *
|
from core.config import *
|
||||||
|
@ -18,27 +20,33 @@ router = APIRouter()
|
||||||
|
|
||||||
@router.get("/system/version")
|
@router.get("/system/version")
|
||||||
async def get_system_version(redis_con=Depends(get_redis_pool), _: dict = Depends(verify_token)):
|
async def get_system_version(redis_con=Depends(get_redis_pool), _: dict = Depends(verify_token)):
|
||||||
try:
|
server_lversion = ""
|
||||||
r = requests.get(f"{UPDATEURL}/get/version?name=server", timeout=5).json()
|
server_msg = ""
|
||||||
server_lversion = r["value"]
|
scan_lversion = ""
|
||||||
server_msg = r['msg']
|
scan_msg = ""
|
||||||
r = requests.get(f"{UPDATEURL}/get/version?name=scan", timeout=5).json()
|
|
||||||
scan_lversion = r["value"]
|
async with httpx.AsyncClient() as client:
|
||||||
scan_msg = r['msg']
|
try:
|
||||||
except:
|
r = await client.get(f"https://raw.githubusercontent.com/Autumn-27/ScopeSentry/main/version.json", timeout=5)
|
||||||
server_lversion = ""
|
r_json = r.json()
|
||||||
server_msg = ""
|
server_lversion = r_json["server"]
|
||||||
scan_lversion = ""
|
server_msg = r_json['server_msg']
|
||||||
scan_msg = ""
|
scan_lversion = r_json["scan"]
|
||||||
|
scan_msg = r_json['scan_msg']
|
||||||
|
except Exception as e:
|
||||||
|
# 这里可以添加一些日志记录错误信息
|
||||||
|
logger.error(str(e))
|
||||||
|
|
||||||
result_list = [{"name": "ScopeSentry-Server", "cversion": VERSION, "lversion": server_lversion, "msg": server_msg}]
|
result_list = [{"name": "ScopeSentry-Server", "cversion": VERSION, "lversion": server_lversion, "msg": server_msg}]
|
||||||
|
try:
|
||||||
async with redis_con as redis:
|
async with redis_con as redis:
|
||||||
keys = await redis.keys("node:*")
|
keys = await redis.keys("node:*")
|
||||||
for key in keys:
|
for key in keys:
|
||||||
name = key.split(":")[1]
|
name = key.split(":")[1]
|
||||||
hash_data = await redis.hgetall(key)
|
hash_data = await redis.hgetall(key)
|
||||||
result_list.append({"name": name, "cversion": hash_data["version"], "lversion": scan_lversion, "msg": scan_msg})
|
result_list.append({"name": name, "cversion": hash_data["version"], "lversion": scan_lversion, "msg": scan_msg})
|
||||||
|
except:
|
||||||
|
pass
|
||||||
return {
|
return {
|
||||||
"code": 200,
|
"code": 200,
|
||||||
"data": {
|
"data": {
|
||||||
|
|
|
@ -8,7 +8,7 @@ import string
|
||||||
|
|
||||||
import yaml
|
import yaml
|
||||||
|
|
||||||
VERSION = "1.2.1"
|
VERSION = "1.3"
|
||||||
UPDATEURL = "http://update.scope-sentry.top"
|
UPDATEURL = "http://update.scope-sentry.top"
|
||||||
REMOTE_REPO_URL = "https://github.com/Autumn-27/ScopeSentry.git"
|
REMOTE_REPO_URL = "https://github.com/Autumn-27/ScopeSentry.git"
|
||||||
SECRET_KEY = "ScopeSentry-15847412364125411"
|
SECRET_KEY = "ScopeSentry-15847412364125411"
|
||||||
|
|
18
core/db.py
18
core/db.py
|
@ -2,6 +2,7 @@
|
||||||
# @name: db
|
# @name: db
|
||||||
# @auth: rainy-autumn@outlook.com
|
# @auth: rainy-autumn@outlook.com
|
||||||
# @version:
|
# @version:
|
||||||
|
import time
|
||||||
from urllib.parse import quote_plus
|
from urllib.parse import quote_plus
|
||||||
|
|
||||||
from motor.motor_asyncio import AsyncIOMotorClient, AsyncIOMotorCursor
|
from motor.motor_asyncio import AsyncIOMotorClient, AsyncIOMotorCursor
|
||||||
|
@ -23,11 +24,20 @@ async def get_mongo_db():
|
||||||
|
|
||||||
async def create_database():
|
async def create_database():
|
||||||
client = None
|
client = None
|
||||||
|
check_flag = 0
|
||||||
try:
|
try:
|
||||||
# 创建新的 MongoDB 客户端
|
while True:
|
||||||
client = AsyncIOMotorClient(f"mongodb://{quote_plus(DATABASE_USER)}:{quote_plus(DATABASE_PASSWORD)}@{MONGODB_IP}:{str(MONGODB_PORT)}",
|
try:
|
||||||
serverSelectionTimeoutMS=2000)
|
# 创建新的 MongoDB 客户端
|
||||||
|
client = AsyncIOMotorClient(f"mongodb://{quote_plus(DATABASE_USER)}:{quote_plus(DATABASE_PASSWORD)}@{MONGODB_IP}:{str(MONGODB_PORT)}",
|
||||||
|
serverSelectionTimeoutMS=2000)
|
||||||
|
break
|
||||||
|
except Exception as e:
|
||||||
|
time.sleep(5)
|
||||||
|
check_flag += 1
|
||||||
|
if check_flag == 5:
|
||||||
|
logger.error(f"Error re creating database: {e}")
|
||||||
|
exit(0)
|
||||||
# 获取数据库列表
|
# 获取数据库列表
|
||||||
database_names = await client.list_database_names()
|
database_names = await client.list_database_names()
|
||||||
|
|
||||||
|
|
BIN
requirements.txt
BIN
requirements.txt
Binary file not shown.
|
@ -63,9 +63,6 @@ services:
|
||||||
retries: 10
|
retries: 10
|
||||||
networks:
|
networks:
|
||||||
- scopesentry-network
|
- scopesentry-network
|
||||||
dns:
|
|
||||||
- 8.8.8.8
|
|
||||||
- 1.1.1.1
|
|
||||||
|
|
||||||
scopesentry-scan:
|
scopesentry-scan:
|
||||||
image: autumn27/scopesentry-scan:latest
|
image: autumn27/scopesentry-scan:latest
|
||||||
|
@ -88,6 +85,3 @@ services:
|
||||||
condition: service_healthy
|
condition: service_healthy
|
||||||
networks:
|
networks:
|
||||||
- scopesentry-network
|
- scopesentry-network
|
||||||
dns:
|
|
||||||
- 8.8.8.8
|
|
||||||
- 1.1.1.1
|
|
||||||
|
|
|
@ -0,0 +1,6 @@
|
||||||
|
{
|
||||||
|
"server":"1.2",
|
||||||
|
"scan": "1.2",
|
||||||
|
"server_msg": "修复bug",
|
||||||
|
"scan_msg": "修复bug"
|
||||||
|
}
|
Loading…
Reference in New Issue