This commit is contained in:
Rainy-Autumn 2024-06-14 11:26:06 +08:00
commit 4c0c0bdbea
6 changed files with 49 additions and 31 deletions

View File

@ -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:
r = requests.get(f"{UPDATEURL}/get/version?name=server", timeout=5).json()
server_lversion = r["value"]
server_msg = r['msg']
r = requests.get(f"{UPDATEURL}/get/version?name=scan", timeout=5).json()
scan_lversion = r["value"]
scan_msg = r['msg']
except:
server_lversion = "" server_lversion = ""
server_msg = "" server_msg = ""
scan_lversion = "" scan_lversion = ""
scan_msg = "" scan_msg = ""
result_list = [{"name": "ScopeSentry-Server", "cversion": VERSION, "lversion": server_lversion, "msg": server_msg}] async with httpx.AsyncClient() as client:
try:
r = await client.get(f"https://raw.githubusercontent.com/Autumn-27/ScopeSentry/main/version.json", timeout=5)
r_json = r.json()
server_lversion = r_json["server"]
server_msg = r_json['server_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}]
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": {

View File

@ -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"

View File

@ -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:
while True:
try: try:
# 创建新的 MongoDB 客户端 # 创建新的 MongoDB 客户端
client = AsyncIOMotorClient(f"mongodb://{quote_plus(DATABASE_USER)}:{quote_plus(DATABASE_PASSWORD)}@{MONGODB_IP}:{str(MONGODB_PORT)}", client = AsyncIOMotorClient(f"mongodb://{quote_plus(DATABASE_USER)}:{quote_plus(DATABASE_PASSWORD)}@{MONGODB_IP}:{str(MONGODB_PORT)}",
serverSelectionTimeoutMS=2000) 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()

Binary file not shown.

View File

@ -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

6
version.json Normal file
View File

@ -0,0 +1,6 @@
{
"server":"1.2",
"scan": "1.2",
"server_msg": "修复bug",
"scan_msg": "修复bug"
}