Universal Tool Updater script
OTHER License
Español | English
Esta herramienta está pensada para remediar el tedioso proceso de mantener actualizadas las herramientas que usamos para trabajar a diario.
Es el complemento inevitable del toolkit del sitio.
Puede clonar el repo con git o simplemente bajarlo desde descargar.
git clone https://github.com/xchwarze/universal-tool-updater
Para agregar herramientas hay que editar el archivo tools.ini
.
Por defecto el mismo viene configurado a modo de ejemplo para que el usuario entienda rápidamente como se usa la herramienta.
[DIE]
folder = Analysis\DIE
url = horsicq/DIE-engine
from = github
re_download = die_win64_portable_(?:\S+).zip
[Portmon]
folder = Monitor\Portmon
url = https://docs.microsoft.com/en-us/sysinternals/downloads/portmon
update_url = https://download.sysinternals.com/files/PortMon.zip
re_version = <h1 [^>]*>Portmon for Windows v(.*?)</h1>
Los valores utilizados para la configuración son:
Nombre | Obligatorio | Descripción |
---|---|---|
folder |
SI |
Carpeta donde se guardara la herramienta. Si no existe la misma se creara. |
url |
SI |
Web que se usara para realizar los chequeos con las regex. |
from |
NO |
Indica la estrategia usada para el update. Los valores admitidos por el momento son: web , github o http . |
local_version |
NO |
Versión descargada actualmente. Este valor se actualizara con cada update. |
re_version |
NO |
Regex usado para comprobar si hay nuevas versiones en la web de url . |
re_download |
NO |
Regex usado para obtener el link de descarga en la web de url . |
update_url |
NO |
URL de descarga del update. Ver estrategia usadas para la descarga. |
update_file_pass |
NO |
Usar esta contraseña para descomprimir el update. |
merge |
NO |
Fusionar versión nueva con la local. |
pre_update_script |
NO |
El script ingresado se ejecutara antes del proceso de update. |
post_update_script |
NO |
El script ingresado se ejecutara después del proceso de update. |
pre_update |
NO |
El script ingresado se ejecutara antes del proceso de update. |
post_update |
NO |
El script ingresado se ejecutara después del proceso de update. |
post_unpack |
NO |
El script ingresado se ejecutara después del proceso de unpack. |
Combinando el uso de update_url
y re_download
se consiguen las siguientes estrategias de descarga:
update_url
se descarga directamente sin ningún procesamiento extra.re_download
se obtiene el link de descarga en la web de url
.re_download
con update_url
.La herramienta soporta varios comandos y combinaciones. Estos son los mas usados.
updater.exe --update "Process Hacker 3"
updater.exe --force --update DIE
updater.exe --disable-folder-clean --disable-repack
Las descargas de GitHub se realizan por defecto haciendo scrapeo de datos, pero para un funcionamiento mas robusto se aconseja hacerlo usando la api de GitHub. Para ello hay que seguir los siguientes pasos:
updater.exe --update-default-params --use-github-api your_github_token
# execute in elevated command prompt
SCHTASKS /CREATE /SC DAILY /TN "ToolkitUpdater" /TR "D:\code\toolkit\Updater\custom-task.bat" /ST 14:00
# execute in elevated command prompt
SCHTASKS /DELETE /TN "ToolkitUpdater"
pip install pyinstaller
pyinstaller --onefile UpdateManager.py --icon=../assets/appicon.ico