#! Name: eternalhosting.sh #! Author: kittykat #! Version: 2024.12.28 #! Desc: Add support for downloading and processing of urls for a new host #! Usage: Copy this file into the ./${ScriptDir}/hosts/ folder #! #! #! ------------ REQUIRED SECTION --------------- #! @[UPDATE] HostAndDomainRegexes: This string is loaded into mad.sh and allows dynamic handling of new url data #! Format: '/HostCode/HostNick/HostFuncPrefix:HostDomainRegex@' #! HostCode: (ie. 'fh' for filehaus -- cannot be used by other hosts) #! HostNick: What is displayed throughout MAD output (ie. 'filehaus' -- "urls.txt has 10 filehaus.." will be displayed) #! HostFuncPrefix: (ie. 'fh' -- fh_DownloadFile(), fh_FetchFileInfo() .. ) #! * Note: Must begin with a letter a-z (functions beginning with numbers are no bueno) #! HostDomainRegex: The regex used to verify matching urls HostCode='eh' HostNick='eternal hosting' HostFuncPrefix='eh' HostUrls='eternalcbrzpicytj4zyguygpmkjlkddxob7tptlr25cdipe5svyqoqd.onion' HostDomainRegex='^(http|https)://eternalcbrzpicytj4zyguygpmkjlkddxob7tptlr25cdipe5svyqoqd\.onion/file/' #! #! !! DO NOT UPDATE OR REMOVE !! #! This merges the Required HostAndDomainRegexes into mad.sh ListHostAndDomainRegexes=${ListHostAndDomainRegexes}'/'${HostCode}'/'${HostNick}'/'${HostFuncPrefix}'/'${HostUrls}':'${HostDomainRegex}'@' #! #! #! ------------ (1) Host Main Download Function --------------- # #! #! @REQUIRED: Host Main Download function #! Must be named specifically as such: #! _DownloadFile() eh_DownloadFile() { local pUrl="$1" local pFileCnt="$2" local pUrlMod="$pUrl" if grep -Eqi '\.onion' <<< "$pUrlMod" && grep -Eqi 'https://' <<< "$pUrlMod" ; then echo -e "${PINK}| Reverting .onion address to http...${NC}" pUrlMod="${pUrlMod/https/http}" fi if grep -Eqi '\.onion/file/' <<< "$pUrlMod" ; then echo -e "${PINK}| Switching to download url...${NC}" pUrlMod="${pUrlMod/\.onion\/file\//\.onion\/download\/}" fi echo -e "[${BLUE}ModifiedUrl${NC}]: ${pUrlMod}" direct_DownloadFile "$pUrl" "$pFileCnt" "$pUrlMod" }