Skip to content

Instantly share code, notes, and snippets.

@jinyu121
Last active October 5, 2018 10:58
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save jinyu121/f32724fa5993e4a4151f0f3fb19b68ba to your computer and use it in GitHub Desktop.
Save jinyu121/f32724fa5993e4a4151f0f3fb19b68ba to your computer and use it in GitHub Desktop.
V2Ray backup

Backup a specific binary release version of V2Ray.

import os
import subprocess
from argparse import ArgumentParser
from urllib.request import urlretrieve
BASE_URL = "https://github.com/v2ray/v2ray-core/releases/download/{version}/{filename}"
parser = ArgumentParser()
parser.add_argument('version', type=str, help='Version')
version = parser.parse_args().version
os.makedirs(version, exist_ok=True)
urlretrieve(BASE_URL.format(version=version, filename="metadata.txt"), os.path.join(version, "metadata.txt"))
for line in open(os.path.join(version, "metadata.txt")):
if ".zip" in line:
try:
filename = line.replace("File:", "").strip()
print(version, filename)
urlretrieve(BASE_URL.format(version=version, filename=filename), os.path.join(version, filename))
except:
print("Fail:", line)
cmd = ["7z", "a", version + ".7z", version, "-sdel"]
subprocess.run(cmd, stdout=subprocess.DEVNULL)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment