httpsrawfastgitorgPawdroidFree-serversmainsub这个网址是一段base64编码的数据写一个python程序获取该数据并转换为明文它的明文是v2ray格式再将其转化为clash格式并写入文件保存
可以使用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
原文地址: https://www.cveoy.top/t/topic/CKt 著作权归作者所有。请勿转载和采集!