support multi planet and dns

This commit is contained in:
cailiang9 2023-08-20 00:49:37 +08:00 committed by GitHub
parent 5c5b506075
commit 44b03d9e82
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -1,5 +1,7 @@
import os
import json
import re
from socket import getaddrinfo
from re import M
@ -13,30 +15,34 @@ def get_patch():
with open("/app/patch/patch.json", "r") as f:
return json.load(f)
def replace_domain(url):
domain = re.search(r'\w[\w\.-]+', url).group()
ip = getaddrinfo(domain, 80)[0][-1][0]
return url.replace(domain, ip)
def patch():
moon = get_moon()
patch = get_patch()
identity = moon["roots"][0]["identity"]
moon["roots"][0]["stableEndpoints"] = patch["stableEndpoints"]
# 修改moon
with open("/var/lib/zerotier-one/moon.json", "w") as f:
f.write(json.dumps(moon,sort_keys=True, indent=2))
print("修改后的moon")
print(moon)
moons = get_moon()
patches = get_patch()
text = ''
for moon, patch in zip(moons["roots"], patches):
identity = moon["identity"]
patch["stableEndpoints"] = [replace_domain(url) for url in patch["stableEndpoints"]]
moon["stableEndpoints"] = patch["stableEndpoints"]
# 修改world
moon["roots"][0]["stableEndpoints"] = get_patch()["stableEndpoints"]
text = f"""// Los Angeles
text += f"""
roots.push_back(World::Root());
roots.back().identity = Identity("{identity}");
"""
"""
for i in get_patch()["stableEndpoints"]:
for i in patch["stableEndpoints"]:
text += f'\n roots.back().stableEndpoints.push_back(InetAddress("{i}"));'
# 修改moon
with open("/var/lib/zerotier-one/moon.json", "w") as f:
f.write(json.dumps(moons,sort_keys=True, indent=2))
print("修改后的moon")
print(moons)
# 生成文件
with open("/app/patch/mkworld.cpp", "r") as cpp: