mad/hosts/eternalhosting.sh
kittykat 30eedaf567
# 2024.01.03 - [gofile] Detect "Bulk download is a Premium feature" response (no children)
# 2025.01.02 - [up_axfc] Update PUT response check to handle kanji chars (remove)
# 2025.01.02 - [dashfile] Add response 'This file reached max downloads limit'. New cookie on captcha fail
# 2024.12.28 - [dashfile] Update captcha code check
# 2024.12.28 - [anonfile] Add new download link href response
# 2024.12.28 - [fileblade] Add additional response handling (subsequent downloads, unknown warnings)
# 2024.12.28 - [eternalhosting] Update eternal.onion to handle landing page (eternal.onion/file/)
2025-01-04 05:51:50 +00:00

46 lines
2.1 KiB
Bash
Executable file

#! 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: <aUniqueCodeForHost> (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: <aUniqueStringThatMustPrefixHostFunctions> (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:
#! <HostFuncPrefix>_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"
}