rogerxavier commited on
Commit
02e3866
·
verified ·
1 Parent(s): b4ca012

Upload 2 files

Browse files
Files changed (2) hide show
  1. app.py +31 -27
  2. getServerList.py +40 -0
app.py CHANGED
@@ -1,27 +1,31 @@
1
- from fastapi import FastAPI
2
- from server.utils import config
3
- from getNode import router as GetNodeRouter
4
- from randomSubscribeUrl import router as randomSubscribeUrlRouter
5
- from validSubCount import router as validSubCountRouter
6
- import uvicorn
7
- app = FastAPI()
8
- fileName = "subscribeLink.txt"
9
- randomSubscribeUrlRouter.fileName = fileName
10
- validSubCountRouter.fileName = fileName
11
- GetNodeRouter.fileName = fileName
12
-
13
-
14
-
15
- @app.get("/uu.json", tags=["Root"])
16
- async def read_root() -> dict:
17
- return config
18
-
19
- #全局路由
20
- app.include_router(GetNodeRouter, prefix="/getNode")
21
- app.include_router(randomSubscribeUrlRouter, prefix="/randomSubscribeUrl")
22
- app.include_router(validSubCountRouter, prefix="/validSubCount")
23
-
24
- #这个是部署hf上
25
- if __name__ == '__main__':
26
- uvicorn.run(app, host='0.0.0.0', port=7860)
27
-
 
 
 
 
 
1
+ from fastapi import FastAPI
2
+ from server.utils import config
3
+ from getNode import router as GetNodeRouter
4
+ from getServerList import router as getServerListRouter
5
+ from randomSubscribeUrl import router as randomSubscribeUrlRouter
6
+ from validSubCount import router as validSubCountRouter
7
+ import uvicorn
8
+ app = FastAPI()
9
+ fileName = "subscribeLink.txt"
10
+ randomSubscribeUrlRouter.fileName = fileName
11
+ validSubCountRouter.fileName = fileName
12
+ GetNodeRouter.fileName = fileName
13
+ getServerListRouter.fileName = fileName
14
+
15
+
16
+
17
+ @app.get("/uu.json", tags=["Root"])
18
+ async def read_root() -> dict:
19
+ return config
20
+
21
+ #全局路由
22
+ app.include_router(GetNodeRouter, prefix="/getNode")
23
+ app.include_router(getServerListRouter, prefix="/getServerList")
24
+ app.include_router(randomSubscribeUrlRouter, prefix="/randomSubscribeUrl")
25
+ app.include_router(validSubCountRouter, prefix="/validSubCount")
26
+
27
+
28
+ #这个是部署hf上
29
+ if __name__ == '__main__':
30
+ uvicorn.run(app, host='0.0.0.0', port=7860)
31
+
getServerList.py ADDED
@@ -0,0 +1,40 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ #!/usr/bin/env python
2
+ # -*- coding: utf-8 -*-
3
+ from server.decoder import decode_url_to_configs
4
+ import base64
5
+ from fastapi import APIRouter,BackgroundTasks
6
+ from randomSubscribeUrl import subscription_link_list,getRandomSubscribeUrl,delete_invalid_url_in_txt
7
+
8
+
9
+ router = APIRouter()
10
+ @router.get('/')
11
+ def getServerList(background_tasks: BackgroundTasks)->str:
12
+ # 返回一个可用的订阅链接信息
13
+ SubscribeUrlList = subscription_link_list(router.fileName)
14
+ # 直接用现成的认为可用然后直接返回,之后再删不可用的
15
+ randomSubscribeUrl= getRandomSubscribeUrl(SubscribeUrlList)
16
+ NodeList = dump_configs(randomSubscribeUrl)
17
+
18
+ # 将所有链接拼接成一个字符串,每个链接之间用换行符分隔
19
+ combined_links = "\n".join(NodeList)
20
+
21
+ # 将字符串转换为字节串
22
+ combined_links_bytes = combined_links.encode("utf-8")
23
+
24
+ # 对字节串进行 Base64 编码
25
+ encoded_links = base64.b64encode(combined_links_bytes)
26
+
27
+ # 将编码后的字节串转换为字符串
28
+ encoded_links_str = encoded_links.decode("utf-8")
29
+ # 输出 Base64 编码后的订阅地址
30
+ print("Base64 编码后的订阅地址:")
31
+ print(encoded_links_str)
32
+ return encoded_links_str
33
+
34
+
35
+
36
+
37
+ def dump_configs(url:str)->list:
38
+ #返回全部节点信息的列表
39
+ configs = decode_url_to_configs(url)
40
+ return configs