uu_pixiv_api / getServerList.py
rogerxavier's picture
Upload 2 files
02e3866 verified
raw
history blame
1.37 kB
#!/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()
@router.get('/')
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