vpn 세팅 스크립트 수정 7

This commit is contained in:
2026-07-13 17:00:36 +09:00
parent b38db2357b
commit d01121306b
+7 -2
View File
@@ -147,18 +147,23 @@ runs:
seed, fmt = sys.argv[1], sys.argv[2] seed, fmt = sys.argv[1], sys.argv[2]
seed = "".join(seed.split()) seed = "".join(seed.split())
def decode_base32(value):
normalized = value.replace(" ", "").upper().rstrip("=")
normalized += "=" * ((8 - len(normalized) % 8) % 8)
return base64.b32decode(normalized)
if fmt == "base64": if fmt == "base64":
decoded = base64.b64decode(seed) decoded = base64.b64decode(seed)
try: try:
maybe_base32 = decoded.decode("ascii").replace(" ", "").upper() maybe_base32 = decoded.decode("ascii").replace(" ", "").upper()
if maybe_base32 and all(ch in "ABCDEFGHIJKLMNOPQRSTUVWXYZ234567=" for ch in maybe_base32): if maybe_base32 and all(ch in "ABCDEFGHIJKLMNOPQRSTUVWXYZ234567=" for ch in maybe_base32):
raw = base64.b32decode(maybe_base32) raw = decode_base32(maybe_base32)
else: else:
raw = decoded raw = decoded
except UnicodeDecodeError: except UnicodeDecodeError:
raw = decoded raw = decoded
elif fmt == "base32": elif fmt == "base32":
raw = base64.b32decode(seed.upper()) raw = decode_base32(seed)
elif fmt == "hex": elif fmt == "hex":
raw = bytes.fromhex(seed) raw = bytes.fromhex(seed)
else: else: