File size: 1,371 Bytes
02e3866
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
#!/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