可以使用Python内置的base64库来解码该数据,并使用json库来解析v2ray格式的配置文件,并将其转换为clash格式。

以下是一个示例代码:

import base64
import json

# 获取数据
url = "https://raw.fastgit.org/Pawdroid/Free-servers/main/sub"
response = requests.get(url)
data = response.text.strip()

# 解码base64
decoded_data = base64.b64decode(data).decode()

# 解析v2ray配置文件
v2ray_config = json.loads(decoded_data)

# 转换为clash格式
clash_config = {
    "proxies": [],
    "proxy-groups": [
        {
            "name": "Proxy",
            "type": "select",
            "proxies": []
        }
    ]
}

for server in v2ray_config:
    proxy_name = server["ps"]
    proxy_server = server["add"]
    proxy_port = server["port"]
    proxy_type = server["type"]
    proxy_password = server.get("password")
    proxy_uuid = server.get("id")

    # 支持vmess和shadowsocks协议
    if proxy_type == "vmess":
        clash_proxy = {
            "name": proxy_name,
            "type": "vmess",
            "server": proxy_server,
            "port": proxy_port,
            "uuid": proxy_uuid,
            "alterId": server.get("aid", 0),
            "cipher": server.get("method", "auto"),
            "tls": server.get("tls", False)
        }
        if proxy_password:
            clash_proxy["password"] = proxy_password

    elif proxy_type == "shadowsocks":
        clash_proxy = {
            "name": proxy_name,
            "type": "ss",
            "server": proxy_server,
            "port": proxy_port,
            "cipher": server.get("method", "auto"),
            "password": proxy_password
        }

    else:
        continue

    clash_config["proxies"].append(clash_proxy)
    clash_config["proxy-groups"][0]["proxies"].append(proxy_name)

# 写入文件
with open("clash-config.yml", "w") as f:
    yaml.dump(clash_config, f)

需要注意的是,上面的示例代码使用了第三方库PyYAML来将clash配置文件写入文件。如果你没有安装PyYAML,可以使用以下命令来安装:

pip install pyyaml
httpsrawfastgitorgPawdroidFree-serversmainsub这个网址是一段base64编码的数据写一个python程序获取该数据并转换为明文它的明文是v2ray格式再将其转化为clash格式并写入文件保存

原文地址: https://www.cveoy.top/t/topic/CKt 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录