Spaces:
Running
Running
#!/usr/bin/env python | |
# -*- coding: utf-8 -*- | |
from server.decoder import decode_url_to_configs | |
import base64 | |
from fastapi import APIRouter,BackgroundTasks | |
from randomSubscribeUrl import subscription_link_list,getRandomSubscribeUrl,delete_invalid_url_in_txt | |
router = APIRouter() | |
def getServerList(background_tasks: BackgroundTasks)->str: | |
# 返回一个可用的订阅链接信息 | |
SubscribeUrlList = subscription_link_list(router.fileName) | |
# 直接用现成的认为可用然后直接返回,之后再删不可用的 | |
randomSubscribeUrl= getRandomSubscribeUrl(SubscribeUrlList) | |
NodeList = dump_configs(randomSubscribeUrl) | |
# 将所有链接拼接成一个字符串,每个链接之间用换行符分隔 | |
combined_links = "\n".join(NodeList) | |
# 将字符串转换为字节串 | |
combined_links_bytes = combined_links.encode("utf-8") | |
# 对字节串进行 Base64 编码 | |
encoded_links = base64.b64encode(combined_links_bytes) | |
# 将编码后的字节串转换为字符串 | |
encoded_links_str = encoded_links.decode("utf-8") | |
# 输出 Base64 编码后的订阅地址 | |
print("Base64 编码后的订阅地址:") | |
print(encoded_links_str) | |
return encoded_links_str | |
def dump_configs(url:str)->list: | |
#返回全部节点信息的列表 | |
configs = decode_url_to_configs(url) | |
return configs |