#!/bin/sh alias curl="curl \ -H 'Pragma: no-cache' \ -H 'Connection: keep-alive' \ -H 'Cache-Control: no-cache' \ -H 'Upgrade-Insecure-Requests: 1' \ -H 'User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:109.0) Gecko/20100101 Firefox/128.0' \ -H 'Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8' \ -H 'Accept-Encoding: gzip, deflate, br' \ -H 'Accept-Language: es-ES,es;q=0.8,en-US;q=0.5,en;q=0.3' \ -H 'Referer: https://www.soportefirmadigital.com/sfdj/dl.aspx?lang=en' \ -H 'Content-Type: application/x-www-form-urlencoded' \ -H 'Sec-Fetch-Dest: document' \ -H 'Sec-Fetch-Mode: navigate' \ -H 'Sec-Fetch-Site: same-origin' \ -H 'Sec-Fetch-User: ?1' \ " urlencode() { ENCODEDURL="$(tr -d '\n' | curl -Gs -w %{url_effective} --data-urlencode @- ./ ||: | sed "s/%0[aA]$//;s/^[^?]*?\(.*\)/\1/")" printf '%s' "$ENCODEDURL" | sed 's/^http.*?//g' } get_asp_var() { VARS="$@" ; i=0 for VAR in $VARS ; do VAL="$(printf '%s' "$REQUEST" | grep -o "id=\"$VAR\"\svalue=\".*\"" | cut -d '"' -f 4 | urlencode)" [ "$i" != 0 ] && printf '&' printf '%s=%s' "$VAR" "$VAL" i=+1 done } download_iso() { SN="1234" URL="https://soportefirmadigital.com/sfdj/dl.aspx" hiddenISO="ClientesLinux_DEB64_Rev25.zip" ddlInstaladores="Usuarios+Linux+%28DEB+64bits%29" txtDescripcion="Distribuciones+basadas+en+DEB+x64.%0D%0AVersiones+Homologadas%0D%0A-Ubuntu+18.04+LTS+o+superior%28solo+versiones+LTS%29%0D%0A-Debian+10%0D%0A%0D%0ASoporte+%C3%BAnicamente+en+m%C3%A1quinas+F%C3%ADsicas.%0D%0AMD5%3A3a8c11d0273daee7bfc63a17615a8dc9" REQUEST="$(curl -s --compressed "$URL" -o -)" ASP_VARS="$(get_asp_var __VIEWSTATE __VIEWSTATEGENERATOR __EVENTVALIDATION)" REQUEST="$(curl -Ls --compressed "$URL" \ --data-raw "__EVENTTARGET=ctl00%24certContents%24ddlInstaladores" \ --data-raw "__EVENTARGUMENT=" \ --data-raw "__LASTFOCUS=" \ --data-raw "$ASP_VARS" \ --data-raw "ctl00%24certContents%24hiddenISO=Windows_rev62.exe" \ --data-raw "ctl00%24certContents%24hidden_ISO_URL=-" \ --data-raw "ctl00%24certContents%24txtSerialNumber=" \ --data-raw "ctl00%24certContents%24ddlInstaladores=$ddlInstaladores" \ --data-raw "ctl00%24certContents%24txtDescripcion=$txtDescripcion" \ --data-raw "ctl00%24certContents%24chkConfirmo=" \ --data-raw "ctl00%24certContents%24hiddenABID=" \ -o -)" ASP_VARS="$(get_asp_var __VIEWSTATE __VIEWSTATEGENERATOR __EVENTVALIDATION)" REQUEST="$(curl -H "Set-Cookie: SN=$SN" -s --compressed "$URL" \ --cookie "SN=$SN" \ --data-raw "__EVENTTARGET=ctl00%24certContents%24LinkButton3" \ --data-raw "__EVENTARGUMENT=" \ --data-raw "__LASTFOCUS=" \ --data-raw "$ASP_VARS" \ --data-raw "ctl00%24certContents%24hiddenISO=$hiddenISO" \ --data-raw "ctl00%24certContents%24hidden_ISO_URL=-" \ --data-raw "ctl00%24certContents%24txtSerialNumber=$SN" \ --data-raw "ctl00%24certContents%24ddlInstaladores=$ddlInstaladores" \ --data-raw "ctl00%24certContents%24txtDescripcion=$txtDescripcion" \ --data-raw "ctl00%24certContents%24chkConfirmo=on" \ --data-raw "ctl00%24certContents%24hiddenABID=" \ -o -)" printf '%s' "$REQUEST" } download_iso