#! Name: dictvm.sh #! Author: kittykat #! Version: 2024.12.12 #! 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='dict' HostNick='dictvm.org' HostFuncPrefix='dict' HostUrls='dictvm.org' HostDomainRegex='^(http|https)://(.*\.)?upload\.dictvm\.org/' #! #! !! 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 --------------- # #! #! This is a direct= download host, so all the functions are already in mad.sh #! Since the HostFuncPrefix is defined above as "direct", nothing further needs to be done as it will #! call the direct_DownloadFile() function already in mad.sh dict_DownloadFile() { local pUrl="$1" local pFileCnt="$2" local pFileUrl="$pUrl" if ! grep -Eqi '&p=1$' <<< "$pUrl" ; then pFileUrl="${pUrl}&p=1" echo -e "[${BLUE}ModifiedUrl${NC}]: ${pFileUrl}" fi direct_DownloadFile "$pUrl" "$pFileCnt" "$pFileUrl" }