Merge branch '1201' into dev
This commit is contained in:
commit
9f5a8ace72
34 changed files with 4216 additions and 299 deletions
|
|
@ -279,9 +279,9 @@ rem Create VB script
|
|||
mkdir "%bin%\tmp" 2>nul
|
||||
echo Set UAC = CreateObject^("Shell.Application"^) > "%bin%\tmp\Elevate.vbs"
|
||||
if defined L_NCMD (
|
||||
echo UAC.ShellExecute "%PYTHON%", """%script%""", "", "runas", 3 >> "%bin%\tmp\Elevate.vbs"
|
||||
echo UAC.ShellExecute "%PYTHON%", """%script%"" %L_ARGS%", "", "runas", 3 >> "%bin%\tmp\Elevate.vbs"
|
||||
) else (
|
||||
echo UAC.ShellExecute "%CON%", "-run ""%PYTHON%"" ""%script%"" -new_console:n", "", "runas", 1 >> "%bin%\tmp\Elevate.vbs"
|
||||
echo UAC.ShellExecute "%CON%", "-run ""%PYTHON%"" ""%script%"" %L_ARGS% -new_console:n", "", "runas", 1 >> "%bin%\tmp\Elevate.vbs"
|
||||
)
|
||||
|
||||
rem Run
|
||||
|
|
@ -290,9 +290,9 @@ goto Exit
|
|||
|
||||
:LaunchPyScriptUser
|
||||
if defined L_NCMD (
|
||||
start "" "%PYTHON%" "%script%" || goto ErrorUnknown
|
||||
start "" "%PYTHON%" "%script%" %L_ARGS% || goto ErrorUnknown
|
||||
) else (
|
||||
start "" "%CON%" -run "%PYTHON%" "%script%" -new_console:n || goto ErrorUnknown
|
||||
start "" "%CON%" -run "%PYTHON%" "%script%" %L_ARGS% -new_console:n || goto ErrorUnknown
|
||||
)
|
||||
goto Exit
|
||||
|
||||
|
|
@ -332,7 +332,7 @@ echo. Executable Working Dir Program Args [L_7ZIP] [L_ELEV] [L__CLI]
|
|||
echo. Folder Folder '.' [L_7ZIP]
|
||||
echo. Office Year Product [L_7ZIP]
|
||||
echo. PSScript Scripts Script [L_7ZIP] [L_ELEV] [L_NCMD]
|
||||
echo. PyScript Scripts Script [L_7ZIP] [L_ELEV] [L_NCMD]
|
||||
echo. PyScript Scripts Script Args [L_7ZIP] [L_ELEV] [L_NCMD]
|
||||
echo. QuickBooks Year Product [L_7ZIP]
|
||||
echo.
|
||||
echo.L_7ZIP: Extra arguments for 7-Zip (in the :ExtractCBin label)
|
||||
|
|
|
|||
|
|
@ -17,7 +17,7 @@ call :SetTitle Launcher
|
|||
rem EXTRA_CODE
|
||||
|
||||
:DefineLaunch
|
||||
:: See %bin%\SCripts\Launch.cmd for details under :Usage label
|
||||
:: See %bin%\Scripts\Launch.cmd for details under :Usage label
|
||||
set L_TYPE=
|
||||
set L_PATH=
|
||||
set L_ITEM=
|
||||
|
|
@ -110,4 +110,4 @@ goto Exit
|
|||
:: Cleanup and exit ::
|
||||
:Exit
|
||||
endlocal
|
||||
exit /b %errorlevel%
|
||||
exit /b %errorlevel%
|
||||
|
|
|
|||
|
|
@ -2,6 +2,8 @@
|
|||
|
||||
from functions.common import *
|
||||
|
||||
from operator import itemgetter
|
||||
|
||||
# Define other_results for later try_and_print
|
||||
browser_data = {}
|
||||
other_results = {
|
||||
|
|
@ -101,6 +103,52 @@ SUPPORTED_BROWSERS = {
|
|||
},
|
||||
}
|
||||
|
||||
def archive_all_users():
|
||||
"""Create backups for all browsers for all users."""
|
||||
users_root = r'{}\Users'.format(global_vars['Env']['SYSTEMDRIVE'])
|
||||
user_envs = []
|
||||
|
||||
# Build list of valid users
|
||||
for user_name in os.listdir(users_root):
|
||||
valid_user = True
|
||||
if user_name in ('Default', 'Default User'):
|
||||
# Skip default users
|
||||
continue
|
||||
user_path = os.path.join(users_root, user_name)
|
||||
appdata_local = os.path.join(user_path, r'AppData\Local')
|
||||
appdata_roaming = os.path.join(user_path, r'AppData\Roaming')
|
||||
valid_user &= os.path.exists(appdata_local)
|
||||
valid_user &= os.path.exists(appdata_roaming)
|
||||
if valid_user:
|
||||
user_envs.append({
|
||||
'USERNAME': user_name,
|
||||
'USERPROFILE': user_path,
|
||||
'APPDATA': appdata_roaming,
|
||||
'LOCALAPPDATA': appdata_local})
|
||||
|
||||
# Backup browsers for all valid users
|
||||
print_info('Backing up browsers')
|
||||
for fake_env in sorted(user_envs, key=itemgetter('USERPROFILE')):
|
||||
print_standard(fake_env['USERNAME'])
|
||||
for b_k, b_v in sorted(SUPPORTED_BROWSERS.items()):
|
||||
if b_k == 'Mozilla Firefox Dev':
|
||||
continue
|
||||
source_path = b_v['user_data_path'].format(**fake_env)
|
||||
if not os.path.exists(source_path):
|
||||
continue
|
||||
source_items = source_path + '*'
|
||||
archive_path = r'{BackupDir}\Browsers ({USERNAME})'.format(
|
||||
**global_vars, **fake_env)
|
||||
os.makedirs(archive_path, exist_ok=True)
|
||||
archive_path += r'\{}.7z'.format(b_k)
|
||||
cmd = [
|
||||
global_vars['Tools']['SevenZip'],
|
||||
'a', '-aoa', '-bso0', '-bse0', '-mx=1',
|
||||
archive_path, source_items]
|
||||
try_and_print(message=' {}...'.format(b_k),
|
||||
function=run_program, cmd=cmd)
|
||||
print_standard(' ')
|
||||
|
||||
def archive_browser(name):
|
||||
"""Create backup of Browser saved in the BackupDir."""
|
||||
source = '{}*'.format(browser_data[name]['user_data_path'])
|
||||
|
|
@ -111,6 +159,7 @@ def archive_browser(name):
|
|||
cmd = [
|
||||
global_vars['Tools']['SevenZip'],
|
||||
'a', '-aoa', '-bso0', '-bse0', '-mx=1',
|
||||
'-mhe=on', '-p{}'.format(ARCHIVE_PASSWORD),
|
||||
archive, source]
|
||||
run_program(cmd)
|
||||
|
||||
|
|
@ -138,7 +187,7 @@ def clean_chromium_profile(profile):
|
|||
|
||||
def clean_internet_explorer(**kwargs):
|
||||
"""Uses the built-in function to reset IE and sets the homepage.
|
||||
|
||||
|
||||
NOTE: kwargs set but unused as a workaround."""
|
||||
kill_process('iexplore.exe')
|
||||
run_program(['rundll32.exe', 'inetcpl.cpl,ResetIEtoDefaults'], check=False)
|
||||
|
|
@ -182,11 +231,11 @@ def clean_mozilla_profile(profile):
|
|||
def get_browser_details(name):
|
||||
"""Get installation status and profile details for all supported browsers."""
|
||||
browser = SUPPORTED_BROWSERS[name].copy()
|
||||
|
||||
|
||||
# Update user_data_path
|
||||
browser['user_data_path'] = browser['user_data_path'].format(
|
||||
**global_vars['Env'])
|
||||
|
||||
|
||||
# Find executable (if multiple files are found, the last one is used)
|
||||
exe_path = None
|
||||
num_installs = 0
|
||||
|
|
@ -197,7 +246,7 @@ def get_browser_details(name):
|
|||
if os.path.exists(test_path):
|
||||
num_installs += 1
|
||||
exe_path = test_path
|
||||
|
||||
|
||||
# Find profile(s)
|
||||
profiles = []
|
||||
if browser['base'] == 'ie':
|
||||
|
|
@ -230,7 +279,7 @@ def get_browser_details(name):
|
|||
if os.path.exists(browser['user_data_path']):
|
||||
profiles.append(
|
||||
{'name': 'Default', 'path': browser['user_data_path']})
|
||||
|
||||
|
||||
# Get homepages
|
||||
if browser['base'] == 'ie':
|
||||
# IE is set to only have one profile above
|
||||
|
|
@ -239,14 +288,14 @@ def get_browser_details(name):
|
|||
for profile in profiles:
|
||||
prefs_path = r'{path}\prefs.js'.format(**profile)
|
||||
profile['homepages'] = get_mozilla_homepages(prefs_path=prefs_path)
|
||||
|
||||
|
||||
# Add to browser_data
|
||||
browser_data[name] = browser
|
||||
browser_data[name].update({
|
||||
'exe_path': exe_path,
|
||||
'profiles': profiles,
|
||||
})
|
||||
|
||||
|
||||
# Raise installation warnings (if any)
|
||||
if num_installs == 0:
|
||||
raise NotInstalledError
|
||||
|
|
@ -305,7 +354,7 @@ def get_mozilla_homepages(prefs_path):
|
|||
homepages = search.group(1).split('|')
|
||||
except Exception:
|
||||
pass
|
||||
|
||||
|
||||
return homepages
|
||||
|
||||
def get_mozilla_profiles(search_path, dev=False):
|
||||
|
|
@ -332,9 +381,11 @@ def get_mozilla_profiles(search_path, dev=False):
|
|||
|
||||
return profiles
|
||||
|
||||
def install_adblock(indent=8, width=32):
|
||||
def install_adblock(indent=8, width=32, just_firefox=False):
|
||||
"""Install adblock for all supported browsers."""
|
||||
for browser in sorted(browser_data):
|
||||
if just_firefox and browser_data[browser]['base'] != 'mozilla':
|
||||
continue
|
||||
exe_path = browser_data[browser].get('exe_path', None)
|
||||
function=run_program
|
||||
if not exe_path:
|
||||
|
|
@ -400,7 +451,7 @@ def install_adblock(indent=8, width=32):
|
|||
|
||||
def list_homepages(indent=8, width=32):
|
||||
"""List current homepages for reference."""
|
||||
|
||||
|
||||
for browser in [k for k, v in sorted(browser_data.items()) if v['exe_path']]:
|
||||
# Skip Chromium-based browsers
|
||||
if browser_data[browser]['base'] == 'chromium':
|
||||
|
|
@ -444,9 +495,11 @@ def reset_browsers(indent=8, width=32):
|
|||
indent=indent, width=width, function=function,
|
||||
other_results=other_results, profile=profile)
|
||||
|
||||
def scan_for_browsers():
|
||||
def scan_for_browsers(just_firefox=False):
|
||||
"""Scan system for any supported browsers."""
|
||||
for name in sorted(SUPPORTED_BROWSERS):
|
||||
for name, details in sorted(SUPPORTED_BROWSERS.items()):
|
||||
if just_firefox and details['base'] != 'mozilla':
|
||||
continue
|
||||
try_and_print(message='{}...'.format(name),
|
||||
function=get_browser_details, cs='Detected',
|
||||
other_results=other_results, name=name)
|
||||
|
|
|
|||
|
|
@ -23,8 +23,8 @@ def cleanup_adwcleaner():
|
|||
|
||||
# Main folder
|
||||
if os.path.exists(source_path):
|
||||
os.makedirs(global_vars['ProgBackupDir'], exist_ok=True)
|
||||
dest_name = r'{ProgBackupDir}\AdwCleaner_{Date-Time}'.format(
|
||||
os.makedirs(global_vars['LogDir'], exist_ok=True)
|
||||
dest_name = r'{LogDir}\{Date}\AdwCleaner'.format(
|
||||
**global_vars)
|
||||
dest_name = non_clobber_rename(dest_name)
|
||||
shutil.move(source_path, dest_name)
|
||||
|
|
@ -68,9 +68,76 @@ def cleanup_cbs(dest_folder):
|
|||
r'{}\CbsPersist*'.format(temp_folder)]
|
||||
run_program(cmd)
|
||||
|
||||
def cleanup_d7ii():
|
||||
"""Sort d7II logs and remove temp items."""
|
||||
d7_path = r'{}\d7II'.format(global_vars['ClientDir'])
|
||||
d7_reports = r'{}_Reports'.format(d7_path)
|
||||
d7_temp = r'{}\Temp'.format(d7_path)
|
||||
|
||||
# Logs & Reports
|
||||
if os.path.exists(d7_reports):
|
||||
for entry in os.scandir(d7_reports):
|
||||
r = re.match(r'(\d+)-(\d+)-(\d+)', entry.name)
|
||||
d7_date = '{}-{:02d}-{:02d}'.format(
|
||||
r.group(1), int(r.group(2)), int(r.group(3)))
|
||||
d7_mlogs = r'{}\Malware Logs'.format(entry.path)
|
||||
log_dest = r'{SYSTEMDRIVE}\{prefix}\Info\{date}'.format(
|
||||
prefix=KIT_NAME_SHORT,
|
||||
date=d7_date,
|
||||
**global_vars['Env'])
|
||||
|
||||
# Remove empty folders
|
||||
for f in ('Malware Logs', 'Screen Shots'):
|
||||
try:
|
||||
os.rmdir(r'{}\{}'.format(entry.path, f))
|
||||
except FileNotFoundError:
|
||||
pass
|
||||
except OSError:
|
||||
pass
|
||||
|
||||
# Malware Logs
|
||||
if os.path.exists(d7_mlogs):
|
||||
for m_entry in os.scandir(d7_mlogs):
|
||||
prefix = ''
|
||||
if m_entry.name == 'MalwareScan_Report.txt':
|
||||
prefix = 'd7II_'
|
||||
dest_path = r'{log_dest}\{prefix}{name}'.format(
|
||||
log_dest=log_dest,
|
||||
prefix=prefix,
|
||||
name=m_entry.name)
|
||||
dest_path = non_clobber_rename(dest_path)
|
||||
shutil.move(entry.path, dest_path)
|
||||
try:
|
||||
os.rmdir(d7_mlogs)
|
||||
except OSError:
|
||||
pass
|
||||
|
||||
# Other items
|
||||
for o_entry in os.scandir(entry.path):
|
||||
dest_path = r'{log_dest}\d7II_{name}'.format(
|
||||
log_dest=log_dest,
|
||||
name=m_entry.name)
|
||||
dest_path = non_clobber_rename(dest_path)
|
||||
shutil.move(entry.path, dest_path)
|
||||
|
||||
# Remove folder if empty
|
||||
try:
|
||||
os.rmdir(entry.path)
|
||||
except OSError:
|
||||
pass
|
||||
|
||||
# Temp items
|
||||
if os.path.exists(d7_path):
|
||||
if os.path.exists(d7_temp):
|
||||
shutil.rmtree(d7_temp)
|
||||
try:
|
||||
os.rmdir(d7_path)
|
||||
except OSError:
|
||||
pass
|
||||
|
||||
def cleanup_desktop():
|
||||
"""Move known backup files and reports into the ClientDir."""
|
||||
dest_folder = r'{ProgBackupDir}\Desktop_{Date-Time}'.format(**global_vars)
|
||||
dest_folder = r'{ProgBackupDir}\{Date}\Desktop'.format(**global_vars)
|
||||
os.makedirs(dest_folder, exist_ok=True)
|
||||
|
||||
desktop_path = r'{USERPROFILE}\Desktop'.format(**global_vars['Env'])
|
||||
|
|
@ -87,5 +154,49 @@ def cleanup_desktop():
|
|||
except OSError:
|
||||
pass
|
||||
|
||||
def cleanup_emsisoft():
|
||||
"""Remove EmsisoftCmd files from drive root."""
|
||||
source_path = r'{}\EmsisoftCmd'.format(global_vars['Env']['SYSTEMDRIVE'])
|
||||
source_quarantine = r'{}\Quarantine'.format(source_path)
|
||||
|
||||
# Quarantine
|
||||
if os.path.exists(source_quarantine):
|
||||
os.makedirs(global_vars['QuarantineDir'], exist_ok=True)
|
||||
dest_name = r'{QuarantineDir}\Emsisoft_{Date-Time}'.format(
|
||||
**global_vars)
|
||||
dest_name = non_clobber_rename(dest_name)
|
||||
shutil.move(source_quarantine, dest_name)
|
||||
|
||||
# Remove program
|
||||
if os.path.exists(source_path):
|
||||
shutil.rmtree(source_path)
|
||||
|
||||
def cleanup_regbackups():
|
||||
"""Move d7ii regbackups into backup folder."""
|
||||
source_path = r'{}\Support\RegBackups'.format(
|
||||
global_vars['Env']['SYSTEMDRIVE'])
|
||||
|
||||
# Bail early
|
||||
if not os.path.exists(source_path):
|
||||
return
|
||||
|
||||
# Move to backup folder
|
||||
for entry in os.scandir(source_path):
|
||||
os.makedirs(global_vars['ProgBackupDir'], exist_ok=True)
|
||||
dest_path = r'{ProgBackupDir}\{Date}\Registry\{name}'.format(
|
||||
name=entry.name,
|
||||
**global_vars)
|
||||
dest_path = non_clobber_rename(dest_path)
|
||||
shutil.move(entry.path, dest_path)
|
||||
|
||||
# Delete source folders if empty
|
||||
try:
|
||||
os.rmdir(source_path)
|
||||
os.rmdir(r'{}\Support'.format(global_vars['Env']['SYSTEMDRIVE']))
|
||||
except OSError:
|
||||
pass
|
||||
|
||||
if __name__ == '__main__':
|
||||
print("This file is not meant to be called directly.")
|
||||
|
||||
# vim: sts=4 sw=4 ts=4
|
||||
|
|
|
|||
|
|
@ -162,7 +162,7 @@ def exit_script(return_value=0):
|
|||
|
||||
# Open Log (if it exists)
|
||||
log = global_vars.get('LogFile', '')
|
||||
if log and os.path.exists(log) and psutil.WINDOWS:
|
||||
if log and os.path.exists(log) and psutil.WINDOWS and ENABLED_OPEN_LOGS:
|
||||
try:
|
||||
extract_item('NotepadPlusPlus', silent=True)
|
||||
popen_program(
|
||||
|
|
|
|||
|
|
@ -162,7 +162,7 @@ def get_installed_office():
|
|||
|
||||
def get_shell_path(folder, user='current'):
|
||||
"""Get shell path using SHGetKnownFolderPath via knownpaths, returns str.
|
||||
|
||||
|
||||
NOTE: Only works for the current user.
|
||||
Code based on https://gist.github.com/mkropat/7550097
|
||||
"""
|
||||
|
|
@ -175,14 +175,14 @@ def get_shell_path(folder, user='current'):
|
|||
except AttributeError:
|
||||
# Unknown folder ID, ignore and return None
|
||||
pass
|
||||
|
||||
|
||||
if folderid:
|
||||
try:
|
||||
path = knownpaths.get_path(folderid, getattr(knownpaths.UserHandle, user))
|
||||
except PathNotFoundError:
|
||||
# Folder not found, ignore and return None
|
||||
pass
|
||||
|
||||
|
||||
return path
|
||||
|
||||
def get_user_data_paths(user):
|
||||
|
|
@ -196,7 +196,7 @@ def get_user_data_paths(user):
|
|||
'Extra Folders': {},
|
||||
}
|
||||
unload_hive = False
|
||||
|
||||
|
||||
if user['Name'] == global_vars['Env']['USERNAME']:
|
||||
# We can use SHGetKnownFolderPath for the current user
|
||||
paths['Profile']['Path'] = get_shell_path('Profile')
|
||||
|
|
@ -212,7 +212,7 @@ def get_user_data_paths(user):
|
|||
except Exception:
|
||||
# Profile path not found, leaving as None.
|
||||
pass
|
||||
|
||||
|
||||
# Shell folders (Prep)
|
||||
if not reg_path_exists(HKU, hive_path) and paths['Profile']['Path']:
|
||||
# User not logged-in, loading hive
|
||||
|
|
@ -226,7 +226,7 @@ def get_user_data_paths(user):
|
|||
except subprocess.CalledProcessError:
|
||||
# Failed to load user hive
|
||||
pass
|
||||
|
||||
|
||||
# Shell folders
|
||||
shell_folders = r'{}\{}'.format(hive_path, REG_SHELL_FOLDERS)
|
||||
if (reg_path_exists(HKU, hive_path)
|
||||
|
|
@ -252,7 +252,7 @@ def get_user_data_paths(user):
|
|||
if (folder not in paths['Shell Folders']
|
||||
and os.path.exists(folder_path)):
|
||||
paths['Shell Folders'][folder] = {'Path': folder_path}
|
||||
|
||||
|
||||
# Extra folders
|
||||
if paths['Profile']['Path']:
|
||||
for folder in EXTRA_FOLDERS:
|
||||
|
|
@ -260,12 +260,12 @@ def get_user_data_paths(user):
|
|||
folder=folder, **paths['Profile'])
|
||||
if os.path.exists(folder_path):
|
||||
paths['Extra Folders'][folder] = {'Path': folder_path}
|
||||
|
||||
|
||||
# Shell folders (cleanup)
|
||||
if unload_hive:
|
||||
cmd = ['reg', 'unload', r'HKU\{}'.format(TMP_HIVE_PATH)]
|
||||
run_program(cmd, check=False)
|
||||
|
||||
|
||||
# Done
|
||||
return paths
|
||||
|
||||
|
|
@ -277,7 +277,7 @@ def get_user_folder_sizes(users):
|
|||
with winreg.OpenKey(HKCU,
|
||||
r'Software\Sysinternals\Du', access=winreg.KEY_WRITE) as key:
|
||||
winreg.SetValueEx(key, 'EulaAccepted', 0, winreg.REG_DWORD, 1)
|
||||
|
||||
|
||||
for u in users:
|
||||
u.update(get_user_data_paths(u))
|
||||
if u['Profile']['Path']:
|
||||
|
|
@ -292,7 +292,7 @@ def get_user_folder_sizes(users):
|
|||
def get_user_list():
|
||||
"""Get user list via WMIC, returns list of dicts."""
|
||||
users = []
|
||||
|
||||
|
||||
# Get user info from WMI
|
||||
cmd = ['wmic', 'useraccount', 'get', '/format:csv']
|
||||
try:
|
||||
|
|
@ -300,10 +300,10 @@ def get_user_list():
|
|||
except subprocess.CalledProcessError:
|
||||
# Meh, return empty list to avoid a full crash
|
||||
return users
|
||||
|
||||
|
||||
entries = out.stdout.decode().splitlines()
|
||||
entries = [e.strip().split(',') for e in entries if e.strip()]
|
||||
|
||||
|
||||
# Add user(s) to dict
|
||||
keys = entries[0]
|
||||
for e in entries[1:]:
|
||||
|
|
@ -314,10 +314,10 @@ def get_user_list():
|
|||
# Assume SIDs ending with 1000+ are "Standard" and others are "System"
|
||||
e['Type'] = 'Standard' if re.search(r'-1\d+$', e['SID']) else 'System'
|
||||
users.append(e)
|
||||
|
||||
|
||||
# Sort list
|
||||
users.sort(key=itemgetter('Name'))
|
||||
|
||||
|
||||
# Done
|
||||
return users
|
||||
|
||||
|
|
@ -368,26 +368,38 @@ def run_aida64():
|
|||
'/TEXT', '/SILENT', '/SAFEST']
|
||||
run_program(cmd, check=False)
|
||||
|
||||
def run_bleachbit():
|
||||
def run_bleachbit(cleaners=None, preview=True):
|
||||
"""Run BleachBit preview and save log.
|
||||
|
||||
This is a preview so no files should be deleted."""
|
||||
if not os.path.exists(global_vars['LogDir']+r'\BleachBit.log'):
|
||||
extract_item('BleachBit', silent=True)
|
||||
cmd = [global_vars['Tools']['BleachBit'], '--preview', '--preset']
|
||||
out = run_program(cmd, check=False)
|
||||
# Save stderr
|
||||
if out.stderr.decode().splitlines():
|
||||
with open(global_vars['LogDir']+r'\BleachBit.err', 'a',
|
||||
encoding='utf-8') as f:
|
||||
for line in out.stderr.decode().splitlines():
|
||||
f.write(line.strip() + '\n')
|
||||
# Save stdout
|
||||
with open(global_vars['LogDir']+r'\BleachBit.log', 'a',
|
||||
encoding='utf-8') as f:
|
||||
for line in out.stdout.decode().splitlines():
|
||||
|
||||
If preview is True then no files should be deleted."""
|
||||
error_path = r'{}\BleachBit.err'.format(global_vars['LogDir'])
|
||||
log_path = error_path.replace('err', 'log')
|
||||
extract_item('BleachBit', silent=True)
|
||||
|
||||
# Safety check
|
||||
if not cleaners:
|
||||
# Disable cleaning and use preset config
|
||||
cleaners = ['--preset']
|
||||
preview = True
|
||||
|
||||
# Run
|
||||
cmd = [
|
||||
global_vars['Tools']['BleachBit'],
|
||||
'--preview' if preview else '--clean']
|
||||
cmd.extend(cleaners)
|
||||
out = run_program(cmd, check=False)
|
||||
|
||||
# Save stderr
|
||||
if out.stderr.decode().splitlines():
|
||||
with open(error_path, 'a', encoding='utf-8') as f:
|
||||
for line in out.stderr.decode().splitlines():
|
||||
f.write(line.strip() + '\n')
|
||||
|
||||
# Save stdout
|
||||
with open(log_path, 'a', encoding='utf-8') as f:
|
||||
for line in out.stdout.decode().splitlines():
|
||||
f.write(line.strip() + '\n')
|
||||
|
||||
def show_disk_usage(disk):
|
||||
"""Show free and used space for a specified disk."""
|
||||
print_standard('{:5}'.format(disk.device.replace('/', ' ')),
|
||||
|
|
|
|||
|
|
@ -1,6 +1,8 @@
|
|||
# Wizard Kit: Functions - Setup
|
||||
|
||||
from functions.common import *
|
||||
from functions.update import *
|
||||
from settings.sources import *
|
||||
|
||||
# STATIC VARIABLES
|
||||
HKCU = winreg.HKEY_CURRENT_USER
|
||||
|
|
@ -193,7 +195,7 @@ def write_registry_settings(settings, all_users=False):
|
|||
if 'WOW64_32' in v:
|
||||
access = access | winreg.KEY_WOW64_32KEY
|
||||
winreg.CreateKeyEx(hive, k, 0, access)
|
||||
|
||||
|
||||
# Create values
|
||||
with winreg.OpenKeyEx(hive, k, 0, access) as key:
|
||||
for name, value in v.get('DWORD Items', {}).items():
|
||||
|
|
@ -250,6 +252,30 @@ def install_classicstart_skin():
|
|||
os.makedirs(dest_path, exist_ok=True)
|
||||
shutil.copy(source, dest)
|
||||
|
||||
def install_eset_nod32_av(scan_pups=True):
|
||||
"""Install ESET NOD32 AV with custom config."""
|
||||
extract_item('ESETConfigs', silent=True)
|
||||
config_file = '{BinDir}\ESETConfigs\{config_file}.xml'.format(
|
||||
config_file='eset-config' if scan_pups else 'eset-config-no-pup',
|
||||
**global_vars)
|
||||
|
||||
# Download
|
||||
result = try_and_print(message='Downloading Setup...', cs='Done',
|
||||
other_results=OTHER_RESULTS, function=download_generic,
|
||||
out_dir=global_vars['ClientDir'],
|
||||
out_name='eav_nt64.exe',
|
||||
source_url=SOURCE_URLS['ESET NOD32'])
|
||||
if not result['CS']:
|
||||
raise GenericError('Failed to download ESET NOD32')
|
||||
|
||||
# Install
|
||||
cmd = [r'{ClientDir}\eav_nt64.exe'.format(**global_vars),
|
||||
'--silent', '--accepteula', '--msi-property',
|
||||
'PRODUCTTYPE=eav', 'PRODUCT_LANG=1033', 'PRODUCT_LANG_CODE=en-US',
|
||||
'ADMINCFG="{}"'.format(config_file)]
|
||||
try_and_print(message='Installing ESET NOD32 AV...',
|
||||
other_results=OTHER_RESULTS, function=run_program, cmd=cmd)
|
||||
|
||||
def install_firefox_extensions():
|
||||
"""Update registry to install Firefox extensions for all users."""
|
||||
dist_path = r'{PROGRAMFILES}\Mozilla Firefox\distribution\extensions'.format(
|
||||
|
|
@ -261,7 +287,7 @@ def install_firefox_extensions():
|
|||
# Update registry
|
||||
write_registry_settings(SETTINGS_MOZILLA_FIREFOX_32, all_users=True)
|
||||
write_registry_settings(SETTINGS_MOZILLA_FIREFOX_64, all_users=True)
|
||||
|
||||
|
||||
# Extract extension(s) to distribution folder
|
||||
cmd = [
|
||||
global_vars['Tools']['SevenZip'], 'e', '-aos', '-bso0', '-bse0',
|
||||
|
|
|
|||
|
|
@ -28,7 +28,7 @@ def compress_item(item):
|
|||
wd = os.path.abspath(r'{}\{}'.format(wd, os.path.pardir))
|
||||
include_str = item.name
|
||||
os.chdir(wd)
|
||||
|
||||
|
||||
# Compress
|
||||
cmd = [
|
||||
global_vars['Tools']['SevenZip'],
|
||||
|
|
@ -38,7 +38,7 @@ def compress_item(item):
|
|||
include_str,
|
||||
]
|
||||
run_program(cmd)
|
||||
|
||||
|
||||
# Done
|
||||
os.chdir(prev_dir)
|
||||
|
||||
|
|
@ -96,7 +96,7 @@ def generate_launcher(section, name, options):
|
|||
dest = global_vars['BaseDir']
|
||||
full_path = r'{}\{}.cmd'.format(dest, name)
|
||||
template = r'{}\Scripts\Launcher_Template.cmd'.format(global_vars['BinDir'])
|
||||
|
||||
|
||||
# Format options
|
||||
f_options = {}
|
||||
for opt in options.keys():
|
||||
|
|
@ -106,7 +106,7 @@ def generate_launcher(section, name, options):
|
|||
elif re.search(r'^L_\w+', opt, re.IGNORECASE):
|
||||
new_opt = 'set {}='.format(opt)
|
||||
f_options[new_opt] = ['set {}={}'.format(opt, options[opt])]
|
||||
|
||||
|
||||
# Read template and update using f_options
|
||||
out_text = []
|
||||
with open(template, 'r') as f:
|
||||
|
|
@ -118,7 +118,7 @@ def generate_launcher(section, name, options):
|
|||
out_text.extend(f_options[line])
|
||||
else:
|
||||
out_text.append(line)
|
||||
|
||||
|
||||
# Write file
|
||||
os.makedirs(dest, exist_ok=True)
|
||||
with open(full_path, 'w') as f:
|
||||
|
|
@ -172,7 +172,7 @@ def scan_for_net_installers(server, family_name, min_year):
|
|||
"""Scan network shares for installers."""
|
||||
if not server['Mounted']:
|
||||
mount_network_share(server)
|
||||
|
||||
|
||||
if server['Mounted']:
|
||||
for year in os.scandir(r'\\{IP}\{Share}'.format(**server)):
|
||||
try:
|
||||
|
|
@ -204,13 +204,13 @@ def update_testdisk():
|
|||
for exe in ['fidentify_win.exe', 'photorec_win.exe',
|
||||
'qphotorec_win.exe', 'testdisk_win.exe']:
|
||||
kill_process(exe)
|
||||
|
||||
|
||||
# Remove existing folders
|
||||
remove_from_kit('TestDisk')
|
||||
|
||||
|
||||
# Download
|
||||
download_to_temp('testdisk_wip.zip', SOURCE_URLS['TestDisk'])
|
||||
|
||||
|
||||
# Extract files
|
||||
extract_temp_to_cbin('testdisk_wip.zip', 'TestDisk')
|
||||
dest = r'{}\TestDisk'.format(global_vars['CBinDir'])
|
||||
|
|
@ -220,7 +220,7 @@ def update_testdisk():
|
|||
shutil.move(item.path, dest_item)
|
||||
shutil.rmtree(
|
||||
r'{}\TestDisk\testdisk-7.1-WIP'.format(global_vars['CBinDir']))
|
||||
|
||||
|
||||
# Cleanup
|
||||
remove_from_temp('testdisk_wip.zip')
|
||||
|
||||
|
|
@ -230,10 +230,10 @@ def update_fastcopy():
|
|||
# Stop running processes
|
||||
for process in ['FastCopy.exe', 'FastCopy64.exe']:
|
||||
kill_process(process)
|
||||
|
||||
|
||||
# Remove existing folders
|
||||
remove_from_kit('FastCopy')
|
||||
|
||||
|
||||
# Download
|
||||
download_to_temp('FastCopy.zip', SOURCE_URLS['FastCopy'])
|
||||
|
||||
|
|
@ -267,14 +267,14 @@ def update_fastcopy():
|
|||
def update_wimlib():
|
||||
# Stop running processes
|
||||
kill_process('wimlib-imagex.exe')
|
||||
|
||||
|
||||
# Remove existing folders
|
||||
remove_from_kit('wimlib')
|
||||
|
||||
|
||||
# Download
|
||||
download_to_temp('wimlib32.zip', SOURCE_URLS['wimlib32'])
|
||||
download_to_temp('wimlib64.zip', SOURCE_URLS['wimlib64'])
|
||||
|
||||
|
||||
# Extract
|
||||
extract_generic(
|
||||
r'{}\wimlib32.zip'.format(global_vars['TmpDir']),
|
||||
|
|
@ -282,7 +282,7 @@ def update_wimlib():
|
|||
extract_generic(
|
||||
r'{}\wimlib64.zip'.format(global_vars['TmpDir']),
|
||||
r'{}\wimlib\x64'.format(global_vars['CBinDir']))
|
||||
|
||||
|
||||
# Cleanup
|
||||
remove_from_temp('wimlib32.zip')
|
||||
remove_from_temp('wimlib64.zip')
|
||||
|
|
@ -290,16 +290,16 @@ def update_wimlib():
|
|||
def update_xyplorer():
|
||||
# Stop running processes
|
||||
kill_process('XYplorerFree.exe')
|
||||
|
||||
|
||||
# Remove existing folders
|
||||
remove_from_kit('XYplorerFree')
|
||||
|
||||
|
||||
# Download
|
||||
download_to_temp('xyplorer_free.zip', SOURCE_URLS['XYplorerFree'])
|
||||
|
||||
|
||||
# Extract files
|
||||
extract_temp_to_cbin('xyplorer_free.zip', 'XYplorerFree')
|
||||
|
||||
|
||||
# Cleanup
|
||||
remove_from_temp('xyplorer_free.zip')
|
||||
|
||||
|
|
@ -307,16 +307,16 @@ def update_xyplorer():
|
|||
def update_aida64():
|
||||
# Stop running processes
|
||||
kill_process('notepadplusplus.exe')
|
||||
|
||||
|
||||
# Remove existing folders
|
||||
remove_from_kit('AIDA64')
|
||||
|
||||
|
||||
# Download
|
||||
download_to_temp('aida64.zip', SOURCE_URLS['AIDA64'])
|
||||
|
||||
|
||||
# Extract files
|
||||
extract_temp_to_cbin('aida64.zip', 'AIDA64')
|
||||
|
||||
|
||||
# Cleanup
|
||||
remove_from_temp('aida64.zip')
|
||||
|
||||
|
|
@ -324,37 +324,37 @@ def update_autoruns():
|
|||
# Stop running processes
|
||||
kill_process('Autoruns.exe')
|
||||
kill_process('Autoruns64.exe')
|
||||
|
||||
|
||||
# Remove existing folders
|
||||
remove_from_kit('Autoruns')
|
||||
|
||||
|
||||
# Download
|
||||
download_to_temp('Autoruns.zip', SOURCE_URLS['Autoruns'])
|
||||
|
||||
|
||||
# Extract files
|
||||
extract_temp_to_cbin('Autoruns.zip', 'Autoruns')
|
||||
|
||||
|
||||
# Cleanup
|
||||
remove_from_temp('Autoruns.zip')
|
||||
|
||||
def update_bleachbit():
|
||||
# Stop running processes
|
||||
kill_process('bleachbit.exe')
|
||||
|
||||
|
||||
# Remove existing folders
|
||||
remove_from_kit('BleachBit')
|
||||
|
||||
|
||||
# Download
|
||||
download_to_temp('bleachbit.zip', SOURCE_URLS['BleachBit'])
|
||||
download_to_temp('Winapp2.zip', SOURCE_URLS['Winapp2'])
|
||||
|
||||
|
||||
# Extract files
|
||||
extract_temp_to_cbin('bleachbit.zip', 'BleachBit')
|
||||
extract_generic(
|
||||
r'{}\Winapp2.zip'.format(global_vars['TmpDir']),
|
||||
r'{}\BleachBit\cleaners'.format(global_vars['CBinDir']),
|
||||
mode='e', sz_args=[r'Winapp2-master\Non-CCleaner\Winapp2.ini'])
|
||||
|
||||
|
||||
# Move files into place
|
||||
dest = r'{}\BleachBit'.format(global_vars['CBinDir'])
|
||||
for item in os.scandir(r'{}\BleachBit-Portable'.format(dest)):
|
||||
|
|
@ -363,7 +363,7 @@ def update_bleachbit():
|
|||
shutil.move(item.path, dest_item)
|
||||
shutil.rmtree(
|
||||
r'{}\BleachBit\BleachBit-Portable'.format(global_vars['CBinDir']))
|
||||
|
||||
|
||||
# Cleanup
|
||||
remove_from_temp('bleachbit.zip')
|
||||
remove_from_temp('Winapp2.zip')
|
||||
|
|
@ -372,21 +372,21 @@ def update_bluescreenview():
|
|||
# Stop running processes
|
||||
for exe in ['BlueScreenView.exe', 'BlueScreenView64.exe']:
|
||||
kill_process(exe)
|
||||
|
||||
|
||||
# Remove existing folders
|
||||
remove_from_kit('BlueScreenView')
|
||||
|
||||
|
||||
# Download
|
||||
download_to_temp('bluescreenview32.zip', SOURCE_URLS['BlueScreenView32'])
|
||||
download_to_temp('bluescreenview64.zip', SOURCE_URLS['BlueScreenView64'])
|
||||
|
||||
|
||||
# Extract files
|
||||
extract_temp_to_cbin('bluescreenview64.zip', 'BlueScreenView', sz_args=['BlueScreenView.exe'])
|
||||
shutil.move(
|
||||
r'{}\BlueScreenView\BlueScreenView.exe'.format(global_vars['CBinDir']),
|
||||
r'{}\BlueScreenView\BlueScreenView64.exe'.format(global_vars['CBinDir']))
|
||||
extract_temp_to_cbin('bluescreenview32.zip', 'BlueScreenView')
|
||||
|
||||
|
||||
# Cleanup
|
||||
remove_from_temp('bluescreenview32.zip')
|
||||
remove_from_temp('bluescreenview64.zip')
|
||||
|
|
@ -394,16 +394,16 @@ def update_bluescreenview():
|
|||
def update_erunt():
|
||||
# Stop running processes
|
||||
kill_process('ERUNT.EXE')
|
||||
|
||||
|
||||
# Remove existing folders
|
||||
remove_from_kit('ERUNT')
|
||||
|
||||
|
||||
# Download
|
||||
download_to_temp('erunt.zip', SOURCE_URLS['ERUNT'])
|
||||
|
||||
|
||||
# Extract files
|
||||
extract_temp_to_cbin('erunt.zip', 'ERUNT')
|
||||
|
||||
|
||||
# Cleanup
|
||||
remove_from_temp('erunt.zip')
|
||||
|
||||
|
|
@ -411,10 +411,10 @@ def update_hitmanpro():
|
|||
# Stop running processes
|
||||
for exe in ['HitmanPro.exe', 'HitmanPro64.exe']:
|
||||
kill_process(exe)
|
||||
|
||||
|
||||
# Remove existing folders
|
||||
remove_from_kit('HitmanPro')
|
||||
|
||||
|
||||
# Download
|
||||
dest = r'{}\HitmanPro'.format(global_vars['CBinDir'])
|
||||
download_generic(dest, 'HitmanPro.exe', SOURCE_URLS['HitmanPro32'])
|
||||
|
|
@ -425,13 +425,13 @@ def update_hwinfo():
|
|||
# Stop running processes
|
||||
for exe in ['HWiNFO32.exe', 'HWiNFO64.exe']:
|
||||
kill_process(exe)
|
||||
|
||||
|
||||
# Download
|
||||
download_to_temp('HWiNFO.zip', SOURCE_URLS['HWiNFO'])
|
||||
|
||||
|
||||
# Extract files
|
||||
extract_temp_to_bin('HWiNFO.zip', 'HWiNFO')
|
||||
|
||||
|
||||
# Cleanup
|
||||
remove_from_temp('HWiNFO.zip')
|
||||
|
||||
|
|
@ -439,21 +439,21 @@ def update_produkey():
|
|||
# Stop running processes
|
||||
for exe in ['ProduKey.exe', 'ProduKey64.exe']:
|
||||
kill_process(exe)
|
||||
|
||||
|
||||
# Remove existing folders
|
||||
remove_from_kit('ProduKey')
|
||||
|
||||
|
||||
# Download
|
||||
download_to_temp('produkey32.zip', SOURCE_URLS['ProduKey32'])
|
||||
download_to_temp('produkey64.zip', SOURCE_URLS['ProduKey64'])
|
||||
|
||||
|
||||
# Extract files
|
||||
extract_temp_to_cbin('produkey64.zip', 'ProduKey', sz_args=['ProduKey.exe'])
|
||||
shutil.move(
|
||||
r'{}\ProduKey\ProduKey.exe'.format(global_vars['CBinDir']),
|
||||
r'{}\ProduKey\ProduKey64.exe'.format(global_vars['CBinDir']))
|
||||
extract_temp_to_cbin('produkey32.zip', 'ProduKey')
|
||||
|
||||
|
||||
# Cleanup
|
||||
remove_from_temp('produkey32.zip')
|
||||
remove_from_temp('produkey64.zip')
|
||||
|
|
@ -462,14 +462,14 @@ def update_produkey():
|
|||
def update_intel_rst():
|
||||
# Remove existing folders
|
||||
remove_from_kit('Intel RST')
|
||||
|
||||
|
||||
# Prep
|
||||
dest = r'{}\_Drivers\Intel RST'.format(global_vars['CBinDir'])
|
||||
include_path = r'{}\_include\_Drivers\Intel RST'.format(
|
||||
global_vars['CBinDir'])
|
||||
if os.path.exists(include_path):
|
||||
shutil.copytree(include_path, dest)
|
||||
|
||||
|
||||
# Download
|
||||
for name, url in RST_SOURCES.items():
|
||||
download_generic(dest, name, url)
|
||||
|
|
@ -477,7 +477,7 @@ def update_intel_rst():
|
|||
def update_intel_ssd_toolbox():
|
||||
# Remove existing folders
|
||||
remove_from_kit('Intel SSD Toolbox.exe')
|
||||
|
||||
|
||||
# Download
|
||||
download_generic(
|
||||
r'{}\_Drivers\Intel SSD Toolbox'.format(global_vars['CBinDir']),
|
||||
|
|
@ -487,7 +487,7 @@ def update_intel_ssd_toolbox():
|
|||
def update_samsung_magician():
|
||||
# Remove existing folders
|
||||
remove_from_kit('Samsung Magician.exe')
|
||||
|
||||
|
||||
# Download
|
||||
download_to_temp('Samsung Magician.zip', SOURCE_URLS['Samsung Magician'])
|
||||
|
||||
|
|
@ -509,7 +509,7 @@ def update_sdi_origin():
|
|||
aria_dest = r'{}\aria2'.format(global_vars['TmpDir'])
|
||||
aria = r'{}\aria2c.exe'.format(aria_dest)
|
||||
extract_generic(aria_source, aria_dest, mode='e')
|
||||
|
||||
|
||||
# Prep for torrent download
|
||||
download_to_temp('sdio.torrent', SOURCE_URLS['SDIO Torrent'])
|
||||
sdio_torrent = r'{}\sdio.torrent'.format(global_vars['TmpDir'])
|
||||
|
|
@ -520,7 +520,7 @@ def update_sdi_origin():
|
|||
if r and not re.search(r'(\.(bat|inf)|Video|Server|Printer|XP)', line, re.IGNORECASE):
|
||||
indexes.append(int(r.group(1)))
|
||||
indexes = [str(i) for i in sorted(indexes)]
|
||||
|
||||
|
||||
# Download SDI Origin
|
||||
cmd = [
|
||||
aria,
|
||||
|
|
@ -533,13 +533,13 @@ def update_sdi_origin():
|
|||
run_program(cmd, pipe=False, check=False, shell=True)
|
||||
sleep(1)
|
||||
wait_for_process('aria2c')
|
||||
|
||||
|
||||
# Download SDI Origin extra themes
|
||||
download_to_temp('sdio_themes.zip', SOURCE_URLS['SDIO Themes'])
|
||||
theme_source = r'{}\sdio_themes.zip'.format(global_vars['TmpDir'])
|
||||
theme_dest = r'{}\SDIO_Update\tools\SDI\themes'.format(aria_dest)
|
||||
extract_generic(theme_source, theme_dest)
|
||||
|
||||
|
||||
# Move files into place
|
||||
for item in os.scandir(r'{}\SDIO_Update'.format(aria_dest)):
|
||||
dest_item = '{}\_Drivers\SDIO\{}'.format(
|
||||
|
|
@ -551,7 +551,7 @@ def update_sdi_origin():
|
|||
if (not os.path.exists(dest_item)
|
||||
and not re.search(r'\.(inf|bat)$', item.name, re.IGNORECASE)):
|
||||
shutil.move(item.path, dest_item)
|
||||
|
||||
|
||||
# Cleanup
|
||||
remove_from_temp('aria2')
|
||||
remove_from_temp('aria2.zip')
|
||||
|
|
@ -563,21 +563,28 @@ def update_adobe_reader_dc():
|
|||
# Prep
|
||||
dest = r'{}\Installers\Extras\Office'.format(
|
||||
global_vars['BaseDir'])
|
||||
|
||||
|
||||
# Remove existing installer
|
||||
try:
|
||||
os.remove(r'{}\Adobe Reader DC.exe'.format(dest))
|
||||
except FileNotFoundError:
|
||||
pass
|
||||
|
||||
|
||||
# Download
|
||||
download_generic(
|
||||
dest, 'Adobe Reader DC.exe', SOURCE_URLS['Adobe Reader DC'])
|
||||
|
||||
def update_eset_config():
|
||||
"""Copy config files to .cbin before compress_item"""
|
||||
dest = r'{}\ESETConfigs'.format(global_vars['cbindir'])
|
||||
include_path = r'{}\_include\ESETConfigs'.format(global_vars['CBinDir'])
|
||||
if os.path.exists(include_path):
|
||||
shutil.copytree(include_path, dest)
|
||||
|
||||
def update_office():
|
||||
# Remove existing folders
|
||||
remove_from_kit('_Office')
|
||||
|
||||
|
||||
# Prep
|
||||
dest = r'{}\_Office'.format(global_vars['CBinDir'])
|
||||
include_path = r'{}\_include\_Office'.format(global_vars['CBinDir'])
|
||||
|
|
@ -605,7 +612,7 @@ def update_office():
|
|||
def update_classic_start_skin():
|
||||
# Remove existing folders
|
||||
remove_from_kit('ClassicStartSkin')
|
||||
|
||||
|
||||
# Download
|
||||
download_generic(
|
||||
r'{}\ClassicStartSkin'.format(global_vars['CBinDir']),
|
||||
|
|
@ -615,13 +622,13 @@ def update_classic_start_skin():
|
|||
def update_vcredists():
|
||||
# Remove existing folders
|
||||
remove_from_kit('_vcredists')
|
||||
|
||||
|
||||
# Prep
|
||||
dest = r'{}\_vcredists'.format(global_vars['CBinDir'])
|
||||
include_path = r'{}\_include\_vcredists'.format(global_vars['CBinDir'])
|
||||
if os.path.exists(include_path):
|
||||
shutil.copytree(include_path, dest)
|
||||
|
||||
|
||||
# Download
|
||||
for year in VCREDIST_SOURCES.keys():
|
||||
for bit in ['32', '64']:
|
||||
|
|
@ -635,10 +642,10 @@ def update_vcredists():
|
|||
def update_one_ninite(section, dest, name, url, indent=8, width=40):
|
||||
# Prep
|
||||
url = 'https://ninite.com/{}/ninite.exe'.format(url)
|
||||
|
||||
|
||||
# Download
|
||||
download_generic(out_dir=dest, out_name=name, source_url=url)
|
||||
|
||||
|
||||
# Copy to Installers folder
|
||||
installer_parent = r'{}\Installers\Extras\{}'.format(
|
||||
global_vars['BaseDir'], section)
|
||||
|
|
@ -662,16 +669,16 @@ def update_all_ninite(indent=8, width=40, other_results={}):
|
|||
def update_caffeine():
|
||||
# Stop running processes
|
||||
kill_process('caffeine.exe')
|
||||
|
||||
|
||||
# Remove existing folders
|
||||
remove_from_kit('Caffeine')
|
||||
|
||||
|
||||
# Download
|
||||
download_to_temp('caffeine.zip', SOURCE_URLS['Caffeine'])
|
||||
|
||||
|
||||
# Extract files
|
||||
extract_temp_to_cbin('caffeine.zip', 'Caffeine')
|
||||
|
||||
|
||||
# Cleanup
|
||||
remove_from_temp('caffeine.zip')
|
||||
|
||||
|
|
@ -679,16 +686,16 @@ def update_du():
|
|||
# Stop running processes
|
||||
kill_process('du.exe')
|
||||
kill_process('du64.exe')
|
||||
|
||||
|
||||
# Remove existing folders
|
||||
remove_from_kit('Du')
|
||||
|
||||
|
||||
# Download
|
||||
download_to_temp('du.zip', SOURCE_URLS['Du'])
|
||||
|
||||
|
||||
# Extract files
|
||||
extract_temp_to_cbin('du.zip', 'Du')
|
||||
|
||||
|
||||
# Cleanup
|
||||
remove_from_temp('du.zip')
|
||||
|
||||
|
|
@ -696,21 +703,21 @@ def update_everything():
|
|||
# Stop running processes
|
||||
for exe in ['Everything.exe', 'Everything64.exe']:
|
||||
kill_process(exe)
|
||||
|
||||
|
||||
# Remove existing folders
|
||||
remove_from_kit('Everything')
|
||||
|
||||
|
||||
# Download
|
||||
download_to_temp('everything32.zip', SOURCE_URLS['Everything32'])
|
||||
download_to_temp('everything64.zip', SOURCE_URLS['Everything64'])
|
||||
|
||||
|
||||
# Extract files
|
||||
extract_temp_to_cbin('everything64.zip', 'Everything', sz_args=['Everything.exe'])
|
||||
shutil.move(
|
||||
r'{}\Everything\Everything.exe'.format(global_vars['CBinDir']),
|
||||
r'{}\Everything\Everything64.exe'.format(global_vars['CBinDir']))
|
||||
extract_temp_to_cbin('everything32.zip', 'Everything')
|
||||
|
||||
|
||||
# Cleanup
|
||||
remove_from_temp('everything32.zip')
|
||||
remove_from_temp('everything64.zip')
|
||||
|
|
@ -718,7 +725,7 @@ def update_everything():
|
|||
def update_firefox_ublock_origin():
|
||||
# Remove existing folders
|
||||
remove_from_kit('FirefoxExtensions')
|
||||
|
||||
|
||||
# Download
|
||||
download_generic(
|
||||
r'{}\FirefoxExtensions'.format(global_vars['CBinDir']),
|
||||
|
|
@ -728,36 +735,36 @@ def update_firefox_ublock_origin():
|
|||
def update_notepadplusplus():
|
||||
# Stop running processes
|
||||
kill_process('notepadplusplus.exe')
|
||||
|
||||
|
||||
# Remove existing folders
|
||||
remove_from_kit('NotepadPlusPlus')
|
||||
|
||||
|
||||
# Download
|
||||
download_to_temp('npp.7z', SOURCE_URLS['NotepadPlusPlus'])
|
||||
|
||||
|
||||
# Extract files
|
||||
extract_temp_to_cbin('npp.7z', 'NotepadPlusPlus')
|
||||
shutil.move(
|
||||
r'{}\NotepadPlusPlus\notepad++.exe'.format(global_vars['CBinDir']),
|
||||
r'{}\NotepadPlusPlus\notepadplusplus.exe'.format(global_vars['CBinDir'])
|
||||
)
|
||||
|
||||
|
||||
# Cleanup
|
||||
remove_from_temp('npp.7z')
|
||||
|
||||
def update_putty():
|
||||
# Stop running processes
|
||||
kill_process('PUTTY.EXE')
|
||||
|
||||
|
||||
# Remove existing folders
|
||||
remove_from_kit('PuTTY')
|
||||
|
||||
|
||||
# Download
|
||||
download_to_temp('putty.zip', SOURCE_URLS['PuTTY'])
|
||||
|
||||
|
||||
# Extract files
|
||||
extract_temp_to_cbin('putty.zip', 'PuTTY')
|
||||
|
||||
|
||||
# Cleanup
|
||||
remove_from_temp('putty.zip')
|
||||
|
||||
|
|
@ -765,34 +772,34 @@ def update_wiztree():
|
|||
# Stop running processes
|
||||
for process in ['WizTree.exe', 'WizTree64.exe']:
|
||||
kill_process(process)
|
||||
|
||||
|
||||
# Remove existing folders
|
||||
remove_from_kit('WizTree')
|
||||
|
||||
|
||||
# Download
|
||||
download_to_temp(
|
||||
'wiztree.zip', SOURCE_URLS['WizTree'])
|
||||
|
||||
|
||||
# Extract files
|
||||
extract_temp_to_cbin('wiztree.zip', 'WizTree')
|
||||
|
||||
|
||||
# Cleanup
|
||||
remove_from_temp('wiztree.zip')
|
||||
|
||||
def update_xmplay():
|
||||
# Stop running processes
|
||||
kill_process('xmplay.exe')
|
||||
|
||||
|
||||
# Remove existing folders
|
||||
remove_from_kit('XMPlay')
|
||||
|
||||
|
||||
# Download
|
||||
download_to_temp('xmplay.zip', SOURCE_URLS['XMPlay'])
|
||||
download_to_temp('xmp-7z.zip', SOURCE_URLS['XMPlay 7z'])
|
||||
download_to_temp('xmp-gme.zip', SOURCE_URLS['XMPlay Game'])
|
||||
download_to_temp('xmp-rar.zip', SOURCE_URLS['XMPlay RAR'])
|
||||
download_to_temp('WAModern.zip', SOURCE_URLS['XMPlay WAModern'])
|
||||
|
||||
|
||||
# Extract files
|
||||
extract_temp_to_cbin('xmplay.zip', 'XMPlay',
|
||||
mode='e', sz_args=['xmplay.exe', 'xmplay.txt'])
|
||||
|
|
@ -804,7 +811,7 @@ def update_xmplay():
|
|||
r'{}\{}.zip'.format(global_vars['TmpDir'], item),
|
||||
r'{}\XMPlay\plugins'.format(global_vars['CBinDir']),
|
||||
mode='e', sz_args=filter)
|
||||
|
||||
|
||||
# Download Music
|
||||
dest = r'{}\XMPlay\music_tmp\MOD'.format(global_vars['CBinDir'])
|
||||
for mod in MUSIC_MOD:
|
||||
|
|
@ -816,7 +823,7 @@ def update_xmplay():
|
|||
name = '{}.rsn'.format(game)
|
||||
url = 'http://snesmusic.org/v2/download.php?spcNow={}'.format(game)
|
||||
download_generic(dest, name, url)
|
||||
|
||||
|
||||
# Compress Music
|
||||
cmd = [
|
||||
global_vars['Tools']['SevenZip'],
|
||||
|
|
@ -825,7 +832,7 @@ def update_xmplay():
|
|||
r'{}\XMPlay\music_tmp\*'.format(global_vars['CBinDir']),
|
||||
]
|
||||
run_program(cmd)
|
||||
|
||||
|
||||
# Cleanup
|
||||
remove_item(r'{}\XMPlay\music_tmp'.format(global_vars['CBinDir']))
|
||||
remove_from_temp('xmplay.zip')
|
||||
|
|
@ -838,10 +845,10 @@ def update_xmplay():
|
|||
def update_adwcleaner():
|
||||
# Stop running processes
|
||||
kill_process('AdwCleaner.exe')
|
||||
|
||||
|
||||
# Remove existing folders
|
||||
remove_from_kit('AdwCleaner')
|
||||
|
||||
|
||||
# Download
|
||||
download_generic(
|
||||
r'{}\AdwCleaner'.format(global_vars['CBinDir']),
|
||||
|
|
@ -851,10 +858,10 @@ def update_adwcleaner():
|
|||
def update_kvrt():
|
||||
# Stop running processes
|
||||
kill_process('KVRT.exe')
|
||||
|
||||
|
||||
# Remove existing folders
|
||||
remove_from_kit('KVRT')
|
||||
|
||||
|
||||
# Download
|
||||
download_generic(
|
||||
r'{}\KVRT'.format(global_vars['CBinDir']),
|
||||
|
|
@ -864,10 +871,10 @@ def update_kvrt():
|
|||
def update_rkill():
|
||||
# Stop running processes
|
||||
kill_process('RKill.exe')
|
||||
|
||||
|
||||
# Remove existing folders
|
||||
remove_from_kit('RKill')
|
||||
|
||||
|
||||
# Download
|
||||
url = resolve_dynamic_url(
|
||||
SOURCE_URLS['RKill'],
|
||||
|
|
@ -878,36 +885,59 @@ def update_rkill():
|
|||
def update_tdsskiller():
|
||||
# Stop running processes
|
||||
kill_process('TDSSKiller.exe')
|
||||
|
||||
|
||||
# Remove existing folders
|
||||
remove_from_kit('TDSSKiller')
|
||||
|
||||
|
||||
# Download
|
||||
download_generic(
|
||||
r'{}\TDSSKiller'.format(global_vars['CBinDir']),
|
||||
'TDSSKiller.exe',
|
||||
SOURCE_URLS['TDSSKiller'])
|
||||
|
||||
def update_winaiorepair():
|
||||
# Stop running processes
|
||||
kill_process('Repair_Windows.exe')
|
||||
|
||||
# Remove existing folders
|
||||
remove_from_kit('WinAIO Repair')
|
||||
|
||||
# Download
|
||||
download_to_temp('winaio.zip', SOURCE_URLS['WinAIO Repair'])
|
||||
|
||||
# Extract
|
||||
extract_temp_to_cbin('winaio.zip', 'WinAIO Repair')
|
||||
dest = r'{}\WinAIO Repair'.format(global_vars['CBinDir'])
|
||||
for item in os.scandir(r'{}\Tweaking.com - Windows Repair'.format(dest)):
|
||||
dest_item = '{}\{}'.format(dest, item.name)
|
||||
if not os.path.exists(dest_item):
|
||||
shutil.move(item.path, dest_item)
|
||||
shutil.rmtree(
|
||||
r'{}\WinAIO Repair\Tweaking.com - Windows Repair'.format(global_vars['CBinDir']))
|
||||
|
||||
# Cleanup
|
||||
remove_from_temp('winaio.zip')
|
||||
|
||||
## Uninstallers ##
|
||||
def update_iobit_uninstaller():
|
||||
# Stop running processes
|
||||
kill_process('IObitUninstallerPortable.exe')
|
||||
|
||||
|
||||
# Remove existing folders
|
||||
remove_from_kit('IObitUninstallerPortable')
|
||||
|
||||
|
||||
# Download
|
||||
download_generic(
|
||||
global_vars['CBinDir'],
|
||||
'IObitUninstallerPortable.exe',
|
||||
SOURCE_URLS['IOBit_Uninstaller'])
|
||||
|
||||
|
||||
# "Install"
|
||||
cmd = r'{}\IObitUninstallerPortable.exe'.format(global_vars['CBinDir'])
|
||||
popen_program(cmd)
|
||||
sleep(1)
|
||||
wait_for_process('IObitUninstallerPortable')
|
||||
|
||||
|
||||
# Cleanup
|
||||
remove_from_kit('IObitUninstallerPortable.exe')
|
||||
|
||||
|
|
|
|||
26
.bin/Scripts/install_eset_nod32_av.py
Normal file
26
.bin/Scripts/install_eset_nod32_av.py
Normal file
|
|
@ -0,0 +1,26 @@
|
|||
# Wizard Kit: Install ESET NOD32 AV
|
||||
|
||||
import os
|
||||
import sys
|
||||
|
||||
# Init
|
||||
os.chdir(os.path.dirname(os.path.realpath(__file__)))
|
||||
sys.path.append(os.getcwd())
|
||||
from functions.setup import *
|
||||
init_global_vars()
|
||||
os.system('title {}: Install ESET NOD32 AV'.format(KIT_NAME_FULL))
|
||||
global_vars['LogFile'] = r'{LogDir}\Install ESET NOD32 AV.log'.format(**global_vars)
|
||||
|
||||
if __name__ == '__main__':
|
||||
try:
|
||||
stay_awake()
|
||||
clear_screen()
|
||||
print_info('{}: Install ESET NOD32 AV\n'.format(KIT_NAME_FULL))
|
||||
scan_pups = ask('Enable PUP scans in ESET?')
|
||||
install_eset_nod32_av(scan_pups)
|
||||
print_standard('\nDone.')
|
||||
exit_script()
|
||||
except SystemExit:
|
||||
pass
|
||||
except:
|
||||
major_exception()
|
||||
|
|
@ -10,6 +10,7 @@ from functions.setup import *
|
|||
init_global_vars()
|
||||
os.system('title {}: SW Bundle Tool'.format(KIT_NAME_FULL))
|
||||
global_vars['LogFile'] = r'{LogDir}\Install SW Bundle.log'.format(**global_vars)
|
||||
D7_MODE = 'd7mode' in sys.argv
|
||||
|
||||
if __name__ == '__main__':
|
||||
try:
|
||||
|
|
@ -25,11 +26,15 @@ if __name__ == '__main__':
|
|||
'GenericRepair': 'Repaired',
|
||||
'UnsupportedOSError': 'Unsupported OS',
|
||||
}}
|
||||
answer_extensions = ask('Install Extensions?')
|
||||
answer_adobe_reader = ask('Install Adobe Reader?')
|
||||
answer_vcr = ask('Install Visual C++ Runtimes?')
|
||||
answer_ninite = ask('Install Ninite Bundle?')
|
||||
if answer_ninite and global_vars['OS']['Version'] in ['7']:
|
||||
answer_extensions = D7_MODE or ask('Install Extensions?')
|
||||
if D7_MODE:
|
||||
answer_adobe_reader = False
|
||||
else:
|
||||
answer_adobe_reader = ask('Install Adobe Reader?')
|
||||
answer_vcr = D7_MODE or ask('Install Visual C++ Runtimes?')
|
||||
answer_ninite = D7_MODE or ask('Install Ninite Bundle?')
|
||||
if not D7_MODE and (
|
||||
answer_ninite and global_vars['OS']['Version'] in ['7']):
|
||||
# Vista is dead, not going to check for it
|
||||
answer_mse = ask('Install MSE?')
|
||||
else:
|
||||
|
|
@ -62,3 +67,5 @@ if __name__ == '__main__':
|
|||
pass
|
||||
except:
|
||||
major_exception()
|
||||
|
||||
# vim: sts=4 sw=4 ts=4
|
||||
|
|
|
|||
48
.bin/Scripts/post_d7.py
Normal file
48
.bin/Scripts/post_d7.py
Normal file
|
|
@ -0,0 +1,48 @@
|
|||
# Wizard Kit: Post-d7II items
|
||||
|
||||
import os
|
||||
import sys
|
||||
|
||||
# Init
|
||||
os.chdir(os.path.dirname(os.path.realpath(__file__)))
|
||||
sys.path.append(os.getcwd())
|
||||
from functions.browsers import *
|
||||
from functions.cleanup import *
|
||||
from functions.setup import *
|
||||
init_global_vars()
|
||||
os.system('title {}: Post-d7II Work'.format(KIT_NAME_FULL))
|
||||
global_vars['LogFile'] = r'{LogDir}\User Checklist ({USERNAME}).log'.format(
|
||||
**global_vars, **global_vars['Env'])
|
||||
|
||||
if __name__ == '__main__':
|
||||
try:
|
||||
stay_awake()
|
||||
clear_screen()
|
||||
print_info('{}: Post-d7II Work\n'.format(KIT_NAME_FULL))
|
||||
other_results = {
|
||||
'Warning': {
|
||||
'NotInstalledError': 'Not installed',
|
||||
'NoProfilesError': 'No profiles found',
|
||||
}}
|
||||
|
||||
# Scan for Firefox browsers
|
||||
print_info('Scanning for Firefox browsers')
|
||||
scan_for_browsers(just_firefox=True)
|
||||
|
||||
# Install uBlock Origin
|
||||
print_info('Installing uBlock Origin')
|
||||
install_adblock(just_firefox=True)
|
||||
|
||||
# Cleanup
|
||||
print_info('Cleanup')
|
||||
try_and_print(message='d7II...',
|
||||
function=cleanup_d7ii, cs='Done')
|
||||
|
||||
# Done
|
||||
print_standard('\nDone.')
|
||||
pause('Press Enter to exit...')
|
||||
exit_script()
|
||||
except SystemExit:
|
||||
pass
|
||||
except:
|
||||
major_exception()
|
||||
54
.bin/Scripts/reset_browsers.py
Normal file
54
.bin/Scripts/reset_browsers.py
Normal file
|
|
@ -0,0 +1,54 @@
|
|||
# Wizard Kit: Reset Browsers
|
||||
|
||||
import os
|
||||
import sys
|
||||
|
||||
# Init
|
||||
os.chdir(os.path.dirname(os.path.realpath(__file__)))
|
||||
sys.path.append(os.getcwd())
|
||||
from functions.browsers import *
|
||||
from functions.cleanup import *
|
||||
from functions.setup import *
|
||||
init_global_vars()
|
||||
os.system('title {}: Browser Reset Tool'.format(KIT_NAME_FULL))
|
||||
global_vars['LogFile'] = r'{LogDir}\Browser Reset ({USERNAME}).log'.format(
|
||||
**global_vars, **global_vars['Env'])
|
||||
D7_MODE = 'd7mode' in sys.argv
|
||||
|
||||
if __name__ == '__main__':
|
||||
try:
|
||||
stay_awake()
|
||||
clear_screen()
|
||||
print_info('{}: Browser Reset\n'.format(KIT_NAME_FULL))
|
||||
other_results = {
|
||||
'Warning': {
|
||||
'NotInstalledError': 'Not installed',
|
||||
'NoProfilesError': 'No profiles found',
|
||||
}}
|
||||
|
||||
# Bail early
|
||||
if not D7_MODE and not ask('Reset browsers to safe defaults first?'):
|
||||
exit_script()
|
||||
|
||||
# Scan for supported browsers
|
||||
print_info('Scanning for browsers')
|
||||
scan_for_browsers()
|
||||
|
||||
# Homepages
|
||||
print_info('Current homepages')
|
||||
list_homepages()
|
||||
|
||||
# Backup
|
||||
print_info('Backing up browsers')
|
||||
backup_browsers()
|
||||
|
||||
# Reset
|
||||
print_info('Resetting browsers')
|
||||
reset_browsers()
|
||||
|
||||
# Done
|
||||
exit_script()
|
||||
except SystemExit:
|
||||
pass
|
||||
except:
|
||||
major_exception()
|
||||
|
|
@ -8,22 +8,62 @@ LAUNCHERS = {
|
|||
'L_ITEM': 'activate.py',
|
||||
'L_ELEV': 'True',
|
||||
},
|
||||
'd7II': {
|
||||
'L_TYPE': 'Executable',
|
||||
'L_PATH': 'd7II',
|
||||
'L_ITEM': 'd7II.exe',
|
||||
},
|
||||
'Install ESET NOD32 AV': {
|
||||
'L_TYPE': 'PyScript',
|
||||
'L_PATH': 'Scripts',
|
||||
'L_ITEM': 'install_eset_nod32_av.py',
|
||||
'L_ELEV': 'True',
|
||||
},
|
||||
'System Checklist': {
|
||||
'L_TYPE': 'PyScript',
|
||||
'L_PATH': 'Scripts',
|
||||
'L_ITEM': 'system_checklist.py',
|
||||
'L_ELEV': 'True',
|
||||
},
|
||||
'User Checklist': {
|
||||
'L_TYPE': 'PyScript',
|
||||
'L_PATH': 'Scripts',
|
||||
'L_ITEM': 'user_checklist.py',
|
||||
},
|
||||
},
|
||||
r'.bin\Scripts\launchers_for_d7': {
|
||||
'Browser Reset': {
|
||||
'L_TYPE': 'PyScript',
|
||||
'L_PATH': 'Scripts',
|
||||
'L_ITEM': 'reset_browsers.py',
|
||||
'L_ARGS': 'd7mode',
|
||||
},
|
||||
'Install SW Bundle': {
|
||||
'L_TYPE': 'PyScript',
|
||||
'L_PATH': 'Scripts',
|
||||
'L_ITEM': 'install_sw_bundle.py',
|
||||
'L_ARGS': 'd7mode',
|
||||
'L_ELEV': 'True',
|
||||
},
|
||||
'System Checklist': {
|
||||
'L_TYPE': 'PyScript',
|
||||
'L_PATH': 'Scripts',
|
||||
'L_ITEM': 'system_checklist.py',
|
||||
'L_ARGS': 'd7mode',
|
||||
'L_ELEV': 'True',
|
||||
},
|
||||
'System Diagnostics': {
|
||||
'L_TYPE': 'PyScript',
|
||||
'L_PATH': 'Scripts',
|
||||
'L_ITEM': 'system_diagnostics.py',
|
||||
'L_ARGS': 'd7mode',
|
||||
'L_ELEV': 'True',
|
||||
},
|
||||
'User Checklist': {
|
||||
'L_TYPE': 'PyScript',
|
||||
'L_PATH': 'Scripts',
|
||||
'L_ITEM': 'user_checklist.py',
|
||||
'L_ARGS': 'd7mode',
|
||||
},
|
||||
},
|
||||
r'Data Recovery': {
|
||||
|
|
@ -49,6 +89,11 @@ LAUNCHERS = {
|
|||
},
|
||||
},
|
||||
r'Data Transfers': {
|
||||
"Fab's Autobackup Pro": {
|
||||
'L_TYPE': 'Executable',
|
||||
'L_PATH': 'AutoBackupPro',
|
||||
'L_ITEM': 'autobackup6pro.exe',
|
||||
},
|
||||
'FastCopy (as ADMIN)': {
|
||||
'L_TYPE': 'Executable',
|
||||
'L_PATH': 'FastCopy',
|
||||
|
|
@ -161,6 +206,12 @@ LAUNCHERS = {
|
|||
r'mkdir "%q_dir%">nul 2>&1',
|
||||
],
|
||||
},
|
||||
'Mac & Linux Reader': {
|
||||
'L_TYPE': 'Executable',
|
||||
'L_PATH': 'LinuxReader',
|
||||
'L_ITEM': 'LinuxReader.exe',
|
||||
'L_ELEV': 'True',
|
||||
},
|
||||
'Transferred Keys': {
|
||||
'L_TYPE': 'PyScript',
|
||||
'L_PATH': 'Scripts',
|
||||
|
|
@ -188,17 +239,10 @@ LAUNCHERS = {
|
|||
},
|
||||
},
|
||||
r'Diagnostics': {
|
||||
'HWiNFO': {
|
||||
'AIDA64': {
|
||||
'L_TYPE': 'Executable',
|
||||
'L_PATH': 'HWiNFO',
|
||||
'L_ITEM': 'HWiNFO.exe',
|
||||
'Extra Code': [
|
||||
r'for %%a in (32 64) do (',
|
||||
r' copy /y "%bin%\HWiNFO\general.ini" "%bin%\HWiNFO\HWiNFO%%a.ini"',
|
||||
r' (echo SensorsOnly=0)>>"%bin%\HWiNFO\HWiNFO%%a.ini"',
|
||||
r' (echo SummaryOnly=0)>>"%bin%\HWiNFO\HWiNFO%%a.ini"',
|
||||
r')',
|
||||
],
|
||||
'L_PATH': 'AIDA64',
|
||||
'L_ITEM': 'aida64.exe',
|
||||
},
|
||||
'ProduKey': {
|
||||
'L_TYPE': 'Executable',
|
||||
|
|
@ -212,13 +256,14 @@ LAUNCHERS = {
|
|||
r')',
|
||||
],
|
||||
},
|
||||
'System Diagnostics': {
|
||||
'L_TYPE': 'PyScript',
|
||||
'L_PATH': 'Scripts',
|
||||
'L_ITEM': 'system_diagnostics.py',
|
||||
'L_ELEV': 'True',
|
||||
},
|
||||
},
|
||||
r'Diagnostics\Extras': {
|
||||
'AIDA64': {
|
||||
'L_TYPE': 'Executable',
|
||||
'L_PATH': 'AIDA64',
|
||||
'L_ITEM': 'aida64.exe',
|
||||
},
|
||||
'Autoruns (with VirusTotal Scan)': {
|
||||
'L_TYPE': 'Executable',
|
||||
'L_PATH': 'Autoruns',
|
||||
|
|
@ -265,6 +310,18 @@ LAUNCHERS = {
|
|||
r'call "%bin%\Scripts\init_client_dir.cmd" /Info',
|
||||
],
|
||||
},
|
||||
'HWiNFO': {
|
||||
'L_TYPE': 'Executable',
|
||||
'L_PATH': 'HWiNFO',
|
||||
'L_ITEM': 'HWiNFO.exe',
|
||||
'Extra Code': [
|
||||
r'for %%a in (32 64) do (',
|
||||
r' copy /y "%bin%\HWiNFO\general.ini" "%bin%\HWiNFO\HWiNFO%%a.ini"',
|
||||
r' (echo SensorsOnly=0)>>"%bin%\HWiNFO\HWiNFO%%a.ini"',
|
||||
r' (echo SummaryOnly=0)>>"%bin%\HWiNFO\HWiNFO%%a.ini"',
|
||||
r')',
|
||||
],
|
||||
},
|
||||
'HWiNFO (Sensors)': {
|
||||
'L_TYPE': 'Executable',
|
||||
'L_PATH': 'HWiNFO',
|
||||
|
|
@ -503,6 +560,11 @@ LAUNCHERS = {
|
|||
'L_ITEM': 'dism.py',
|
||||
'L_ELEV': 'True',
|
||||
},
|
||||
'ESET Online Scanner': {
|
||||
'L_TYPE': 'Executable',
|
||||
'L_PATH': 'ESET',
|
||||
'L_ITEM': 'ESET.exe',
|
||||
},
|
||||
'KVRT': {
|
||||
'L_TYPE': 'Executable',
|
||||
'L_PATH': 'KVRT',
|
||||
|
|
@ -552,6 +614,12 @@ LAUNCHERS = {
|
|||
r'mkdir "%q_dir%">nul 2>&1',
|
||||
],
|
||||
},
|
||||
'WinAIO Repair': {
|
||||
'L_TYPE': 'Executable',
|
||||
'L_PATH': 'WinAIO Repair',
|
||||
'L_ITEM': 'Repair_Windows.exe',
|
||||
'L_ELEV': 'True',
|
||||
},
|
||||
},
|
||||
r'Uninstallers': {
|
||||
'IObit Uninstaller': {
|
||||
|
|
|
|||
|
|
@ -1,8 +1,9 @@
|
|||
# Wizard Kit: Settings - Main / Branding
|
||||
|
||||
# Features
|
||||
ENABLED_UPLOAD_DATA = True
|
||||
ENABLED_OPEN_LOGS = False
|
||||
ENABLED_TICKET_NUMBERS = False
|
||||
ENABLED_UPLOAD_DATA = True
|
||||
|
||||
# STATIC VARIABLES (also used by BASH and BATCH files)
|
||||
## NOTE: There are no spaces around the = for easier parsing in BASH and BATCH
|
||||
|
|
@ -10,7 +11,7 @@ ENABLED_TICKET_NUMBERS = False
|
|||
ARCHIVE_PASSWORD='Sorted1201'
|
||||
KIT_NAME_FULL='1201-WizardKit'
|
||||
KIT_NAME_SHORT='1201'
|
||||
SUPPORT_MESSAGE='Please let us know by opening an issue on Gogs'
|
||||
SUPPORT_MESSAGE='Please let support know by opening an issue on Gogs'
|
||||
# osTicket
|
||||
DB_HOST='osticket.1201.com'
|
||||
DB_NAME='osticket'
|
||||
|
|
@ -31,8 +32,8 @@ QUICKBOOKS_SERVER_IP='10.11.1.20'
|
|||
LINUX_TIME_ZONE='America/Los_Angeles' # See 'timedatectl list-timezones' for valid values
|
||||
WINDOWS_TIME_ZONE='Pacific Standard Time' # See 'tzutil /l' for valid values
|
||||
# WiFi
|
||||
WIFI_SSID='HamsterFi'
|
||||
WIFI_PASSWORD='16Hamsters'
|
||||
WIFI_SSID='1201 Computers'
|
||||
WIFI_PASSWORD='12011201'
|
||||
|
||||
# SERVER VARIABLES
|
||||
## NOTE: Windows can only use one user per server. This means that if
|
||||
|
|
|
|||
|
|
@ -13,6 +13,7 @@ SOURCE_URLS = {
|
|||
'ClassicStartSkin': 'http://www.classicshell.net/forum/download/file.php?id=3001&sid=9a195960d98fd754867dcb63d9315335',
|
||||
'Du': 'https://download.sysinternals.com/files/DU.zip',
|
||||
'ERUNT': 'http://www.aumha.org/downloads/erunt.zip',
|
||||
'ESET NOD32 AV': 'https://download.eset.com/com/eset/apps/home/eav/windows/latest/eav_nt64.exe',
|
||||
'Everything32': 'https://www.voidtools.com/Everything-1.4.1.895.x86.zip',
|
||||
'Everything64': 'https://www.voidtools.com/Everything-1.4.1.895.x64.zip',
|
||||
'FastCopy': 'http://ftp.vector.co.jp/70/64/2323/FastCopy354_installer.zip',
|
||||
|
|
@ -36,6 +37,7 @@ SOURCE_URLS = {
|
|||
'TestDisk': 'https://www.cgsecurity.org/testdisk-7.1-WIP.win.zip',
|
||||
'wimlib32': 'https://wimlib.net/downloads/wimlib-1.12.0-windows-i686-bin.zip',
|
||||
'wimlib64': 'https://wimlib.net/downloads/wimlib-1.12.0-windows-x86_64-bin.zip',
|
||||
'WinAIO Repair': 'http://www.tweaking.com/files/setups/tweaking.com_windows_repair_aio.zip',
|
||||
'Winapp2': 'https://github.com/MoscaDotTo/Winapp2/archive/master.zip',
|
||||
'WizTree': 'https://antibody-software.com/files/wiztree_3_26_portable.zip',
|
||||
'XMPlay 7z': 'https://support.xmplay.com/files/16/xmp-7z.zip?v=800962',
|
||||
|
|
@ -65,8 +67,8 @@ VCREDIST_SOURCES = {
|
|||
}
|
||||
NINITE_SOURCES = {
|
||||
'Bundles': {
|
||||
'Legacy.exe': '.net4.7.2-7zip-chrome-firefox-vlc',
|
||||
'Modern.exe': '.net4.7.2-7zip-chrome-classicstart-firefox-vlc',
|
||||
'Legacy.exe': '.net4.7.2-7zip-chrome-firefox-sumatrapdf-vlc',
|
||||
'Modern.exe': '.net4.7.2-7zip-chrome-classicstart-firefox-sumatrapdf-vlc',
|
||||
},
|
||||
'Audio-Video': {
|
||||
'AIMP.exe': 'aimp',
|
||||
|
|
@ -196,3 +198,5 @@ RST_SOURCES = {
|
|||
|
||||
if __name__ == '__main__':
|
||||
print("This file is not meant to be called directly.")
|
||||
|
||||
# vim: sts=4 sw=4 ts=4 tw=0 nowrap
|
||||
|
|
|
|||
|
|
@ -15,6 +15,7 @@ from functions.setup import *
|
|||
init_global_vars()
|
||||
os.system('title {}: System Checklist Tool'.format(KIT_NAME_FULL))
|
||||
global_vars['LogFile'] = r'{LogDir}\System Checklist.log'.format(**global_vars)
|
||||
D7_MODE = 'd7mode' in sys.argv
|
||||
|
||||
if __name__ == '__main__':
|
||||
try:
|
||||
|
|
@ -43,23 +44,28 @@ if __name__ == '__main__':
|
|||
|
||||
# Cleanup
|
||||
print_info('Cleanup')
|
||||
try_and_print(message='Desktop...',
|
||||
function=cleanup_desktop, cs='Done')
|
||||
try_and_print(message='AdwCleaner...',
|
||||
function=cleanup_adwcleaner, cs='Done', other_results=other_results)
|
||||
try_and_print(message='Desktop...',
|
||||
function=cleanup_desktop, cs='Done')
|
||||
try_and_print(message='Emsisoft a2cmd...',
|
||||
function=cleanup_emsisoft, cs='Done')
|
||||
try_and_print(message='Registry Backup(s)...',
|
||||
function=cleanup_regbackups, cs='Done')
|
||||
|
||||
# Export system info
|
||||
print_info('Backup System Information')
|
||||
try_and_print(message='AIDA64 reports...',
|
||||
function=run_aida64, cs='Done', other_results=other_results)
|
||||
try_and_print(message='File listing...',
|
||||
function=backup_file_list, cs='Done', other_results=other_results)
|
||||
try_and_print(message='Power plans...',
|
||||
function=backup_power_plans, cs='Done')
|
||||
try_and_print(message='Product Keys...', other_results=other_results,
|
||||
function=run_produkey, cs='Done')
|
||||
try_and_print(message='Registry...',
|
||||
function=backup_registry, cs='Done', other_results=other_results)
|
||||
if not D7_MODE:
|
||||
print_info('Backup System Information')
|
||||
try_and_print(message='AIDA64 reports...',
|
||||
function=run_aida64, cs='Done', other_results=other_results)
|
||||
try_and_print(message='File listing...',
|
||||
function=backup_file_list, cs='Done', other_results=other_results)
|
||||
try_and_print(message='Power plans...',
|
||||
function=backup_power_plans, cs='Done')
|
||||
try_and_print(message='Product Keys...', other_results=other_results,
|
||||
function=run_produkey, cs='Done')
|
||||
try_and_print(message='Registry...',
|
||||
function=backup_registry, cs='Done', other_results=other_results)
|
||||
|
||||
# User data
|
||||
print_info('User Data')
|
||||
|
|
@ -79,12 +85,18 @@ if __name__ == '__main__':
|
|||
try_and_print(message='Installed RAM:',
|
||||
function=show_installed_ram, ns='Unknown', silent_function=False)
|
||||
show_free_space()
|
||||
if D7_MODE:
|
||||
try_and_print(message='Temp Size:',
|
||||
function=show_temp_files_size, silent_function=False)
|
||||
try_and_print(message='Installed Antivirus:',
|
||||
function=get_installed_antivirus, ns='Unknown',
|
||||
other_results=other_results, print_return=True)
|
||||
try_and_print(message='Installed Office:',
|
||||
function=get_installed_office, ns='Unknown',
|
||||
other_results=other_results, print_return=True)
|
||||
if D7_MODE:
|
||||
try_and_print(message='Product Keys:',
|
||||
function=get_product_keys, ns='Unknown', print_return=True)
|
||||
|
||||
# Play audio, show devices, open Windows updates, and open Activation
|
||||
try_and_print(message='Opening Device Manager...',
|
||||
|
|
|
|||
|
|
@ -15,6 +15,67 @@ init_global_vars()
|
|||
os.system('title {}: System Diagnostics Tool'.format(KIT_NAME_FULL))
|
||||
global_vars['LogFile'] = r'{LogDir}\System Diagnostics.log'.format(
|
||||
**global_vars)
|
||||
D7_MODE = 'd7mode' in sys.argv
|
||||
|
||||
# Static Variables
|
||||
BLEACH_BIT_CLEANERS = {
|
||||
'Applications': (
|
||||
'adobe_reader.cache',
|
||||
'adobe_reader.tmp',
|
||||
'amule.tmp',
|
||||
'flash.cache',
|
||||
'gimp.tmp',
|
||||
'hippo_opensim_viewer.cache',
|
||||
'java.cache',
|
||||
'libreoffice.cache',
|
||||
'liferea.cache',
|
||||
'miro.cache',
|
||||
'openofficeorg.cache',
|
||||
'pidgin.cache',
|
||||
'secondlife_viewer.Cache',
|
||||
'thunderbird.cache',
|
||||
'vuze.backup_files',
|
||||
'vuze.cache',
|
||||
'vuze.tmp',
|
||||
'yahoo_messenger.cache',
|
||||
),
|
||||
'Browsers': (
|
||||
'chromium.cache',
|
||||
'chromium.current_session',
|
||||
'firefox.cache',
|
||||
'firefox.session_restore',
|
||||
'google_chrome.cache',
|
||||
'google_chrome.session',
|
||||
'google_earth.temporary_files',
|
||||
'internet_explorer.temporary_files',
|
||||
'opera.cache',
|
||||
'opera.current_session',
|
||||
'safari.cache',
|
||||
'seamonkey.cache',
|
||||
),
|
||||
'System': (
|
||||
'system.clipboard',
|
||||
'system.tmp',
|
||||
'winapp2_windows.jump_lists',
|
||||
'winapp2_windows.ms_search',
|
||||
'windows_explorer.run',
|
||||
'windows_explorer.search_history',
|
||||
'windows_explorer.thumbnails',
|
||||
),
|
||||
}
|
||||
|
||||
|
||||
def check_result(result, other_results):
|
||||
"""Check result for warnings and errors."""
|
||||
result_ok = True
|
||||
if not result['CS']:
|
||||
for warning in other_results.get('Warning', {}).keys():
|
||||
if warning in str(result['Error']):
|
||||
# Ignore warnings and repair statements
|
||||
return True
|
||||
# Error is not a warning
|
||||
result_ok = False
|
||||
return result_ok
|
||||
|
||||
if __name__ == '__main__':
|
||||
try:
|
||||
|
|
@ -22,6 +83,7 @@ if __name__ == '__main__':
|
|||
clear_screen()
|
||||
print_info('{}: System Diagnostics Tool\n'.format(KIT_NAME_FULL))
|
||||
ticket_number = get_ticket_number()
|
||||
system_ok = True
|
||||
other_results = {
|
||||
'Error': {
|
||||
'CalledProcessError': 'Unknown Error',
|
||||
|
|
@ -34,89 +96,113 @@ if __name__ == '__main__':
|
|||
if ENABLED_TICKET_NUMBERS:
|
||||
print_info('Starting System Diagnostics for Ticket #{}\n'.format(
|
||||
ticket_number))
|
||||
|
||||
|
||||
# Sanitize Environment
|
||||
print_info('Sanitizing Environment')
|
||||
# try_and_print(message='Killing processes...',
|
||||
# function=run_process_killer, cs='Done')
|
||||
try_and_print(message='Running RKill...',
|
||||
function=run_rkill, cs='Done', other_results=other_results)
|
||||
try_and_print(message='Running TDSSKiller...',
|
||||
function=run_tdsskiller, cs='Done', other_results=other_results)
|
||||
|
||||
if not D7_MODE:
|
||||
try_and_print(message='Running RKill...',
|
||||
function=run_rkill, cs='Done', other_results=other_results)
|
||||
try_and_print(message='Running TDSSKiller...',
|
||||
function=run_tdsskiller, cs='Done', other_results=other_results)
|
||||
|
||||
# Re-run if earlier process was stopped.
|
||||
stay_awake()
|
||||
|
||||
|
||||
# Start diags
|
||||
print_info('Starting Background Scans')
|
||||
check_connection()
|
||||
try_and_print(message='Running HitmanPro...',
|
||||
function=run_hitmanpro, cs='Started', other_results=other_results)
|
||||
try_and_print(message='Running Autoruns...',
|
||||
function=run_autoruns, cs='Started', other_results=other_results)
|
||||
|
||||
if not D7_MODE:
|
||||
print_info('Starting Background Scans')
|
||||
check_connection()
|
||||
try_and_print(message='Running HitmanPro...',
|
||||
function=run_hitmanpro, cs='Started', other_results=other_results)
|
||||
try_and_print(message='Running Autoruns...',
|
||||
function=run_autoruns, cs='Started', other_results=other_results)
|
||||
|
||||
# OS Health Checks
|
||||
print_info('OS Health Checks')
|
||||
try_and_print(
|
||||
result = try_and_print(
|
||||
message='CHKDSK ({SYSTEMDRIVE})...'.format(**global_vars['Env']),
|
||||
function=run_chkdsk, other_results=other_results)
|
||||
try_and_print(message='SFC scan...',
|
||||
system_ok &= check_result(result, other_results)
|
||||
result = try_and_print(message='SFC scan...',
|
||||
function=run_sfc_scan, other_results=other_results)
|
||||
try_and_print(message='DISM CheckHealth...',
|
||||
function=run_dism, other_results=other_results, repair=False)
|
||||
|
||||
# Scan for supported browsers
|
||||
print_info('Scanning for browsers')
|
||||
scan_for_browsers()
|
||||
|
||||
system_ok &= check_result(result, other_results)
|
||||
if D7_MODE:
|
||||
result = try_and_print(message='DISM RestoreHealth...',
|
||||
function=run_dism, other_results=other_results, repair=True)
|
||||
system_ok &= check_result(result, other_results)
|
||||
else:
|
||||
try_and_print(message='DISM CheckHealth...',
|
||||
function=run_dism, other_results=other_results, repair=False)
|
||||
|
||||
if D7_MODE:
|
||||
# Archive all browsers for all users
|
||||
archive_all_users()
|
||||
else:
|
||||
# Scan for supported browsers
|
||||
print_info('Scanning for browsers')
|
||||
scan_for_browsers()
|
||||
|
||||
# Run BleachBit cleaners
|
||||
print_info('BleachBit Cleanup')
|
||||
for k, v in sorted(BLEACH_BIT_CLEANERS.items()):
|
||||
try_and_print(message=' {}...'.format(k),
|
||||
function=run_bleachbit,
|
||||
cs='Done', other_results=other_results,
|
||||
cleaners=v, preview=bool(not D7_MODE))
|
||||
|
||||
# Export system info
|
||||
print_info('Backup System Information')
|
||||
try_and_print(message='AIDA64 reports...',
|
||||
function=run_aida64, cs='Done', other_results=other_results)
|
||||
try_and_print(message='BleachBit report...',
|
||||
function=run_bleachbit, cs='Done', other_results=other_results)
|
||||
backup_browsers()
|
||||
if not D7_MODE:
|
||||
backup_browsers()
|
||||
try_and_print(message='File listing...',
|
||||
function=backup_file_list, cs='Done', other_results=other_results)
|
||||
try_and_print(message='Power plans...',
|
||||
function=backup_power_plans, cs='Done')
|
||||
try_and_print(message='Product Keys...',
|
||||
function=run_produkey, cs='Done', other_results=other_results)
|
||||
try_and_print(message='Registry...',
|
||||
function=backup_registry, cs='Done', other_results=other_results)
|
||||
|
||||
if not D7_MODE:
|
||||
try_and_print(message='Registry...',
|
||||
function=backup_registry, cs='Done', other_results=other_results)
|
||||
|
||||
# Summary
|
||||
print_info('Summary')
|
||||
try_and_print(message='Operating System:',
|
||||
function=show_os_name, ns='Unknown', silent_function=False)
|
||||
try_and_print(message='Activation:',
|
||||
function=show_os_activation, ns='Unknown', silent_function=False)
|
||||
try_and_print(message='Installed RAM:',
|
||||
function=show_installed_ram, ns='Unknown', silent_function=False)
|
||||
show_free_space()
|
||||
try_and_print(message='Temp Size:',
|
||||
function=show_temp_files_size, silent_function=False)
|
||||
try_and_print(message='Installed Antivirus:',
|
||||
function=get_installed_antivirus, ns='Unknown',
|
||||
other_results=other_results, print_return=True)
|
||||
try_and_print(message='Installed Office:',
|
||||
function=get_installed_office, ns='Unknown',
|
||||
other_results=other_results, print_return=True)
|
||||
try_and_print(message='Product Keys:',
|
||||
function=get_product_keys, ns='Unknown', print_return=True)
|
||||
|
||||
if not D7_MODE:
|
||||
print_info('Summary')
|
||||
try_and_print(message='Operating System:',
|
||||
function=show_os_name, ns='Unknown', silent_function=False)
|
||||
try_and_print(message='Activation:',
|
||||
function=show_os_activation, ns='Unknown', silent_function=False)
|
||||
try_and_print(message='Installed RAM:',
|
||||
function=show_installed_ram, ns='Unknown', silent_function=False)
|
||||
show_free_space()
|
||||
try_and_print(message='Temp Size:',
|
||||
function=show_temp_files_size, silent_function=False)
|
||||
try_and_print(message='Installed Antivirus:',
|
||||
function=get_installed_antivirus, ns='Unknown',
|
||||
other_results=other_results, print_return=True)
|
||||
try_and_print(message='Installed Office:',
|
||||
function=get_installed_office, ns='Unknown',
|
||||
other_results=other_results, print_return=True)
|
||||
try_and_print(message='Product Keys:',
|
||||
function=get_product_keys, ns='Unknown', print_return=True)
|
||||
|
||||
# User data
|
||||
print_info('User Data')
|
||||
try:
|
||||
show_user_data_summary()
|
||||
except Exception:
|
||||
print_error(' Unknown error.')
|
||||
|
||||
if not D7_MODE:
|
||||
print_info('User Data')
|
||||
try:
|
||||
show_user_data_summary()
|
||||
except Exception:
|
||||
print_error(' Unknown error.')
|
||||
|
||||
# Done
|
||||
print_standard('\nDone.')
|
||||
pause('Press Enter to exit...')
|
||||
if not D7_MODE or not system_ok:
|
||||
print_standard('\nDone.')
|
||||
pause('Press Enter to exit...')
|
||||
exit_script()
|
||||
except SystemExit:
|
||||
pass
|
||||
except:
|
||||
major_exception()
|
||||
|
||||
# vim: sts=4 sw=4 ts=4
|
||||
|
|
|
|||
|
|
@ -79,6 +79,7 @@ if __name__ == '__main__':
|
|||
try_and_print(message='KVRT...', function=update_kvrt, other_results=other_results, width=40)
|
||||
try_and_print(message='RKill...', function=update_rkill, other_results=other_results, width=40)
|
||||
try_and_print(message='TDSSKiller...', function=update_tdsskiller, other_results=other_results, width=40)
|
||||
try_and_print(message='WinAIO Repair...', function=update_winaiorepair, other_results=other_results, width=40)
|
||||
|
||||
# Uninstallers
|
||||
print_info(' Uninstallers')
|
||||
|
|
|
|||
|
|
@ -13,6 +13,7 @@ init_global_vars()
|
|||
os.system('title {}: User Checklist Tool'.format(KIT_NAME_FULL))
|
||||
global_vars['LogFile'] = r'{LogDir}\User Checklist ({USERNAME}).log'.format(
|
||||
**global_vars, **global_vars['Env'])
|
||||
D7_MODE = 'd7mode' in sys.argv
|
||||
|
||||
if __name__ == '__main__':
|
||||
try:
|
||||
|
|
@ -24,36 +25,46 @@ if __name__ == '__main__':
|
|||
'NotInstalledError': 'Not installed',
|
||||
'NoProfilesError': 'No profiles found',
|
||||
}}
|
||||
answer_config_browsers = ask('Install adblock?')
|
||||
#answer_config_browsers = ask('Install adblock?')
|
||||
answer_config_browsers = True
|
||||
if answer_config_browsers:
|
||||
answer_reset_browsers = ask(
|
||||
'Reset browsers to safe defaults first?')
|
||||
if D7_MODE:
|
||||
# This is handled by another script option in d7ii
|
||||
answer_reset_browsers = False
|
||||
else:
|
||||
answer_reset_browsers = ask(
|
||||
'Reset browsers to safe defaults first?')
|
||||
if global_vars['OS']['Version'] == '10':
|
||||
answer_config_classicshell = ask('Configure ClassicShell?')
|
||||
answer_config_explorer_user = ask('Configure Explorer?')
|
||||
|
||||
#answer_config_classicshell = ask('Configure ClassicShell?')
|
||||
#answer_config_explorer_user = ask('Configure Explorer?')
|
||||
answer_config_classicshell = True
|
||||
answer_config_explorer_user = True
|
||||
|
||||
# Cleanup
|
||||
print_info('Cleanup')
|
||||
try_and_print(message='Desktop...',
|
||||
function=cleanup_desktop, cs='Done')
|
||||
|
||||
|
||||
# Scan for supported browsers
|
||||
print_info('Scanning for browsers')
|
||||
scan_for_browsers()
|
||||
|
||||
|
||||
# Homepages
|
||||
print_info('Current homepages')
|
||||
list_homepages()
|
||||
|
||||
if not D7_MODE:
|
||||
print_info('Current homepages')
|
||||
list_homepages()
|
||||
|
||||
# Backup
|
||||
print_info('Backing up browsers')
|
||||
backup_browsers()
|
||||
|
||||
if not D7_MODE:
|
||||
# Done during system_diagnostics
|
||||
print_info('Backing up browsers')
|
||||
backup_browsers()
|
||||
|
||||
# Reset
|
||||
if answer_config_browsers and answer_reset_browsers:
|
||||
print_info('Resetting browsers')
|
||||
reset_browsers()
|
||||
|
||||
|
||||
# Configure
|
||||
print_info('Configuring programs')
|
||||
if answer_config_browsers:
|
||||
|
|
@ -75,10 +86,11 @@ if __name__ == '__main__':
|
|||
|
||||
# Run speedtest
|
||||
popen_program(['start', '', 'https://fast.com'], shell=True)
|
||||
|
||||
|
||||
# Done
|
||||
print_standard('\nDone.')
|
||||
pause('Press Enter to exit...')
|
||||
if not D7_MODE:
|
||||
print_standard('\nDone.')
|
||||
pause('Press Enter to exit...')
|
||||
exit_script()
|
||||
except SystemExit:
|
||||
pass
|
||||
|
|
|
|||
1668
.cbin/_include/ESETConfigs/eset-config-no-pup.xml
Normal file
1668
.cbin/_include/ESETConfigs/eset-config-no-pup.xml
Normal file
File diff suppressed because it is too large
Load diff
1668
.cbin/_include/ESETConfigs/eset-config.xml
Normal file
1668
.cbin/_include/ESETConfigs/eset-config.xml
Normal file
File diff suppressed because it is too large
Load diff
BIN
.cbin/_include/WinAIO Repair/settings.ini
Normal file
BIN
.cbin/_include/WinAIO Repair/settings.ini
Normal file
Binary file not shown.
BIN
.linux_items/include/EFI/boot/icons/1201_eset.png
Normal file
BIN
.linux_items/include/EFI/boot/icons/1201_eset.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 7.7 KiB |
BIN
.linux_items/include/EFI/boot/icons/1201_hdclone.png
Normal file
BIN
.linux_items/include/EFI/boot/icons/1201_hdclone.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 3.1 KiB |
BIN
.linux_items/include/EFI/boot/icons/1201_mac-dgpu.png
Normal file
BIN
.linux_items/include/EFI/boot/icons/1201_mac-dgpu.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 3 KiB |
|
|
@ -37,3 +37,18 @@ menuentry "Linux" {
|
|||
#UFD# icon /EFI/boot/icons/wk_win.png
|
||||
#UFD# loader /EFI/microsoft/bootx64.efi
|
||||
#UFD#}
|
||||
#UFD#menuentry "ESET SysRescue Live" {
|
||||
#UFD# icon /EFI/boot/icons/1201_eset.png
|
||||
#UFD# loader /EFI/ESET/grubx64.efi
|
||||
#UFD#}
|
||||
#UFD#menuentry "HDClone" {
|
||||
#UFD# icon /EFI/boot/icons/1201_hdclone.png
|
||||
#UFD# loader /EFI/HDClone/grub.efi
|
||||
#UFD#}
|
||||
#UFD#menuentry "Mac dGPU Disable Tool" {
|
||||
#UFD# icon /EFI/boot/icons/1201_mac-dgpu.png
|
||||
#UFD# loader /dgpu/boot/x86_64/vmlinuz
|
||||
#UFD# initrd /dgpu/boot/intel_ucode.img
|
||||
#UFD# initrd /dgpu/boot/x86_64/archiso.img
|
||||
#UFD# options "archisobasedir=dgpu archisolabel=1201_UFD nomodeset"
|
||||
#UFD#}
|
||||
|
|
|
|||
9
.linux_items/include/syslinux/1201_eset.cfg
Normal file
9
.linux_items/include/syslinux/1201_eset.cfg
Normal file
|
|
@ -0,0 +1,9 @@
|
|||
LABEL eset
|
||||
TEXT HELP
|
||||
ESET SysRescue Live
|
||||
* Offline AV scanner
|
||||
ENDTEXT
|
||||
MENU LABEL ESET SysRescue Live
|
||||
LINUX ../casper/vmlinuz
|
||||
INITRD ../casper/initrd.lz
|
||||
APPEND boot=casper live-media=/dev/disk/by-label/1201_UFD splash
|
||||
9
.linux_items/include/syslinux/1201_hdclone.cfg
Normal file
9
.linux_items/include/syslinux/1201_hdclone.cfg
Normal file
|
|
@ -0,0 +1,9 @@
|
|||
LABEL hdclone
|
||||
TEXT HELP
|
||||
HDClone by Miray Software
|
||||
* Backups, cloning, etc
|
||||
ENDTEXT
|
||||
MENU LABEL HDClone 6
|
||||
LINUX boot/syslinux/memdisk
|
||||
INITRD ../sources/hdclone.iso
|
||||
APPEND iso
|
||||
|
|
@ -8,4 +8,4 @@ LABEL pxe
|
|||
CONFIG boot/syslinux/wk_pxe.cfg
|
||||
|
||||
LABEL sys
|
||||
CONFIG boot/syslinux/wk_sys.cfg
|
||||
CONFIG boot/syslinux/wk_sys_extras.cfg
|
||||
|
|
|
|||
|
|
@ -15,15 +15,15 @@ MENU TABMSG
|
|||
|
||||
# Refer to http://syslinux.zytor.com/wiki/index.php/Doc/menu
|
||||
|
||||
MENU COLOR screen 30;44 #a0000000 #a0000000 none
|
||||
MENU COLOR border 30;44 #a0000000 #a0000000 none
|
||||
MENU COLOR title 1;36;44 #9033ccff #a0000000 none
|
||||
MENU COLOR screen 30;41 #a0000000 #a0000000 none
|
||||
MENU COLOR border 30;41 #a0000000 #a0000000 none
|
||||
MENU COLOR title 1;35;41 #90ff6666 #a0000000 none
|
||||
MENU COLOR sel 7;37;40 #e0ffffff #a0000000 std
|
||||
MENU COLOR disabled 37;44 #50ffffff #a0000000 none
|
||||
MENU COLOR unsel 37;44 #50ffffff #a0000000 none
|
||||
MENU COLOR disabled 37;41 #50ffffff #a0000000 none
|
||||
MENU COLOR unsel 37;41 #50ffffff #a0000000 none
|
||||
MENU COLOR help 37;40 #c0ffffff #a0000000 none
|
||||
MENU COLOR tabmsg 30;44 #a0000000 #a0000000 none
|
||||
menu color cmdmark 1;36;44 #9033ccff #a0000000 none
|
||||
MENU COLOR tabmsg 30;41 #a0000000 #a0000000 none
|
||||
menu color cmdmark 1;35;41 #90ff6666 #a0000000 none
|
||||
menu color cmdline 37;40 #c0ffffff #a0000000 none
|
||||
MENU COLOR timeout_msg 37;40 #80ffffff #a0000000 none
|
||||
MENU COLOR timeout 1;37;40 #c0ffffff #a0000000 none
|
||||
|
|
|
|||
|
|
@ -2,6 +2,8 @@ INCLUDE boot/syslinux/wk_head.cfg
|
|||
|
||||
INCLUDE boot/syslinux/wk_sys_linux.cfg
|
||||
#UFD#INCLUDE boot/syslinux/wk_sys_winpe.cfg
|
||||
INCLUDE boot/syslinux/wk_sys_extras_entry.cfg
|
||||
#UFD#INCLUDE boot/syslinux/1201_hdclone.cfg
|
||||
#UFD#INCLUDE boot/syslinux/1201_eset.cfg
|
||||
INCLUDE boot/syslinux/wk_hdt.cfg
|
||||
|
||||
INCLUDE boot/syslinux/wk_tail.cfg
|
||||
|
|
|
|||
|
|
@ -3,6 +3,8 @@ INCLUDE boot/syslinux/wk_head.cfg
|
|||
INCLUDE boot/syslinux/wk_sys_linux.cfg
|
||||
INCLUDE boot/syslinux/wk_sys_linux_extras.cfg
|
||||
#UFD#INCLUDE boot/syslinux/wk_sys_winpe.cfg
|
||||
#UFD#INCLUDE boot/syslinux/1201_hdclone.cfg
|
||||
#UFD#INCLUDE boot/syslinux/1201_eset.cfg
|
||||
INCLUDE boot/syslinux/wk_hdt.cfg
|
||||
|
||||
INCLUDE boot/syslinux/wk_tail.cfg
|
||||
|
|
|
|||
|
|
@ -1,7 +0,0 @@
|
|||
Copyright (c) 2018 Alan Mason
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||
|
|
@ -57,7 +57,7 @@ A collection of scripts to help technicians service Windows systems.
|
|||
* _(Recommended)_ Install and configure `sudo`
|
||||
* See the [wiki page](https://wiki.archlinux.org/index.php/Sudo) for details.
|
||||
* Login to the user added above
|
||||
* Download the Github repo $ `git clone https://github.com/2Shirt/WizardKit.git`
|
||||
* Download the Github repo $ `git clone https://1201north.ddns.net:3000/2Shirt/WizardKit.git`
|
||||
* Run the build script
|
||||
* $ `cd WizardKit`
|
||||
* $ `./Build\ Linux -b`
|
||||
|
|
|
|||
Loading…
Reference in a new issue