60 lines
1.4 KiB
Python
Executable File
60 lines
1.4 KiB
Python
Executable File
#!/usr/bin/python3
|
|
""" This Script decrypt Wireguardfiles for Wirepy users """
|
|
|
|
import os
|
|
import shutil
|
|
from pathlib import Path
|
|
from subprocess import check_call
|
|
|
|
uname = Path("/tmp/.loguser")
|
|
|
|
with open(uname, "r") as f:
|
|
logname = f.readline()
|
|
|
|
""" Dirname "tlecdewg" = Tunnel Encrypt Decrypt Wireguard """
|
|
dirname = Path("/tmp/tlecdcwg/")
|
|
keyfile = Path(f"/home/{logname}/.config/wire_py/pbwgk.pem")
|
|
pkeyfile = "/usr/local/etc/ssl/pwgk.pem"
|
|
|
|
if not keyfile.is_file():
|
|
|
|
check_call(
|
|
[
|
|
"openssl",
|
|
"rsa",
|
|
"-in",
|
|
pkeyfile,
|
|
"-out",
|
|
keyfile,
|
|
"-outform",
|
|
"PEM",
|
|
"-pubout",
|
|
]
|
|
)
|
|
shutil.chown(keyfile, 1000, 1000)
|
|
|
|
dirname2 = "/home/" + logname + "/.config/wire_py/"
|
|
detl = os.listdir(dirname2)
|
|
os.chdir(dirname2)
|
|
detl.remove("keys")
|
|
detl.remove("settings")
|
|
if os.path.exists(dirname2 + "pbwgk.pem"):
|
|
detl.remove("pbwgk.pem")
|
|
for detunnels in detl:
|
|
tlname2 = detunnels[:-4] + ".conf"
|
|
extpath = str(dirname) + "/" + tlname2
|
|
check_call(
|
|
[
|
|
"openssl",
|
|
"pkeyutl",
|
|
"-decrypt",
|
|
"-inkey",
|
|
pkeyfile,
|
|
"-in",
|
|
detunnels,
|
|
"-out",
|
|
extpath,
|
|
]
|
|
)
|
|
shutil.chown(extpath, 1000, 1000)
|