Compare commits

..

No commits in common. "e235f7a72b28494d74b5ea0fed5a6e1575bd9117" and "36c46920ec35a69ced6562a9897bf6c73314de45" have entirely different histories.

3 changed files with 7 additions and 40 deletions

View File

@ -6,7 +6,6 @@ This too has several functions:
## To-Do ## To-Do
* Auto-clean files/tmp/ folder
* Prettier code * Prettier code
* Only update once per day, except if `-u` `--update` * Only update once per day, except if `-u` `--update`
* Adding more services to listen to ? * Adding more services to listen to ?

View File

@ -19,21 +19,12 @@
}, },
"githubreleasesync": { "githubreleasesync": {
"carlospolop/PEASS-ng": { "carlospolop/PEASS-ng": {
"local_version": "20220424", "local_version": "20220417",
"files": [ "files": [
"linpeas.sh", "linpeas.sh",
"winPEAS.bat", "winPEAS.bat",
"winPEASany.exe" "winPEASany.exe"
] ]
},
"jpillora/chisel": {
"local_version": "v1.7.7",
"files": [
{
"filename": "chisel_{short_version}_windows_amd64.gz",
"binpath": "chisel.exe"
}
]
} }
}, },
"ncat": { "ncat": {

View File

@ -9,7 +9,6 @@ import subprocess
from io import BytesIO from io import BytesIO
import zipfile import zipfile
import rpmfile import rpmfile
import gzip
def compute_file_hash(filepath): def compute_file_hash(filepath):
@ -54,9 +53,6 @@ def extract_bin(archtype, binpath, destpath, content):
with open(destpath, 'wb') as f: with open(destpath, 'wb') as f:
f.write(fd.read()) f.write(fd.read())
elif archtype == 'gz':
with open(destpath, 'wb') as f:
f.write(gzip.decompress(content))
ioobj.close() ioobj.close()
@ -87,34 +83,18 @@ def githubmastersync(reponame, filepaths, credz):
def githubreleasesync(reponame, repoinfo, credz): def githubreleasesync(reponame, repoinfo, credz):
local_version = repoinfo['local_version'] local_version = repoinfo['local_version']
last_version = get_last_release_info(reponame, credz) last_version = get_last_release_info(reponame, credz)
short_version = last_version.replace('v', '')
filenames = repoinfo['files'] filenames = repoinfo['files']
for filename in filenames: for filename in filenames:
if isinstance(filename, dict): localfile = pathlib.Path('files').joinpath(pathlib.Path(filename).name)
binpath = filename['binpath']
filename = filename['filename']
filename = filename.replace('{last_version}', last_version).replace('{short_version}', short_version)
localfile = pathlib.Path('files').joinpath(pathlib.Path(binpath).name)
if filename.endswith('.gz'):
is_gz = True
print(f" * {localfile} ", end='')
else:
filename = filename.replace('{last_version}', last_version).replace('{short_version}', short_version)
localfile = pathlib.Path('files').joinpath(pathlib.Path(filename).name)
print(f" * {localfile} ", end='')
urldl = f'https://github.com/{reponame}/releases/download/{last_version}/{filename}' urldl = f'https://github.com/{reponame}/releases/download/{last_version}/{filename}'
print(f" * {localfile} ", end='')
if not localfile.exists(): if not localfile.exists():
content = requests.get(urldl, auth=credz).content content = requests.get(urldl, auth=credz).content
if is_gz: with open(localfile, 'wb') as f:
extract_bin('gz', binpath, localfile, content) f.write(content)
else:
with open(localfile, 'wb') as f:
f.write(content)
print('-> Installed! ;)') print('-> Installed! ;)')
else: else:
@ -123,11 +103,8 @@ def githubreleasesync(reponame, repoinfo, credz):
else: else:
content = requests.get(urldl, auth=credz).content content = requests.get(urldl, auth=credz).content
if is_gz: with open(localfile, 'wb') as f:
extract_bin('gz', binpath, localfile, content) f.write(content)
else:
with open(localfile, 'wb') as f:
f.write(content)
print('-> Updated!') print('-> Updated!')
with open("config.json", "r") as jsonfile: with open("config.json", "r") as jsonfile: