TODO: * Finish the download sections * Add section to compress the folders/files in .cbin
619 lines
19 KiB
Python
619 lines
19 KiB
Python
# Wizard Kit: Functions - Build / Update
|
|
## NOTE: This file is full of magic strings!
|
|
|
|
import requests
|
|
|
|
from functions.common import *
|
|
from settings.launchers import *
|
|
|
|
NINITE_FILES = {
|
|
'Bundles': {
|
|
'Runtimes.exe': '.net4.7-air-java8-silverlight',
|
|
'Legacy.exe': '.net4.7-7zip-air-chrome-firefox-java8-silverlight-vlc',
|
|
'Modern.exe': '.net4.7-7zip-air-chrome-classicstart-firefox-java8-silverlight-vlc',
|
|
},
|
|
'Audio-Video': {
|
|
'AIMP.exe': 'aimp',
|
|
'Audacity.exe': 'audacity',
|
|
'CCCP.exe': 'cccp',
|
|
'Foobar2000.exe': 'foobar',
|
|
'GOM.exe': 'gom',
|
|
'HandBrake.exe': 'handbrake',
|
|
'iTunes.exe': 'itunes',
|
|
'K-Lite Codecs.exe': 'klitecodecs',
|
|
'MediaMonkey.exe': 'mediamonkey',
|
|
'MusicBee.exe': 'musicbee',
|
|
'Spotify.exe': 'spotify',
|
|
'VLC.exe': 'vlc',
|
|
'Winamp.exe': 'winamp',
|
|
},
|
|
'Cloud Storage': {
|
|
'Dropbox.exe': 'dropbox',
|
|
'Google Backup & Sync.exe': 'googlebackupandsync',
|
|
'Mozy.exe': 'mozy',
|
|
'OneDrive.exe': 'onedrive',
|
|
'SugarSync.exe': 'sugarsync',
|
|
},
|
|
'Communication': {
|
|
'Pidgin.exe': 'pidgin',
|
|
'Skype.exe': 'skype',
|
|
'Trillian.exe': 'trillian',
|
|
},
|
|
'Compression': {
|
|
'7-Zip.exe': '7zip',
|
|
'PeaZip.exe': 'peazip',
|
|
'WinRAR.exe': 'winrar',
|
|
},
|
|
'Developer': {
|
|
'Eclipse.exe': 'eclipse',
|
|
'FileZilla.exe': 'filezilla',
|
|
'JDK 8.exe': 'jdk8',
|
|
'JDK 8 (x64).exe': 'jdkx8',
|
|
'Notepad++.exe': 'notepadplusplus',
|
|
'PuTTY.exe': 'putty',
|
|
'Python 2.exe': 'python',
|
|
'Visual Studio Code.exe': 'vscode',
|
|
'WinMerge.exe': 'winmerge',
|
|
'WinSCP.exe': 'winscp',
|
|
},
|
|
'File Sharing': {
|
|
'qBittorrent.exe': 'qbittorrent',
|
|
},
|
|
'Image-Photo': {
|
|
'Blender.exe': 'blender',
|
|
'FastStone.exe': 'faststone',
|
|
'GIMP.exe': 'gimp',
|
|
'Greenshot.exe': 'greenshot',
|
|
'Inkscape.exe': 'inkscape',
|
|
'IrfanView.exe': 'irfanview',
|
|
'Krita.exe': 'krita',
|
|
'Paint.NET.exe': 'paint.net',
|
|
'ShareX.exe': 'sharex',
|
|
'XnView.exe': 'xnview',
|
|
},
|
|
'Misc': {
|
|
'Evernote.exe': 'evernote',
|
|
'Everything.exe': 'everything',
|
|
'KeePass 2.exe': 'keepass2',
|
|
'Google Earth.exe': 'googleearth',
|
|
'NV Access.exe': 'nvda',
|
|
'Steam.exe': 'steam',
|
|
},
|
|
'Office': {
|
|
'CutePDF.exe': 'cutepdf',
|
|
'Foxit Reader.exe': 'foxit',
|
|
'LibreOffice.exe': 'libreoffice',
|
|
'OpenOffice.exe': 'openoffice',
|
|
'PDFCreator.exe': 'pdfcreator',
|
|
'SumatraPDF.exe': 'sumatrapdf',
|
|
'Thunderbird.exe': 'thunderbird',
|
|
},
|
|
'Runtimes': {
|
|
'Adobe Air.exe': 'air',
|
|
'dotNET.exe': '.net4.7',
|
|
'Java 8.exe': 'java8',
|
|
'Shockwave.exe': 'shockwave',
|
|
'Silverlight.exe': 'silverlight',
|
|
},
|
|
'Security': {
|
|
'Avast.exe': 'avast',
|
|
'AVG.exe': 'avg',
|
|
'Avira.exe': 'avira',
|
|
'Microsoft Security Essentials.exe': 'essentials',
|
|
'Malwarebytes Anti-Malware.exe': 'malwarebytes',
|
|
'Spybot 2.exe': 'spybot2',
|
|
'SUPERAntiSpyware.exe': 'super',
|
|
},
|
|
'Utilities': {
|
|
'CDBurnerXP.exe': 'cdburnerxp',
|
|
'Classic Start.exe': 'classicstart',
|
|
'Glary Utilities.exe': 'glary',
|
|
'ImgBurn.exe': 'imgburn',
|
|
'InfraRecorder.exe': 'infrarecorder',
|
|
'Launchy.exe': 'launchy',
|
|
'RealVNC.exe': 'realvnc',
|
|
'Revo Uninstaller.exe': 'revo',
|
|
'TeamViewer 12.exe': 'teamviewer12',
|
|
'TeraCopy.exe': 'teracopy',
|
|
'WinDirStat.exe': 'windirstat',
|
|
},
|
|
'Web Browsers': {
|
|
'Google Chrome.exe': 'chrome',
|
|
'Mozilla Firefox.exe': 'firefox',
|
|
'Opera Chromium.exe': 'operaChromium',
|
|
},
|
|
}
|
|
RST_FILES = {
|
|
#SetupRST_12.0.exe : Removed from download center?
|
|
#SetupRST_12.5.exe : Removed from download center?
|
|
#SetupRST_12.8.exe : Removed from download center?
|
|
'SetupRST_12.9.exe': 'https://downloadmirror.intel.com/23496/eng/SetupRST.exe',
|
|
#SetupRST_13.x.exe : Broken, doesn't support > .NET 4.5
|
|
'SetupRST_14.0.exe': 'https://downloadmirror.intel.com/25091/eng/SetupRST.exe',
|
|
'SetupRST_14.8.exe': 'https://downloadmirror.intel.com/26759/eng/setuprst.exe',
|
|
'SetupRST_15.8.exe': 'https://downloadmirror.intel.com/27147/eng/SetupRST.exe',
|
|
}
|
|
|
|
def download_generic(out_dir, out_name, source_url):
|
|
"""Downloads a file using requests."""
|
|
## Code based on this Q&A: https://stackoverflow.com/q/16694907
|
|
### Asked by: https://stackoverflow.com/users/427457/roman-podlinov
|
|
### Edited by: https://stackoverflow.com/users/657427/christophe-roussy
|
|
### Using answer: https://stackoverflow.com/a/39217788
|
|
### Answer from: https://stackoverflow.com/users/4323/john-zwinck
|
|
os.makedirs(out_dir, exist_ok=True)
|
|
out_path = '{}/{}'.format(out_dir, out_name)
|
|
try:
|
|
r = requests.get(source_url, stream=True)
|
|
with open(out_path, 'wb') as f:
|
|
shutil.copyfileobj(r.raw, f)
|
|
r.close()
|
|
except:
|
|
raise GenericError('Failed to download file.')
|
|
|
|
def download_to_temp(out_name, source_url):
|
|
download_generic(global_vars['TmpDir'], out_name, source_url)
|
|
|
|
def resolve_dynamic_url(source_url, regex, tmp_file='webpage.tmp'):
|
|
"""Scan source_url for a url using the regex provided; returns str."""
|
|
# Download the "download page"
|
|
try:
|
|
download_to_temp('webpage.tmp', source_url)
|
|
except Exception:
|
|
# "Fail silently as the download_to_temp() function will catch it
|
|
return None
|
|
|
|
# Scan the file for the regex
|
|
tmp_file = r'{}\{}'.format(global_vars['TmpDir'], tmp_file)
|
|
with open(tmp_file, 'r') as file:
|
|
for line in file:
|
|
if re.search(regex, line):
|
|
url = line.strip()
|
|
url = re.sub(r'.*(a |)href="([^"]+)".*', r'\2', url)
|
|
url = re.sub(r".*(a |)href='([^']+)'.*", r'\2', url)
|
|
break
|
|
|
|
# Cleanup and return
|
|
os.remove(tmp_file)
|
|
return url
|
|
|
|
def extract_generic(source, dest, mode='x', sz_args=[]):
|
|
cmd = [
|
|
global_vars['Tools']['SevenZip'],
|
|
mode, source, r'-o{}'.format(dest),
|
|
'-aoa', '-bso0', '-bse0',
|
|
]
|
|
cmd.extend(sz_args)
|
|
run_program(cmd)
|
|
|
|
def extract_temp_to_bin(source, item, mode='x', sz_args=[]):
|
|
source = r'{}\{}'.format(global_vars['TmpDir'], source)
|
|
dest = r'{}\{}'.format(global_vars['BinDir'], item)
|
|
extract_generic(source, dest, mode, sz_args)
|
|
|
|
def extract_temp_to_cbin(source, item, mode='x', sz_args=[]):
|
|
source = r'{}\{}'.format(global_vars['TmpDir'], source)
|
|
dest = r'{}\{}'.format(global_vars['CBinDir'], item)
|
|
include_path = r'{}\_include\{}'.format(global_vars['CBinDir'], item)
|
|
if os.path.exists(include_path):
|
|
shutil.copytree(include_path, dest)
|
|
extract_generic(source, dest, mode, sz_args)
|
|
|
|
def remove_from_kit(item):
|
|
item_locations = []
|
|
for p in [global_vars['BinDir'], global_vars['CBinDir']]:
|
|
item_locations.append(r'{}\{}'.format(p, item))
|
|
item_locations.append(r'{}\_Drivers\{}'.format(p, item))
|
|
for item_path in item_locations:
|
|
if os.path.exists(item_path):
|
|
if os.path.isdir(item_path):
|
|
shutil.rmtree(item_path, ignore_errors=True)
|
|
else:
|
|
os.remove(item_path)
|
|
|
|
def remove_from_temp(item):
|
|
os.remove(r'{}\{}'.format(global_vars['TmpDir'], item))
|
|
|
|
## Data Recovery ##
|
|
def update_testdisk():
|
|
# Stop running processes
|
|
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
|
|
name = 'testdisk_wip.zip'
|
|
url = 'https://www.cgsecurity.org/testdisk-7.1-WIP.win.zip'
|
|
download_to_temp(name, url)
|
|
|
|
# Extract files
|
|
extract_temp_to_cbin('testdisk_wip.zip', 'TestDisk')
|
|
dest = r'{}\TestDisk'.format(global_vars['CBinDir'])
|
|
for item in os.scandir(r'{}\testdisk-7.1-WIP'.format(dest)):
|
|
dest_item = '{}\{}'.format(dest, item.name)
|
|
if not os.path.exists(dest_item):
|
|
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')
|
|
|
|
## Data Transfers ##
|
|
def update_fastcopy():
|
|
## NOTE: Lives in .bin uncompressed
|
|
# Stop running processes
|
|
for process in ['FastCopy.exe', 'FastCopy64.exe']:
|
|
kill_process(process)
|
|
|
|
# Remove existing folders
|
|
remove_from_kit('FastCopy')
|
|
|
|
# Download
|
|
name = 'FastCopy32.zip'
|
|
url = 'http://ftp.vector.co.jp/69/28/2323/FastCopy332.zip'
|
|
download_to_temp(name, url)
|
|
|
|
name = 'FastCopy64.zip'
|
|
url = 'http://ftp.vector.co.jp/69/28/2323/FastCopy332_x64.zip'
|
|
download_to_temp(name, url)
|
|
|
|
# Extract
|
|
extract_temp_to_bin('FastCopy64.zip', 'FastCopy', sz_args=['FastCopy.exe'])
|
|
shutil.move(
|
|
r'{}\FastCopy\FastCopy.exe'.format(global_vars['BinDir']),
|
|
r'{}\FastCopy\FastCopy64.exe'.format(global_vars['BinDir']))
|
|
extract_temp_to_bin('FastCopy32.zip', 'FastCopy', sz_args=[r'-x!setup.exe', r'-x!*.dll'])
|
|
|
|
# Cleanup
|
|
remove_from_temp('FastCopy32.zip')
|
|
remove_from_temp('FastCopy64.zip')
|
|
|
|
def update_xyplorer():
|
|
# Stop running processes
|
|
kill_process('XYplorerFree.exe')
|
|
|
|
# Remove existing folders
|
|
remove_from_kit('XYplorerFree')
|
|
|
|
# Download
|
|
name = 'xyplorer_free.zip'
|
|
url = 'https://www.xyplorer.com/download/xyplorer_free_noinstall.zip'
|
|
download_to_temp(name, url)
|
|
|
|
# Extract files
|
|
extract_temp_to_cbin('xyplorer_free.zip', 'XYplorerFree')
|
|
|
|
# Cleanup
|
|
remove_from_temp('xyplorer_free.zip')
|
|
|
|
## Diagnostics ##
|
|
def update_aida64():
|
|
# Stop running processes
|
|
kill_process('notepadplusplus.exe')
|
|
|
|
# Remove existing folders
|
|
remove_from_kit('AIDA64')
|
|
|
|
# Download
|
|
name = 'aida64.zip'
|
|
url = 'http://download.aida64.com/aida64engineer592.zip'
|
|
download_to_temp(name, url)
|
|
|
|
# Extract files
|
|
extract_temp_to_cbin('aida64.zip', 'AIDA64')
|
|
|
|
# Cleanup
|
|
remove_from_temp('aida64.zip')
|
|
|
|
def update_autoruns():
|
|
# Stop running processes
|
|
kill_process('Autoruns.exe')
|
|
kill_process('Autoruns64.exe')
|
|
|
|
# Remove existing folders
|
|
remove_from_kit('Autoruns')
|
|
|
|
# Download
|
|
name = 'Autoruns.zip'
|
|
url = 'https://download.sysinternals.com/files/Autoruns.zip'
|
|
download_to_temp(name, url)
|
|
|
|
# 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-Portable')
|
|
|
|
# Download
|
|
name = 'BleachBit-Portable.zip'
|
|
url = 'https://download.bleachbit.org/beta/1.17/BleachBit-1.17-portable.zip'
|
|
download_to_temp(name, url)
|
|
name = 'Winapp2.zip'
|
|
url = 'https://github.com/MoscaDotTo/Winapp2/archive/master.zip'
|
|
download_to_temp(name, url)
|
|
|
|
# Extract files
|
|
extract_temp_to_cbin('BleachBit-Portable.zip', 'BleachBit-Portable')
|
|
extract_generic(
|
|
r'{}\Winapp2.zip'.format(global_vars['TmpDir']),
|
|
r'{}\BleachBit-Portable\cleaners'.format(global_vars['CBinDir']),
|
|
mode='e', sz_args=[r'Winapp2-master\Non-CCleaner\Winapp2.ini'])
|
|
|
|
# Move files into place
|
|
dest = r'{}\BleachBit-Portable'.format(global_vars['CBinDir'])
|
|
for item in os.scandir(r'{}\BleachBit-Portable'.format(dest)):
|
|
dest_item = '{}\{}'.format(dest, item.name)
|
|
if not os.path.exists(dest_item):
|
|
shutil.move(item.path, dest_item)
|
|
shutil.rmtree(
|
|
r'{}\BleachBit-Portable\BleachBit-Portable'.format(global_vars['CBinDir']))
|
|
|
|
# Cleanup
|
|
remove_from_temp('BleachBit-Portable.zip')
|
|
remove_from_temp('Winapp2.zip')
|
|
|
|
def update_bluescreenview():
|
|
# Stop running processes
|
|
for exe in ['BlueScreenView.exe', 'BlueScreenView64.exe']:
|
|
kill_process(exe)
|
|
|
|
# Remove existing folders
|
|
remove_from_kit('BlueScreenView')
|
|
|
|
# Download
|
|
name = 'bluescreenview.zip'
|
|
url = 'http://www.nirsoft.net/utils/bluescreenview.zip'
|
|
download_to_temp(name, url)
|
|
|
|
name = 'bluescreenview64.zip'
|
|
url = 'http://www.nirsoft.net/utils/bluescreenview-x64.zip'
|
|
download_to_temp(name, url)
|
|
|
|
# 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('bluescreenview.zip', 'BlueScreenView')
|
|
|
|
# Cleanup
|
|
remove_from_temp('bluescreenview.zip')
|
|
remove_from_temp('bluescreenview64.zip')
|
|
|
|
def update_du():
|
|
# Stop running processes
|
|
kill_process('du.exe')
|
|
kill_process('du64.exe')
|
|
|
|
# Remove existing folders
|
|
remove_from_kit('Du')
|
|
|
|
# Download
|
|
name = 'du.zip'
|
|
url = 'https://download.sysinternals.com/files/DU.zip'
|
|
download_to_temp(name, url)
|
|
|
|
# Extract files
|
|
extract_temp_to_cbin('du.zip', 'Du')
|
|
|
|
# Cleanup
|
|
remove_from_temp('du.zip')
|
|
|
|
def update_erunt():
|
|
# Stop running processes
|
|
kill_process('ERUNT.EXE')
|
|
|
|
# Remove existing folders
|
|
remove_from_kit('ERUNT')
|
|
|
|
# Download
|
|
name = 'erunt.zip'
|
|
url = 'http://www.aumha.org/downloads/erunt.zip'
|
|
download_to_temp(name, url)
|
|
|
|
# Extract files
|
|
extract_temp_to_cbin('erunt.zip', 'ERUNT')
|
|
|
|
# Cleanup
|
|
remove_from_temp('erunt.zip')
|
|
|
|
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'])
|
|
name = 'HitmanPro.exe'
|
|
url = 'https://dl.surfright.nl/HitmanPro.exe'
|
|
download_generic(dest, name, url)
|
|
|
|
name = 'HitmanPro64.exe'
|
|
url = 'https://dl.surfright.nl/HitmanPro_x64.exe'
|
|
download_generic(dest, name, url)
|
|
|
|
def update_hwinfo():
|
|
## NOTE: Lives in .bin uncompressed
|
|
# Stop running processes
|
|
for exe in ['HWiNFO32.exe', 'HWiNFO64.exe']:
|
|
kill_process(exe)
|
|
|
|
# Download
|
|
name = 'HWiNFO32.zip'
|
|
url = 'http://app.oldfoss.com:81/download/HWiNFO/hw32_560.zip'
|
|
download_to_temp(name, url)
|
|
|
|
name = 'HWiNFO64.zip'
|
|
url = 'http://app.oldfoss.com:81/download/HWiNFO/hw64_560.zip'
|
|
download_to_temp(name, url)
|
|
|
|
# Extract files
|
|
extract_temp_to_bin('HWiNFO32.zip', 'HWiNFO')
|
|
extract_temp_to_bin('HWiNFO64.zip', 'HWiNFO')
|
|
|
|
# Cleanup
|
|
remove_from_temp('HWiNFO32.zip')
|
|
remove_from_temp('HWiNFO64.zip')
|
|
|
|
def update_produkey():
|
|
# Stop running processes
|
|
for exe in ['ProduKey.exe', 'ProduKey64.exe']:
|
|
kill_process(exe)
|
|
|
|
# Remove existing folders
|
|
remove_from_kit('ProduKey')
|
|
|
|
# Download
|
|
name = 'produkey.zip'
|
|
url = 'http://www.nirsoft.net/utils/produkey.zip'
|
|
download_to_temp(name, url)
|
|
|
|
name = 'produkey64.zip'
|
|
url = 'http://www.nirsoft.net/utils/produkey-x64.zip'
|
|
download_to_temp(name, url)
|
|
|
|
# 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('produkey.zip', 'ProduKey')
|
|
|
|
# Cleanup
|
|
remove_from_temp('produkey.zip')
|
|
remove_from_temp('produkey64.zip')
|
|
|
|
## Drivers ##
|
|
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_FILES.items():
|
|
download_generic(dest, name, url)
|
|
|
|
def update_intel_ssd_toolbox():
|
|
# Remove existing folders
|
|
remove_from_kit('Intel SSD Toolbox.exe')
|
|
|
|
# Download
|
|
dest = r'{}\_Drivers'.format(global_vars['CBinDir'])
|
|
name = 'Intel SSD Toolbox.exe'
|
|
url = r'https://downloadmirror.intel.com/27330/eng/Intel%20SSD%20Toolbox%20-%20v3.4.9.exe'
|
|
download_generic(dest, name, url)
|
|
|
|
def update_samsung_magician():
|
|
# Remove existing folders
|
|
remove_from_kit('Samsung Magician.exe')
|
|
|
|
# Download
|
|
dest = r'{}\_Drivers'.format(global_vars['CBinDir'])
|
|
name = 'Samsung Magician.exe'
|
|
url = 'http://downloadcenter.samsung.com/content/SW/201710/20171019164455812/Samsung_Magician_Installer.exe'
|
|
download_generic(dest, name, url)
|
|
|
|
def update_sdi():
|
|
#TODO
|
|
pass
|
|
|
|
## Installers ##
|
|
def update_adobe_reader_dc():
|
|
pass
|
|
|
|
## Misc ##
|
|
def update_everything():
|
|
pass
|
|
|
|
def update_notepadplusplus():
|
|
# Stop running processes
|
|
kill_process('notepadplusplus.exe')
|
|
|
|
# Remove existing folders
|
|
remove_from_kit('NotepadPlusPlus')
|
|
|
|
# Download
|
|
name = 'npp.7z'
|
|
url = 'https://notepad-plus-plus.org/repository/7.x/7.5.1/npp.7.5.1.bin.minimalist.7z'
|
|
download_to_temp(name, url)
|
|
|
|
# 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_treesizefree():
|
|
pass
|
|
|
|
def update_xmplay():
|
|
pass
|
|
|
|
## Repairs ##
|
|
def update_adwcleaner():
|
|
#def update_adwcleaner():
|
|
# path = global_vars['BinDir']
|
|
# name = 'AdwCleaner.exe'
|
|
# _dl_page = 'http://www.bleepingcomputer.com/download/adwcleaner/dl/125/'
|
|
# _regex = r'href=.*http(s|)://download\.bleepingcomputer\.com/dl/[a-zA-Z0-9]+/[a-zA-Z0-9]+/windows/security/security-utilities/a/adwcleaner/AdwCleaner\.exe'
|
|
# url = resolve_dynamic_url(_dl_page, _regex)
|
|
# download_to_temp(path, name, url)
|
|
#
|
|
pass
|
|
|
|
def update_kvrt():
|
|
#def update_kvrt():
|
|
# path = global_vars['BinDir']
|
|
# name = 'KVRT.exe'
|
|
# url = 'http://devbuilds.kaspersky-labs.com/devbuilds/KVRT/latest/full/KVRT.exe'
|
|
# download_to_temp(path, name, url)
|
|
pass
|
|
|
|
def update_rkill():
|
|
#def update_rkill():
|
|
# path = '{BinDir}/RKill'.format(**global_vars)
|
|
# name = 'RKill.exe'
|
|
# _dl_page = 'http://www.bleepingcomputer.com/download/rkill/dl/10/'
|
|
# _regex = r'href=.*http(s|)://download\.bleepingcomputer\.com/dl/[a-zA-Z0-9]+/[a-zA-Z0-9]+/windows/security/security-utilities/r/rkill/rkill\.exe'
|
|
# url = resolve_dynamic_url(_dl_page, _regex)
|
|
# download_to_temp(path, name, url)
|
|
pass
|
|
|
|
def update_tdsskiller():
|
|
#def update_tdsskiller():
|
|
# path = global_vars['BinDir']
|
|
# name = 'TDSSKiller.exe'
|
|
# url = 'http://media.kaspersky.com/utilities/VirusUtilities/EN/tdsskiller.exe'
|
|
# download_to_temp(path, name, url)
|
|
pass
|
|
|
|
## Uninstallers ##
|
|
def update_iobit_uninstaller():
|
|
pass
|
|
|
|
if __name__ == '__main__':
|
|
print("This file is not meant to be called directly.")
|