# 2024.11.18 - [up_fileditch / fileditch] Add fileditch.com as upload and download host

# 2024.11.17 - [innocent] Fix "Fetching file info". Support resume downloads.
# 2024.11.16 - [mad] Fix reload on uploads.txt modified (uploads: filemode)
# 2024.11.16 - [up_*] Fix removal of upload ticket if filesize is not supported
# 2024.11.15 - [familleflender] Add famille-flender.fr as download host
# 2024.11.15 - [up_familleflender] Add famille-flender.fr as upload host
# 2024.11.15 - [up_filehaus] Finish the uploader (the server is back online)
This commit is contained in:
kittykat 2024-11-18 14:48:48 +00:00
parent d3d08d63f5
commit fa83163a58
Signed by: kittykat
GPG key ID: E3F1556620F70C3C
101 changed files with 1648 additions and 790 deletions

View file

@ -1,4 +1,4 @@
DateTime: 24.11.07
DateTime: 24.11.18
Files:
./hosts/1fichier.sh
@ -21,6 +21,8 @@ Files:
./hosts/eternalhosting.sh
./hosts/examples/ExampleNewHost.sh
./hosts/examples/up_example.sh
./hosts/familleflender.sh
./hosts/fileditch.sh
./hosts/filedoge.sh
./hosts/filedot.sh
./hosts/filehaus.sh
@ -44,9 +46,11 @@ Files:
./hosts/pixeldrain.sh
./hosts/ranoz.sh
./hosts/shareonline.sh
./hosts/skrepr.sh
./hosts/soyjak.sh
./hosts/tempfileme.sh
./hosts/tempsh.sh
./hosts/torup.sh
./hosts/turboonion.sh
./hosts/up2share.sh
./hosts/uploadee.sh
@ -65,6 +69,8 @@ Files:
./hosts/up_dbree.sh
./hosts/up_depotkaz.sh
./hosts/up_dosya.sh
./hosts/up_familleflender.sh
./hosts/up_fileditch.sh
./hosts/up_filehaus.sh
./hosts/up_filesquid.sh
./hosts/up_firestorage.sh
@ -80,13 +86,18 @@ Files:
./hosts/up_netlib.sh
./hosts/up_nippy.sh
./hosts/up_nofile.sh
./hosts/up_offshorecat.sh
./hosts/up_oshi.sh
./hosts/up_pixeldrain.sh
./hosts/up_ranoz.sh
./hosts/up_shareonline.sh
./hosts/up_skrepr.sh
./hosts/up_soyjak.sh
./hosts/up_tempfileme.sh
./hosts/up_tempsh.sh
./hosts/up_torup.sh
./hosts/up_turboonion.sh
./hosts/up_uploadee.sh
./hosts/up_uploadev.sh
./hosts/up_uploadflix.sh
./hosts/up_uploadhive.sh
@ -107,10 +118,10 @@ Files:
MAD Audit of curl: (grep "curl")
_________________________________________________________________________
./hosts/1fichier.sh:48: PAGE=$(tor_curl_request --insecure --max-time "$ConnectTimeout" -s "${remote_url}")
./hosts/1fichier.sh:155: cdn_request=$(tor_curl_request --insecure -s -L -b "${fich_cookie_jar}" -c "${fich_cookie_jar}" -F "submit=Download" -F "pass=${fich_user_provided_password}" -F "adz=${fich_adz_parameter}" "${remote_url}")
./hosts/1fichier.sh:189: file_header=$(tor_curl_request --insecure -sSIL -e "${remote_url}" "${target_file_link}")
./hosts/1fichier.sh:256: tor_curl_request --insecure -e "${remote_url}" "${target_file_link}" -C - -o "${file_path}"
./hosts/1fichier.sh:349: PAGE=$(tor_curl_request --insecure --max-time "$ConnectTimeout" -c "${fich_cookie_jar}" -s "${remote_url}")
./hosts/1fichier.sh:160: cdn_request=$(tor_curl_request --insecure -s -L -b "${fich_cookie_jar}" -c "${fich_cookie_jar}" -F "submit=Download" -F "pass=${fich_user_provided_password}" -F "adz=${fich_adz_parameter}" "${remote_url}")
./hosts/1fichier.sh:194: file_header=$(tor_curl_request --insecure -sSIL -e "${remote_url}" "${target_file_link}")
./hosts/1fichier.sh:261: tor_curl_request --insecure -e "${remote_url}" "${target_file_link}" -C - -o "${file_path}"
./hosts/1fichier.sh:354: PAGE=$(tor_curl_request --insecure --max-time "$ConnectTimeout" -c "${fich_cookie_jar}" -s "${remote_url}")
./hosts/9saves.sh:90: response=$(tor_curl_request --insecure -L -s -b "${ns_cookie_jar}" -c "${ns_cookie_jar}" "$remote_url")
./hosts/9saves.sh:139: response=$(tor_curl_request --insecure -L -s -X POST \
./hosts/9saves.sh:188: file_header=$(tor_curl_request --insecure --head -L -s -b "${ns_cookie_jar}" -c "${ns_cookie_jar}" "$download_url")
@ -189,6 +200,9 @@ _________________________________________________________________________
./hosts/examples/ExampleNewHost.sh:199: tor_curl_request --insecure --speed-limit $DownloadSpeedMin --speed-time $DownloadTimeoutInterval --referer "$download_url" "$download_url" --continue-at - --output "$file_path"
./hosts/examples/ExampleNewHost.sh:201: tor_curl_request --insecure --referer "$download_url" "$download_url" --continue-at - --output "$file_path"
./hosts/examples/up_example.sh:112: response=$(tor_curl_upload --insecure \
./hosts/fileditch.sh:85: file_header=$(tor_curl_request --insecure --head -L -s "$download_url")
./hosts/fileditch.sh:176: tor_curl_request --insecure --speed-limit $DownloadSpeedMin --speed-time $DownloadTimeoutInterval "$download_url" --continue-at - --output "$file_path"
./hosts/fileditch.sh:178: tor_curl_request --insecure "$download_url" --continue-at - --output "$file_path"
./hosts/filedot.sh:112: PAGE=$(tor_curl_request --insecure --max-time "$ConnectTimeout" -L -s \
./hosts/filedot.sh:153: resp_login=$(tor_curl_request --insecure -L -s \
./hosts/filedot.sh:240: response=$(tor_curl_request --insecure -L -s \
@ -214,19 +228,21 @@ _________________________________________________________________________
./hosts/hexload.sh:254: file_header=$(tor_curl_request --insecure --head -L -s --referer "$file_url" "$download_url")
./hosts/hexload.sh:321: tor_curl_request --insecure --speed-limit $DownloadSpeedMin --speed-time $DownloadTimeoutInterval --referer "$file_url" "$download_url" --continue-at - --output "$file_path"
./hosts/hexload.sh:323: tor_curl_request --insecure --referer "$file_url" "$download_url" --continue-at - --output "$file_path"
./hosts/innocent.sh:98: file_header=$(tor_curl_request --insecure --head -H "Connection: keep-alive" -L -s -i "$download_url" |
./hosts/innocent.sh:110: file_header=$(tor_curl_request --insecure -m 16 -s -D - -o /dev/null \
./hosts/innocent.sh:116: file_header=$(tor_curl_request --insecure --head -L -s "$download_url")
./hosts/innocent.sh:207: tor_curl_request --insecure "$download_url" --output "$file_path"
./hosts/innocent.sh:97: file_header=$(tor_curl_request --insecure --head -L -s "$download_url")
./hosts/innocent.sh:100: file_header=$(tor_curl_request --insecure -m 8 -s -D - -o /dev/null \
./hosts/innocent.sh:107: file_header=$(tor_curl_request --insecure --head -H "Connection: keep-alive" -L -s -i "$download_url" |
./hosts/innocent.sh:119: file_header=$(tor_curl_request --insecure --head -L -s "$download_url")
./hosts/innocent.sh:211: tor_curl_request --insecure "$download_url" --continue-at - --output "$file_path"
./hosts/innocent.sh:214: tor_curl_request --insecure "$download_url" --output "$file_path"
./hosts/kraken.sh:104: PAGE=$(tor_curl_request --insecure --max-time "$ConnectTimeout" -s -L -c "${kraken_cookie_jar}" "${fixed_url}")
./hosts/kraken.sh:169: down_request=$(tor_curl_request --insecure -L -s -b "${kraken_cookie_jar}" -c "${kraken_cookie_jar}" -F "token=${kraken_token}" "${kraken_action}")
./hosts/kraken.sh:186: file_header=$(tor_curl_request --insecure --head -L -s -b "${kraken_cookie_jar}" -c "${kraken_cookie_jar}" --referer "$kraken_action" "$download_url")
./hosts/kraken.sh:286: tor_curl_request --insecure --speed-limit $DownloadSpeedMin --speed-time $DownloadTimeoutInterval --referer "$kraken_action" "$download_url" --continue-at - --output "$file_path"
./hosts/kraken.sh:288: tor_curl_request --insecure --referer "$kraken_action" "$download_url" --continue-at - --output "$file_path"
./hosts/nippy.sh:121: response=$(tor_curl_request --insecure -L -s -b "${nippy_cookie_jar}" -c "${nippy_cookie_jar}" "$fixed_url")
./hosts/nippy.sh:190: file_header=$(tor_curl_request --insecure -L --head -s \
./hosts/nippy.sh:301: tor_curl_request --insecure -L --speed-limit $DownloadSpeedMin --speed-time $DownloadTimeoutInterval \
./hosts/nippy.sh:304: tor_curl_request --insecure -L "$download_url" --continue-at - --output "$file_path"
./hosts/nippy.sh:119: response=$(tor_curl_request --insecure -L -s -b "${nippy_cookie_jar}" -c "${nippy_cookie_jar}" "$fixed_url")
./hosts/nippy.sh:188: file_header=$(tor_curl_request --insecure -L --head -s \
./hosts/nippy.sh:299: tor_curl_request --insecure -L --speed-limit $DownloadSpeedMin --speed-time $DownloadTimeoutInterval \
./hosts/nippy.sh:302: tor_curl_request --insecure -L "$download_url" --continue-at - --output "$file_path"
./hosts/oshi.sh:101: file_header=$(tor_curl_request --insecure --head -L -s --referer "$remote_url" "$download_url")
./hosts/oshi.sh:195: tor_curl_request --insecure --speed-limit $DownloadSpeedMin --speed-time $DownloadTimeoutInterval --referer "$file_url" "$download_url" --continue-at - --output "$file_path"
./hosts/oshi.sh:197: tor_curl_request --insecure --referer "$file_url" "$download_url" --continue-at - --output "$file_path"
@ -245,26 +261,32 @@ _________________________________________________________________________
./hosts/ranoz.sh:264: tor_curl_request --insecure -L -G --no-alpn \
./hosts/ranoz.sh:279: tor_curl_request --insecure -L -G --no-alpn \
./hosts/tempfileme.sh:89: response=$(tor_curl_request --insecure -L -s "$remote_url")
./hosts/tempfileme.sh:163: file_header=$(tor_curl_request --insecure -L --head -s --referer "${remote_url}" "$download_url")
./hosts/tempfileme.sh:291: if [ "${UseTorCurlImpersonate}" == "true" ]; then
./hosts/tempfileme.sh:293: tor_curl_request --insecure -L \
./hosts/tempfileme.sh:298: tor_curl_request --insecure -L \
./hosts/tempfileme.sh:304: tor_curl_request --insecure -L \
./hosts/tempfileme.sh:319: tor_curl_request --insecure -L \
./hosts/tempfileme.sh:170: file_header=$(tor_curl_request --insecure -L --head -s --referer "${remote_url}" "$download_url")
./hosts/tempfileme.sh:298: if [ "${UseTorCurlImpersonate}" == "true" ]; then
./hosts/tempfileme.sh:300: tor_curl_request --insecure -L \
./hosts/tempfileme.sh:305: tor_curl_request --insecure -L \
./hosts/tempfileme.sh:311: tor_curl_request --insecure -L \
./hosts/tempfileme.sh:326: tor_curl_request --insecure -L \
./hosts/tempsh.sh:88: file_header=$(tor_curl_request --insecure -s -D - -o /dev/null -X POST \
./hosts/tempsh.sh:225: if [ "${UseTorCurlImpersonate}" == "true" ]; then
./hosts/tempsh.sh:227: tor_curl_request --insecure -X POST \
./hosts/tempsh.sh:231: tor_curl_request --insecure -X POST \
./hosts/tempsh.sh:236: tor_curl_request --insecure -X POST \
./hosts/tempsh.sh:250: tor_curl_request --insecure -X POST \
./hosts/torup.sh:92: response=$(tor_curl_request --insecure -L -s \
./hosts/torup.sh:188: if [ "${UseTorCurlImpersonate}" == "true" ]; then
./hosts/torup.sh:190: tor_curl_request --insecure -L -G --no-alpn \
./hosts/torup.sh:196: tor_curl_request --insecure -L -G --no-alpn \
./hosts/torup.sh:203: tor_curl_request --insecure -L -G --no-alpn \
./hosts/torup.sh:219: tor_curl_request --insecure -L -G --no-alpn \
./hosts/up2share.sh:91: response=$(tor_curl_request --insecure -L -s -b "${up2share_cookie_jar}" -c "${up2share_cookie_jar}" \
./hosts/up2share.sh:144: response=$(tor_curl_request --insecure -L -s -b "${up2share_cookie_jar}" -c "${up2share_cookie_jar}" \
./hosts/up2share.sh:195: file_header=$(tor_curl_request --insecure -L -s --head \
./hosts/up2share.sh:311: if [ "${UseTorCurlImpersonate}" == "true" ]; then
./hosts/up2share.sh:313: tor_curl_request --insecure -L \
./hosts/up2share.sh:320: tor_curl_request --insecure -L \
./hosts/up2share.sh:328: tor_curl_request --insecure -L \
./hosts/up2share.sh:346: tor_curl_request --insecure -L \
./hosts/up2share.sh:312: if [ "${UseTorCurlImpersonate}" == "true" ]; then
./hosts/up2share.sh:314: tor_curl_request --insecure -L \
./hosts/up2share.sh:321: tor_curl_request --insecure -L \
./hosts/up2share.sh:329: tor_curl_request --insecure -L \
./hosts/up2share.sh:347: tor_curl_request --insecure -L \
./hosts/uploadee.sh:90: response=$(tor_curl_request --insecure -L -s "$remote_url")
./hosts/uploadee.sh:143: file_header=$(tor_curl_request --insecure --head -L -s -b "${upee_cookie_jar}" -c "${upee_cookie_jar}" --referer "$remote_url" "$download_url")
./hosts/uploadee.sh:249: if [ "${UseTorCurlImpersonate}" == "true" ]; then
@ -292,7 +314,7 @@ _________________________________________________________________________
./hosts/uploadhive.sh:271: tor_curl_request --insecure -L -G "$download_url" --continue-at - --output "$file_path"
./hosts/up_1fichier.sh:107: response=$(tor_curl_request --insecure -L -s "https://1fichier.com/")
./hosts/up_1fichier.sh:180: response=$(tor_curl_upload --insecure -L \
./hosts/up_acid.sh:94: response=$(tor_curl_upload --insecure -i \
./hosts/up_acid.sh:102: response=$(tor_curl_upload --insecure -i \
./hosts/up_anarchaserver.sh:102: response=$(tor_curl_upload --insecure -i \
./hosts/up_anonsharing.sh:102: response=$(tor_curl_upload --insecure -i \
./hosts/up_axfc.sh:109: response=$(tor_curl_request --insecure -L -s -b "${axfc_cookie_jar}" -c "${axfc_cookie_jar}" "$fixed_url")
@ -305,13 +327,15 @@ _________________________________________________________________________
./hosts/up_dbree.sh:102: response=$(tor_curl_upload --insecure -i \
./hosts/up_depotkaz.sh:102: response=$(tor_curl_upload --insecure -i \
./hosts/up_dosya.sh:107: response=$(tor_curl_upload --insecure -L -i \
./hosts/up_familleflender.sh:102: response=$(tor_curl_upload --insecure -i \
./hosts/up_fileditch.sh:102: response=$(tor_curl_upload --insecure -i \
./hosts/up_filehaus.sh:106: response=$(tor_curl_upload --insecure -i \
./hosts/up_filesquid.sh:102: response=$(tor_curl_upload --insecure -i \
./hosts/up_filesquid.sh:104: response=$(tor_curl_upload --insecure -i \
./hosts/up_firestorage.sh:113: response=$(tor_curl_upload --insecure -i \
./hosts/up_free4e.sh:94: response=$(tor_curl_upload --insecure -i \
./hosts/up_gofile.sh:102: response=$(tor_curl_request --insecure -L -s "https://api.gofile.io/servers")
./hosts/up_gofile.sh:121: response=$(tor_curl_upload --insecure -i \
./hosts/up_harrault.sh:94: response=$(tor_curl_upload --insecure -i \
./hosts/up_harrault.sh:101: response=$(tor_curl_upload --insecure -i \
./hosts/up_hexload.sh:109: response=$(tor_curl_upload --insecure -i \
./hosts/up_innocent.sh:99: response=$(tor_curl_upload --insecure -D - -o /dev/null \
./hosts/up_kouploader.sh:108: response=$(tor_curl_request --insecure -L -s -b "${ko_cookie_jar}" -c "${ko_cookie_jar}" "$PostUrlHost")
@ -322,14 +346,21 @@ _________________________________________________________________________
./hosts/up_netlib.sh:102: response=$(tor_curl_upload --insecure -i \
./hosts/up_nippy.sh:125: response=$(tor_curl_upload --insecure -i \
./hosts/up_nofile.sh:102: response=$(tor_curl_upload --insecure -i \
./hosts/up_offshorecat.sh:104: response=$(tor_curl_upload --insecure -i \
./hosts/up_oshi.sh:110: response=$(tor_curl_upload --insecure \
./hosts/up_pixeldrain.sh:113: response=$(tor_curl_upload --insecure -i \
./hosts/up_ranoz.sh:102: response=$(tor_curl_upload --insecure -L -i -s \
./hosts/up_ranoz.sh:131: response=$(tor_curl_upload --insecure -i -X PUT \
./hosts/up_shareonline.sh:102: response=$(tor_curl_upload --insecure -i \
./hosts/up_skrepr.sh:94: response=$(tor_curl_upload --insecure -i \
./hosts/up_soyjak.sh:102: response=$(tor_curl_upload --insecure -i \
./hosts/up_tempfileme.sh:102: response=$(tor_curl_upload --insecure -i \
./hosts/up_tempsh.sh:102: response=$(tor_curl_upload --insecure -i \
./hosts/up_torup.sh:109: response=$(tor_curl_request --insecure -L -s -b "${torp_cookie_jar}" -c "${torp_cookie_jar}" \
./hosts/up_torup.sh:149: response=$(tor_curl_upload --insecure -i \
./hosts/up_turboonion.sh:99: response=$(tor_curl_upload --insecure \
./hosts/up_uploadee.sh:106: response=$(tor_curl_request --insecure -L -s "https://www.upload.ee/ubr_link_upload.php")
./hosts/up_uploadee.sh:176: response=$(tor_curl_upload --insecure -i -L \
./hosts/up_uploadev.sh:102: response=$(tor_curl_upload --insecure -i \
./hosts/up_uploadflix.sh:106: response=$(tor_curl_upload --insecure -i \
./hosts/up_uploadhive.sh:102: response=$(tor_curl_upload --insecure -i \
@ -340,117 +371,117 @@ _________________________________________________________________________
./hosts/youdbox.sh:183: file_header=$(tor_curl_request --insecure -L --head -s --referer "${fixed_url}" "$download_url")
./hosts/youdbox.sh:276: tor_curl_request --insecure -L -G --speed-limit $DownloadSpeedMin --speed-time $DownloadTimeoutInterval "$download_url" --continue-at - --output "$file_path"
./hosts/youdbox.sh:278: tor_curl_request --insecure -L -G "$download_url" --continue-at - --output "$file_path"
./mad.sh:106:UseTorCurlImpersonate=false
./mad.sh:371:tor_curl_request() {
./mad.sh:372: if [ "${UseTorCurlImpersonate}" == "true" ]; then
./mad.sh:373: "${curl_impersonate[@]}" --proxy "socks5h://${tor_identity}@${TorIp}:${torPort}" --connect-timeout ${ConnectTimeout} --compressed --globoff "$@"
./mad.sh:375: curl --proxy "socks5h://${tor_identity}@${TorIp}:${torPort}" --connect-timeout ${ConnectTimeout} --compressed --globoff "$@"
./mad.sh:378:tor_curl_request_extended() {
./mad.sh:379: if [ "${UseTorCurlImpersonate}" == "true" ]; then
./mad.sh:380: "${curl_impersonate[@]}" --proxy "socks5h://${tor_identity}@${TorIp}:${torPort}" --connect-timeout 60 --compressed --globoff "$@"
./mad.sh:382: curl --proxy "socks5h://${tor_identity}@${TorIp}:${torPort}" --connect-timeout 60 --compressed --globoff "$@"
./mad.sh:385:tor_curl_upload() {
./mad.sh:107:UseTorCurlImpersonate=false
./mad.sh:385:tor_curl_request() {
./mad.sh:386: if [ "${UseTorCurlImpersonate}" == "true" ]; then
./mad.sh:388: "${curl_impersonate[@]}" --proxy "socks5h://${tor_identity}@${TorIp}:${torPort}" --connect-timeout ${ConnectTimeout} --speed-limit $UploadSpeedMin --speed-time $UploadTimeoutInterval --compressed --globoff "$@"
./mad.sh:390: "${curl_impersonate[@]}" --proxy "socks5h://${tor_identity}@${TorIp}:${torPort}" --connect-timeout ${ConnectTimeout} --compressed --globoff "$@"
./mad.sh:394: curl --proxy "socks5h://${tor_identity}@${TorIp}:${torPort}" --connect-timeout ${ConnectTimeout} --speed-limit $UploadSpeedMin --speed-time $UploadTimeoutInterval -H 'User-Agent: Mozilla/5.0 (Windows NT 10.0; rv:109.0) Gecko/20100101 Firefox/115.0' -H 'Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8' -H 'Accept-Language: en-US,en;q=0.5' -H 'Accept-Encoding: gzip, deflate, br' -H 'Origin: null' -H 'Connection: keep-alive' -H 'Upgrade-Insecure-Requests: 1' -H 'Sec-Fetch-Dest: document' -H 'Sec-Fetch-Mode: navigate' -H 'Sec-Fetch-Site: cross-site' -H 'Sec-Fetch-User: ?1' -H 'TE: trailers' --compressed --globoff "$@"
./mad.sh:396: curl --proxy "socks5h://${tor_identity}@${TorIp}:${torPort}" --connect-timeout ${ConnectTimeout} -H 'User-Agent: Mozilla/5.0 (Windows NT 10.0; rv:109.0) Gecko/20100101 Firefox/115.0' -H 'Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8' -H 'Accept-Language: en-US,en;q=0.5' -H 'Accept-Encoding: gzip, deflate, br' -H 'Origin: null' -H 'Connection: keep-alive' -H 'Upgrade-Insecure-Requests: 1' -H 'Sec-Fetch-Dest: document' -H 'Sec-Fetch-Mode: navigate' -H 'Sec-Fetch-Site: cross-site' -H 'Sec-Fetch-User: ?1' -H 'TE: trailers' --compressed --globoff "$@"
./mad.sh:1283:install_curl_impersonate() {
./mad.sh:1285: echo -e "${BLUE}lwthiker curl_impersonate${NC} is the original dev, but it is relatively inactive."
./mad.sh:1286: echo -e "- Currently uses curl v8.1.1."
./mad.sh:1290: echo -e "${BLUE}lexiforest curl_impersonate${NC} is an active fork of curl_impersonate."
./mad.sh:1291: echo -e "+ Currently uses curl v8.7.1"
./mad.sh:1295: PS3='Please select which curl_impersonate to install: '
./mad.sh:1303: install_curl_impersonate_lwthiker_orig
./mad.sh:1307: install_curl_impersonate_lexiforest_fork
./mad.sh:1317:install_curl_impersonate_lwthiker_orig() {
./mad.sh:1321: echo -e "${BLUE}lwthiker curl_impersonate${NC} is the original curl_impersonate."
./mad.sh:1322: echo -e "+ Currently uses curl v8.1.1, and has low activity for updates"
./mad.sh:1325: echo -e "${GREEN}| Fetching:${NC} latest ${BLUE}lwthiker curl_impersonate${NC} info from github...${NC}"
./mad.sh:1328: response=$(tor_curl_request --insecure -L -s https://github.com/lwthiker/curl-impersonate/releases/latest)
./mad.sh:1330: debugHtml "github" "lbf_inst_curlimp$j" "$response"
./mad.sh:1333: latestTag=$(grep -oPi -m 1 '(?<=/curl-impersonate/releases/tag/).*?(?=")' <<< "$response")
./mad.sh:1343: yes_or_no "Do you wish to download and extract curl_impersonate $latestTag (using tor+curl)?" && {
./mad.sh:1345: download_url='https://github.com/lwthiker/curl-impersonate/releases/download/'"$latestTag"'/curl-impersonate-'"$latestTag"'.x86_64-linux-gnu.tar.gz'
./mad.sh:1348: file_header=$(tor_curl_request --insecure --head -Ls "$download_url")
./mad.sh:1350: debugHtml "github" "head_inst_curlimp$j" "${file_header}"
./mad.sh:1398: tor_curl_request --insecure -L "$download_url" --continue-at - --output "$file_path"
./mad.sh:1427: echo -e "| Extracting curl_impersonate..."
./mad.sh:1429: rm -f "${ScriptDir}"/curl*
./mad.sh:1430: mv "$extract_location/curl-impersonate-ff" "${ScriptDir}/"
./mad.sh:1431: mv "$extract_location/curl_ff109" "${ScriptDir}/"
./mad.sh:1432: echo -e "${GREEN}| Done.${NC} Update ${BLUE}\"UseTorCurlImpersonate=true\"${NC} in script to use..."
./mad.sh:1440:install_curl_impersonate_lexiforest_fork() {
./mad.sh:1444: echo -e "${BLUE}lexiforest curl_impersonate${NC} is an active fork of curl_impersonate."
./mad.sh:1445: echo -e "+ Currently uses curl v8.7.1, and is patched for latest CVEs"
./mad.sh:1448: echo -e "${GREEN}| Fetching:${NC} latest ${BLUE}lexiforest curl_impersonate fork${NC} info from github...${NC}"
./mad.sh:1451: response=$(tor_curl_request --insecure -L -s https://github.com/lexiforest/curl-impersonate/releases/latest)
./mad.sh:1453: debugHtml "github" "lbf_inst_curlimp$j" "$response"
./mad.sh:1456: latestTag=$(grep -oPi -m 1 '(?<=/curl-impersonate/releases/tag/).*?(?=")' <<< "$response")
./mad.sh:1466: yes_or_no "Do you wish to download and extract curl_impersonate $latestTag (using tor+curl)?" && {
./mad.sh:1468: download_url='https://github.com/lexiforest/curl-impersonate/releases/download/'"$latestTag"'/curl-impersonate-'"$latestTag"'.x86_64-linux-gnu.tar.gz'
./mad.sh:1471: file_header=$(tor_curl_request --insecure --head -Ls "$download_url")
./mad.sh:1473: debugHtml "github" "head_inst_curlimp$j" "${file_header}"
./mad.sh:1521: tor_curl_request --insecure -L "$download_url" --continue-at - --output "$file_path"
./mad.sh:1550: echo -e "| Extracting curl_impersonate..."
./mad.sh:1552: rm -f "${ScriptDir}"/curl*
./mad.sh:1553: mv "$extract_location/curl-impersonate-chrome" "${ScriptDir}/"
./mad.sh:1554: mv "$extract_location/curl_chrome124" "${ScriptDir}/"
./mad.sh:1555: echo -e "${GREEN}| Done.${NC} Update ${BLUE}\"UseTorCurlImpersonate=true\"${NC} in script to use..."
./mad.sh:1717: echo -e ":${NC} ${GREEN}MAD${PINK} Audit${NC} : Reports usage of http & curl in scripts${PINK}${BLD} :"
./mad.sh:1725: maud_curl=$(grep -n -vxE '[[:blank:]]*([#].*)?' $fil | grep --color='always' -Ei 'curl')
./mad.sh:1726: maud_torcurl=$(grep -n -vxE '[[:blank:]]*([#].*)?' $fil | grep -A 12 --color='always' -Ei 'tor_curl')
./mad.sh:1735: echo -e "${PINK}MAD Audit of curl:${NC} (${GREEN}grep \"curl\"${NC})"
./mad.sh:1737: echo -e "$maud_curl"
./mad.sh:1739: echo -e "${PINK}MAD Audit of tor_curl (+12 lines after):${NC} (${GREEN}grep \"tor_curl\"${NC})"
./mad.sh:1741: echo -e "$maud_torcurl"
./mad.sh:1753: maud_curl=$(grep -n -vxE '[[:blank:]]*([#].*)?' $fil | grep --color='always' -Ei 'curl')
./mad.sh:1754: maud_torcurl=$(grep -n -vxE '[[:blank:]]*([#].*)?' $fil | grep -A 12 --color='always' -Ei 'tor_curl')
./mad.sh:1763: echo -e "${PINK}MAD Audit of curl:${NC} (${GREEN}grep \"curl \"${NC})"
./mad.sh:1765: echo -e "$maud_curl"
./mad.sh:1767: echo -e "${PINK}MAD Audit of tor_curl (+12 lines after):${NC} (${GREEN}grep \"tor_curl\"${NC})"
./mad.sh:1769: echo -e "$maud_torcurl"
./mad.sh:1775: maud_curl=$(grep -n -vxE '[[:blank:]]*([#].*)?' $fil | grep --color='always' -Ei 'curl')
./mad.sh:1776: maud_torcurl=$(grep -n -vxE '[[:blank:]]*([#].*)?' $fil | grep -A 12 --color='always' -Ei 'tor_curl')
./mad.sh:1785: echo -e "${PINK}MAD Audit of curl:${NC} (${GREEN}grep \"curl\"${NC})"
./mad.sh:1787: echo -e "$maud_curl"
./mad.sh:1789: echo -e "${PINK}MAD Audit of tor_curl (+12 lines after):${NC} (${GREEN}grep \"tor_curl\"${NC})"
./mad.sh:1791: echo -e "$maud_torcurl"
./mad.sh:2738: if [ "${UseTorCurlImpersonate}" == "true" ]; then
./mad.sh:2739: printf "client: ${GREEN}Tor${NC} + ${BLUE}curl_impersonate${NC}\\n"
./mad.sh:2741: printf "client: ${GREEN}Tor${NC} + ${GREEN}curl${NC}\\n"
./mad.sh:2901: if [ "${UseTorCurlImpersonate}" == "true" ]; then
./mad.sh:2902: printf "client: ${GREEN}Tor${NC} + ${BLUE}curl_impersonate${NC}\\n"
./mad.sh:2904: printf "client: ${GREEN}Tor${NC} + ${GREEN}curl${NC}\\n"
./mad.sh:3102: file_header=$(tor_curl_request --insecure -m 18 -s -D - -o /dev/null \
./mad.sh:3109: file_header=$(tor_curl_request --insecure --head -H "Connection: keep-alive" -L -s -i "$download_url" |
./mad.sh:3237: tor_curl_request --insecure -L --referer "$file_url" "$download_url" --output "$file_path"
./mad.sh:3281: tor_curl_request --insecure -L --speed-limit $DownloadSpeedMin --speed-time $DownloadTimeoutInterval "$download_url" --continue-at - --output "$file_path"
./mad.sh:3283: tor_curl_request --insecure -L --referer "$file_url" "$download_url" --continue-at - --output "$file_path"
./mad.sh:3456:if [ "${UseTorCurlImpersonate}" == "true" ]; then
./mad.sh:3457: curl_impersonate=()
./mad.sh:3458: readarray -d $'' arrFiles < <(find "$ScriptDir" -maxdepth 1 -name "curl_*" -printf '%p\n' | sort -Vk1)
./mad.sh:3459: bFoundCurlHeader=false
./mad.sh:3463: curl_impersonate=($fil)
./mad.sh:3464: bFoundCurlHeader=true
./mad.sh:3468: if [ "$bFoundCurlHeader" == "false" ]; then
./mad.sh:3469: echo -e "${RED}[ERROR] Missing dependency \"curl-impersonate\"!${NC}"
./mad.sh:3472: echo -e "You'll need to download ${GREEN}\"curl-impersonate\"${NC}."
./mad.sh:3475: echo -e "The latest binary can be obtained on GitHub, search for \"curl-impersonate\""
./mad.sh:3477: echo -e " 1. Visit the page of curl-impersonate and add \"/releases/latest/\" at end of URL."
./mad.sh:3481: echo -e " 4. Download archive ${GREEN}\"curl-impersonate-vX.Y.Z.x86_64-linux-gnu.tar.gz\"${YELLOW}."
./mad.sh:3482: echo -e " 5. Extract files ${GREEN}\"curl-impersonate-ff\"${NC} and ${GREEN}\"curl_ff109\"${NC} next to this script."
./mad.sh:3485: echo -e "run $0 install_curl_impersonate\\n"
./mad.sh:3487: yes_or_no "Do you wish to download and extract latest curl_impersonate (using tor+curl)?" && {
./mad.sh:3488: UseTorCurlImpersonate=false
./mad.sh:3489: install_curl_impersonate
./mad.sh:3573: echo -e "[${YELLOW}Install curl_impersonate${NC}]: Downloads the latest binary for curl_impersonate from github repo (3 choices)"
./mad.sh:3574: printf " %s install_curl_impersonate\\n" "$0"
./mad.sh:3652:elif [[ "$arg1" == "install_curl_impersonate" ]]; then
./mad.sh:3653: install_curl_impersonate
./mad.sh:3684:if [ "${UseTorCurlImpersonate}" == "true" ]; then
./mad.sh:3685: printf "client: ${GREEN}Tor${NC} + ${BLUE}curl_impersonate${NC}\\n"
./mad.sh:3687: printf "client: ${GREEN}Tor${NC} + ${GREEN}curl${NC}\\n"
./mad.sh:387: "${curl_impersonate[@]}" --proxy "socks5h://${tor_identity}@${TorIp}:${torPort}" --connect-timeout ${ConnectTimeout} --compressed --globoff "$@"
./mad.sh:389: curl --proxy "socks5h://${tor_identity}@${TorIp}:${torPort}" --connect-timeout ${ConnectTimeout} --compressed --globoff "$@"
./mad.sh:392:tor_curl_request_extended() {
./mad.sh:393: if [ "${UseTorCurlImpersonate}" == "true" ]; then
./mad.sh:394: "${curl_impersonate[@]}" --proxy "socks5h://${tor_identity}@${TorIp}:${torPort}" --connect-timeout 60 --compressed --globoff "$@"
./mad.sh:396: curl --proxy "socks5h://${tor_identity}@${TorIp}:${torPort}" --connect-timeout 60 --compressed --globoff "$@"
./mad.sh:399:tor_curl_upload() {
./mad.sh:400: if [ "${UseTorCurlImpersonate}" == "true" ]; then
./mad.sh:402: "${curl_impersonate[@]}" --proxy "socks5h://${tor_identity}@${TorIp}:${torPort}" --connect-timeout ${ConnectTimeout} --speed-limit $UploadSpeedMin --speed-time $UploadTimeoutInterval --compressed --globoff "$@"
./mad.sh:404: "${curl_impersonate[@]}" --proxy "socks5h://${tor_identity}@${TorIp}:${torPort}" --connect-timeout ${ConnectTimeout} --compressed --globoff "$@"
./mad.sh:408: curl --proxy "socks5h://${tor_identity}@${TorIp}:${torPort}" --connect-timeout ${ConnectTimeout} --speed-limit $UploadSpeedMin --speed-time $UploadTimeoutInterval -H 'User-Agent: Mozilla/5.0 (Windows NT 10.0; rv:109.0) Gecko/20100101 Firefox/115.0' -H 'Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8' -H 'Accept-Language: en-US,en;q=0.5' -H 'Accept-Encoding: gzip, deflate, br' -H 'Origin: null' -H 'Connection: keep-alive' -H 'Upgrade-Insecure-Requests: 1' -H 'Sec-Fetch-Dest: document' -H 'Sec-Fetch-Mode: navigate' -H 'Sec-Fetch-Site: cross-site' -H 'Sec-Fetch-User: ?1' -H 'TE: trailers' --compressed --globoff "$@"
./mad.sh:410: curl --proxy "socks5h://${tor_identity}@${TorIp}:${torPort}" --connect-timeout ${ConnectTimeout} -H 'User-Agent: Mozilla/5.0 (Windows NT 10.0; rv:109.0) Gecko/20100101 Firefox/115.0' -H 'Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8' -H 'Accept-Language: en-US,en;q=0.5' -H 'Accept-Encoding: gzip, deflate, br' -H 'Origin: null' -H 'Connection: keep-alive' -H 'Upgrade-Insecure-Requests: 1' -H 'Sec-Fetch-Dest: document' -H 'Sec-Fetch-Mode: navigate' -H 'Sec-Fetch-Site: cross-site' -H 'Sec-Fetch-User: ?1' -H 'TE: trailers' --compressed --globoff "$@"
./mad.sh:1268:install_curl_impersonate() {
./mad.sh:1270: echo -e "${BLUE}lwthiker curl_impersonate${NC} is the original dev, but it is relatively inactive."
./mad.sh:1271: echo -e "- Currently uses curl v8.1.1."
./mad.sh:1275: echo -e "${BLUE}lexiforest curl_impersonate${NC} is an active fork of curl_impersonate."
./mad.sh:1276: echo -e "+ Currently uses curl v8.7.1"
./mad.sh:1280: PS3='Please select which curl_impersonate to install: '
./mad.sh:1288: install_curl_impersonate_lwthiker_orig
./mad.sh:1292: install_curl_impersonate_lexiforest_fork
./mad.sh:1302:install_curl_impersonate_lwthiker_orig() {
./mad.sh:1306: echo -e "${BLUE}lwthiker curl_impersonate${NC} is the original curl_impersonate."
./mad.sh:1307: echo -e "+ Currently uses curl v8.1.1, and has low activity for updates"
./mad.sh:1310: echo -e "${GREEN}| Fetching:${NC} latest ${BLUE}lwthiker curl_impersonate${NC} info from github...${NC}"
./mad.sh:1313: response=$(tor_curl_request --insecure -L -s https://github.com/lwthiker/curl-impersonate/releases/latest)
./mad.sh:1315: debugHtml "github" "lbf_inst_curlimp$j" "$response"
./mad.sh:1318: latestTag=$(grep -oPi -m 1 '(?<=/curl-impersonate/releases/tag/).*?(?=")' <<< "$response")
./mad.sh:1328: yes_or_no "Do you wish to download and extract curl_impersonate $latestTag (using tor+curl)?" && {
./mad.sh:1330: download_url='https://github.com/lwthiker/curl-impersonate/releases/download/'"$latestTag"'/curl-impersonate-'"$latestTag"'.x86_64-linux-gnu.tar.gz'
./mad.sh:1333: file_header=$(tor_curl_request --insecure --head -Ls "$download_url")
./mad.sh:1335: debugHtml "github" "head_inst_curlimp$j" "${file_header}"
./mad.sh:1383: tor_curl_request --insecure -L "$download_url" --continue-at - --output "$file_path"
./mad.sh:1412: echo -e "| Extracting curl_impersonate..."
./mad.sh:1414: rm -f "${ScriptDir}"/curl*
./mad.sh:1415: mv "$extract_location/curl-impersonate-ff" "${ScriptDir}/"
./mad.sh:1416: mv "$extract_location/curl_ff109" "${ScriptDir}/"
./mad.sh:1417: echo -e "${GREEN}| Done.${NC} Update ${BLUE}\"UseTorCurlImpersonate=true\"${NC} in script to use..."
./mad.sh:1425:install_curl_impersonate_lexiforest_fork() {
./mad.sh:1429: echo -e "${BLUE}lexiforest curl_impersonate${NC} is an active fork of curl_impersonate."
./mad.sh:1430: echo -e "+ Currently uses curl v8.7.1, and is patched for latest CVEs"
./mad.sh:1433: echo -e "${GREEN}| Fetching:${NC} latest ${BLUE}lexiforest curl_impersonate fork${NC} info from github...${NC}"
./mad.sh:1436: response=$(tor_curl_request --insecure -L -s https://github.com/lexiforest/curl-impersonate/releases/latest)
./mad.sh:1438: debugHtml "github" "lbf_inst_curlimp$j" "$response"
./mad.sh:1441: latestTag=$(grep -oPi -m 1 '(?<=/curl-impersonate/releases/tag/).*?(?=")' <<< "$response")
./mad.sh:1451: yes_or_no "Do you wish to download and extract curl_impersonate $latestTag (using tor+curl)?" && {
./mad.sh:1453: download_url='https://github.com/lexiforest/curl-impersonate/releases/download/'"$latestTag"'/curl-impersonate-'"$latestTag"'.x86_64-linux-gnu.tar.gz'
./mad.sh:1456: file_header=$(tor_curl_request --insecure --head -Ls "$download_url")
./mad.sh:1458: debugHtml "github" "head_inst_curlimp$j" "${file_header}"
./mad.sh:1506: tor_curl_request --insecure -L "$download_url" --continue-at - --output "$file_path"
./mad.sh:1535: echo -e "| Extracting curl_impersonate..."
./mad.sh:1537: rm -f "${ScriptDir}"/curl*
./mad.sh:1538: mv "$extract_location/curl-impersonate-chrome" "${ScriptDir}/"
./mad.sh:1539: mv "$extract_location/curl_chrome124" "${ScriptDir}/"
./mad.sh:1540: echo -e "${GREEN}| Done.${NC} Update ${BLUE}\"UseTorCurlImpersonate=true\"${NC} in script to use..."
./mad.sh:1702: echo -e ":${NC} ${GREEN}MAD${PINK} Audit${NC} : Reports usage of http & curl in scripts${PINK}${BLD} :"
./mad.sh:1710: maud_curl=$(grep -n -vxE '[[:blank:]]*([#].*)?' $fil | grep --color='always' -Ei 'curl')
./mad.sh:1711: maud_torcurl=$(grep -n -vxE '[[:blank:]]*([#].*)?' $fil | grep -A 12 --color='always' -Ei 'tor_curl')
./mad.sh:1720: echo -e "${PINK}MAD Audit of curl:${NC} (${GREEN}grep \"curl\"${NC})"
./mad.sh:1722: echo -e "$maud_curl"
./mad.sh:1724: echo -e "${PINK}MAD Audit of tor_curl (+12 lines after):${NC} (${GREEN}grep \"tor_curl\"${NC})"
./mad.sh:1726: echo -e "$maud_torcurl"
./mad.sh:1738: maud_curl=$(grep -n -vxE '[[:blank:]]*([#].*)?' $fil | grep --color='always' -Ei 'curl')
./mad.sh:1739: maud_torcurl=$(grep -n -vxE '[[:blank:]]*([#].*)?' $fil | grep -A 12 --color='always' -Ei 'tor_curl')
./mad.sh:1748: echo -e "${PINK}MAD Audit of curl:${NC} (${GREEN}grep \"curl \"${NC})"
./mad.sh:1750: echo -e "$maud_curl"
./mad.sh:1752: echo -e "${PINK}MAD Audit of tor_curl (+12 lines after):${NC} (${GREEN}grep \"tor_curl\"${NC})"
./mad.sh:1754: echo -e "$maud_torcurl"
./mad.sh:1760: maud_curl=$(grep -n -vxE '[[:blank:]]*([#].*)?' $fil | grep --color='always' -Ei 'curl')
./mad.sh:1761: maud_torcurl=$(grep -n -vxE '[[:blank:]]*([#].*)?' $fil | grep -A 12 --color='always' -Ei 'tor_curl')
./mad.sh:1770: echo -e "${PINK}MAD Audit of curl:${NC} (${GREEN}grep \"curl\"${NC})"
./mad.sh:1772: echo -e "$maud_curl"
./mad.sh:1774: echo -e "${PINK}MAD Audit of tor_curl (+12 lines after):${NC} (${GREEN}grep \"tor_curl\"${NC})"
./mad.sh:1776: echo -e "$maud_torcurl"
./mad.sh:2723: if [ "${UseTorCurlImpersonate}" == "true" ]; then
./mad.sh:2724: printf "client: ${GREEN}Tor${NC} + ${BLUE}curl_impersonate${NC}\\n"
./mad.sh:2726: printf "client: ${GREEN}Tor${NC} + ${GREEN}curl${NC}\\n"
./mad.sh:2898: if [ "${UseTorCurlImpersonate}" == "true" ]; then
./mad.sh:2899: printf "client: ${GREEN}Tor${NC} + ${BLUE}curl_impersonate${NC}\\n"
./mad.sh:2901: printf "client: ${GREEN}Tor${NC} + ${GREEN}curl${NC}\\n"
./mad.sh:3099: file_header=$(tor_curl_request --insecure -m 8 -s -D - -o /dev/null \
./mad.sh:3106: file_header=$(tor_curl_request --insecure --head -H "Connection: keep-alive" -L -s -i "$download_url" |
./mad.sh:3234: tor_curl_request --insecure -L --referer "$file_url" "$download_url" --output "$file_path"
./mad.sh:3278: tor_curl_request --insecure -L --speed-limit $DownloadSpeedMin --speed-time $DownloadTimeoutInterval "$download_url" --continue-at - --output "$file_path"
./mad.sh:3280: tor_curl_request --insecure -L --referer "$file_url" "$download_url" --continue-at - --output "$file_path"
./mad.sh:3453:if [ "${UseTorCurlImpersonate}" == "true" ]; then
./mad.sh:3454: curl_impersonate=()
./mad.sh:3455: readarray -d $'' arrFiles < <(find "$ScriptDir" -maxdepth 1 -name "curl_*" -printf '%p\n' | sort -Vk1)
./mad.sh:3456: bFoundCurlHeader=false
./mad.sh:3460: curl_impersonate=($fil)
./mad.sh:3461: bFoundCurlHeader=true
./mad.sh:3465: if [ "$bFoundCurlHeader" == "false" ]; then
./mad.sh:3466: echo -e "${RED}[ERROR] Missing dependency \"curl-impersonate\"!${NC}"
./mad.sh:3469: echo -e "You'll need to download ${GREEN}\"curl-impersonate\"${NC}."
./mad.sh:3472: echo -e "The latest binary can be obtained on GitHub, search for \"curl-impersonate\""
./mad.sh:3474: echo -e " 1. Visit the page of curl-impersonate and add \"/releases/latest/\" at end of URL."
./mad.sh:3478: echo -e " 4. Download archive ${GREEN}\"curl-impersonate-vX.Y.Z.x86_64-linux-gnu.tar.gz\"${YELLOW}."
./mad.sh:3479: echo -e " 5. Extract files ${GREEN}\"curl-impersonate-ff\"${NC} and ${GREEN}\"curl_ff109\"${NC} next to this script."
./mad.sh:3482: echo -e "run $0 install_curl_impersonate\\n"
./mad.sh:3484: yes_or_no "Do you wish to download and extract latest curl_impersonate (using tor+curl)?" && {
./mad.sh:3485: UseTorCurlImpersonate=false
./mad.sh:3486: install_curl_impersonate
./mad.sh:3570: echo -e "[${YELLOW}Install curl_impersonate${NC}]: Downloads the latest binary for curl_impersonate from github repo (3 choices)"
./mad.sh:3571: printf " %s install_curl_impersonate\\n" "$0"
./mad.sh:3649:elif [[ "$arg1" == "install_curl_impersonate" ]]; then
./mad.sh:3650: install_curl_impersonate
./mad.sh:3681:if [ "${UseTorCurlImpersonate}" == "true" ]; then
./mad.sh:3682: printf "client: ${GREEN}Tor${NC} + ${BLUE}curl_impersonate${NC}\\n"
./mad.sh:3684: printf "client: ${GREEN}Tor${NC} + ${GREEN}curl${NC}\\n"
./plugins/pjscloud.sh:44: if [ "${UseTorCurlImpersonate}" == "true" ]; then
./plugins/pjscloud.sh:45: response=$("${curl_impersonate[@]}" --proxy "socks5h://${tor_identity}@${TorIp}:${torPort}" \
./plugins/pjscloud.sh:53: response=$(curl --proxy "socks5h://${tor_identity}@${TorIp}:${torPort}" \

View file

@ -1,4 +1,4 @@
DateTime: 24.11.07
DateTime: 24.11.18
Files:
./hosts/1fichier.sh
@ -21,6 +21,8 @@ Files:
./hosts/eternalhosting.sh
./hosts/examples/ExampleNewHost.sh
./hosts/examples/up_example.sh
./hosts/familleflender.sh
./hosts/fileditch.sh
./hosts/filedoge.sh
./hosts/filedot.sh
./hosts/filehaus.sh
@ -44,9 +46,11 @@ Files:
./hosts/pixeldrain.sh
./hosts/ranoz.sh
./hosts/shareonline.sh
./hosts/skrepr.sh
./hosts/soyjak.sh
./hosts/tempfileme.sh
./hosts/tempsh.sh
./hosts/torup.sh
./hosts/turboonion.sh
./hosts/up2share.sh
./hosts/uploadee.sh
@ -65,6 +69,8 @@ Files:
./hosts/up_dbree.sh
./hosts/up_depotkaz.sh
./hosts/up_dosya.sh
./hosts/up_familleflender.sh
./hosts/up_fileditch.sh
./hosts/up_filehaus.sh
./hosts/up_filesquid.sh
./hosts/up_firestorage.sh
@ -80,13 +86,18 @@ Files:
./hosts/up_netlib.sh
./hosts/up_nippy.sh
./hosts/up_nofile.sh
./hosts/up_offshorecat.sh
./hosts/up_oshi.sh
./hosts/up_pixeldrain.sh
./hosts/up_ranoz.sh
./hosts/up_shareonline.sh
./hosts/up_skrepr.sh
./hosts/up_soyjak.sh
./hosts/up_tempfileme.sh
./hosts/up_tempsh.sh
./hosts/up_torup.sh
./hosts/up_turboonion.sh
./hosts/up_uploadee.sh
./hosts/up_uploadev.sh
./hosts/up_uploadflix.sh
./hosts/up_uploadhive.sh
@ -106,7 +117,7 @@ Files:
MAD Audit of http lines: (grep "http:" or "https:")
_________________________________________________________________________
./hosts/1fichier.sh:161: if ! grep -Eqi "https://" <<< "${target_file_link}" > /dev/null ; then
./hosts/1fichier.sh:166: if ! grep -Eqi "https://" <<< "${target_file_link}" > /dev/null ; then
./hosts/9saves.sh:141: --data "$form_data" "https://9saves.com/")
./hosts/anonsharing.sh:95: "https://anonsharing.com/account/ajax/file_details")
./hosts/anonsharing.sh:121: if grep -Eqi 'openUrl\('"'"'https:\\/\\/anonsharing.com\\/' <<< "$response"; then
@ -156,29 +167,30 @@ _________________________________________________________________________
./hosts/hexload.sh:122: response=$(tor_curl_request --insecure -s --data "$form_data" "https://hexload.com/download")
./hosts/innocent.sh:48: download_url="${download_url/https:/http:}"
./hosts/kraken.sh:155: kraken_action="https://krakenfiles.com/download/${kraken_action##*/}"
./hosts/nippy.sh:162: download_url="https:"$(grep -oP '(?<=<h2><a href='\'').*(?='\'' class=)' <<< "$response")
./hosts/nippy.sh:231: cdn_url="https:"$(grep -oP '(?<=location: ).*$' <<< "$file_header")
./hosts/nippy.sh:160: download_url="https:"$(grep -oP '(?<=<h2><a href='\'').*(?='\'' class=)' <<< "$response")
./hosts/nippy.sh:229: cdn_url="https:"$(grep -oP '(?<=location: ).*$' <<< "$file_header")
./hosts/pixeldrain.sh:94: response=$(tor_curl_request --insecure -L -s "https://pixeldrain.com/u/$fileid")
./hosts/pixeldrain.sh:159: resp_pump=$(pjscloud_tor_request "https://pixeldrain.com/u/$fileid")
./hosts/pixeldrain.sh:250: pdheadurl="https://pixeldrain.com/api/file/${fileid}"
./hosts/pixeldrain.sh:252: pdheadurl="https://pd.cybar.xyz/$fileid"
./hosts/pixeldrain.sh:272: download_url="https://pixeldrain.com/api/file/${fileid}"
./hosts/tempfileme.sh:137: if grep -Eqi 'id="download-button" href="http://tempfile.me/file/' <<< "$response"; then
./hosts/tempfileme.sh:139: download_url="${download_url/http:/https:}"
./hosts/tempfileme.sh:179: if grep -Eqi 'location: https://' <<< "${file_header}" ; then
./hosts/tempfileme.sh:144: if grep -Eqi 'id="download-button" href="http://tempfile.me/file/' <<< "$response"; then
./hosts/tempfileme.sh:146: download_url="${download_url/http:/https:}"
./hosts/tempfileme.sh:186: if grep -Eqi 'location: https://' <<< "${file_header}" ; then
./hosts/torup.sh:81: fixed_url="${remote_url/https:/http:}"
./hosts/up2share.sh:120: download_url="http://up2sha.re/files/"$(grep -oPi '(?<=href="/files/).*?(?=")' <<< "$response")
./hosts/up2share.sh:173: download_url="http://up2sha.re"$(grep -oPi '(?<=start automatically, <a href=").*?(?=">click here</a>)' <<< "$response")
./hosts/up2share.sh:173: download_url="https://up2sha.re"$(grep -oPi '(?<=start automatically, <a href=").*?(?=">click here</a>)' <<< "$response")
./hosts/up2share.sh:197: --referer "https://up2sha.re/" "$download_url")
./hosts/up2share.sh:317: --referer "https://up2sha.re/" \
./hosts/up2share.sh:323: --referer "https://up2sha.re/" \
./hosts/up2share.sh:343: --referer "https://up2sha.re/" \
./hosts/up2share.sh:360: --referer "https://up2sha.re/" \
./hosts/up2share.sh:318: --referer "https://up2sha.re/" \
./hosts/up2share.sh:324: --referer "https://up2sha.re/" \
./hosts/up2share.sh:344: --referer "https://up2sha.re/" \
./hosts/up2share.sh:361: --referer "https://up2sha.re/" \
./hosts/up_1fichier.sh:107: response=$(tor_curl_request --insecure -L -s "https://1fichier.com/")
./hosts/up_1fichier.sh:109: debugHtml "${filepath##*/}" "${_hostCode}_up_getid_$i" "url: https://1fichier.com/"$'\n'"${response}"
./hosts/up_1fichier.sh:176: fichHost="${fichaction/https:\/\///}"
./hosts/up_1fichier.sh:195: hash=$(grep -oPi '(?<=<td class="normal"><a href="https://1fichier.com/\?).*?(?=")' <<< "$response")
./hosts/up_acid.sh:91: PostUrlHost='https://dl.acid.fr/script.php'
./hosts/up_acid.sh:106: downloadLink="https://dl.acid.fr/f.php?h=${hash}&p=1"
./hosts/up_acid.sh:99: PostUrlHost='https://dl.acid.fr/script.php'
./hosts/up_acid.sh:114: downloadLink="https://dl.acid.fr/f.php?h=${hash}&p=1"
./hosts/up_anarchaserver.sh:99: PostUrlHost='https://transitional.anarchaserver.org/jirafeau/script.php'
./hosts/up_anarchaserver.sh:114: downloadLink="https://transitional.anarchaserver.org/jirafeau/f.php?h=${hash}&p=1"
./hosts/up_anonsharing.sh:99: PostUrlHost='https://anonsharing.com/ajax/file_upload_handler?r=anonsharing.com'
@ -210,10 +222,15 @@ _________________________________________________________________________
./hosts/up_depotkaz.sh:114: downloadLink="https://depot.kaz.bzh/f.php?h=${hash}&p=1"
./hosts/up_dosya.sh:99: local ar_HUP[0]='https://dl4.lim1.dosyaupload.com/core/page/ajax/file_upload_handler.ajax.php?r=www.dosyaupload.com'
./hosts/up_dosya.sh:100: local ar_HUP[1]='https://dl3.lim1.dosyaupload.com/core/page/ajax/file_upload_handler.ajax.php?r=www.dosyaupload.com'
./hosts/up_familleflender.sh:99: PostUrlHost='https://famille-flender.fr/jirafeau/script.php'
./hosts/up_familleflender.sh:114: downloadLink="https://famille-flender.fr/f.php?h=${hash}&p=1"
./hosts/up_fileditch.sh:99: PostUrlHost='https://up1.fileditch.com/upload.php'
./hosts/up_filehaus.sh:99: local ar_HUP[0]='https://filehaus.su/api/upload/'
./hosts/up_filehaus.sh:116: hash=$(grep -oPi '(?<=https://gofile.io/d/).*?(?=")' <<< "$response")
./hosts/up_filesquid.sh:99: PostUrlHost='https://filesquid.net/script.php'
./hosts/up_filesquid.sh:114: downloadLink="https://filesquid.net/f.php?h=${hash}&p=1"
./hosts/up_filehaus.sh:114: if grep -Eqi 'HTTP/.* 200|https://cdn' <<< "${response}" ; then
./hosts/up_filehaus.sh:115: url=$(grep -oPi '(?<=https://).*(?=\.filehaus\.su).*?(?=$)' <<< "$response")
./hosts/up_filehaus.sh:117: downloadLink="https://${url}"
./hosts/up_filesquid.sh:101: PostUrlHost='https://filesquid.net/script.php'
./hosts/up_filesquid.sh:130: downloadLink="https://filesquid.net/f.php?h=${hash}&p=1"
./hosts/up_firestorage.sh:99: local ar_HUP[0]='https://server65.firestorage.jp/upload.cgi'
./hosts/up_firestorage.sh:100: local ar_HUP[1]='https://server62.firestorage.jp/upload.cgi'
./hosts/up_firestorage.sh:101: local ar_HUP[2]='https://server39.firestorage.jp/upload.cgi'
@ -228,8 +245,8 @@ _________________________________________________________________________
./hosts/up_gofile.sh:102: response=$(tor_curl_request --insecure -L -s "https://api.gofile.io/servers")
./hosts/up_gofile.sh:114: local ar_HUP[0]="https://$gofileStoreServer.gofile.io/contents/uploadFile"
./hosts/up_gofile.sh:138: hash=$(grep -oPi '(?<=https://gofile.io/d/).*?(?=")' <<< "$response")
./hosts/up_harrault.sh:91: PostUrlHost='https://files.harrault.fr/script.php'
./hosts/up_harrault.sh:106: downloadLink="https://files.harrault.fr/f.php?h=${hash}&p=1"
./hosts/up_harrault.sh:98: PostUrlHost='https://files.harrault.fr/script.php'
./hosts/up_harrault.sh:113: downloadLink="https://files.harrault.fr/f.php?h=${hash}&p=1"
./hosts/up_hexload.sh:99: local ar_HUP[0]='https://2749516302390866935275651.agrachimp.xyz/cgi-bin/upload.cgi?upload_type=file&amp;utype=anon'
./hosts/up_hexload.sh:100: local ar_HUP[1]='https://077421022372868.historytotell.art/cgi-bin/upload.cgi?upload_type=file&amp;utype=anon'
./hosts/up_hexload.sh:101: local ar_HUP[2]='https://hetbuild860092.takeplcdn.art/cgi-bin/upload.cgi?upload_type=file&amp;utype=anon'
@ -271,19 +288,35 @@ _________________________________________________________________________
./hosts/up_nippy.sh:116: local ar_HUP[3]='https://ns03.zipcluster.com/upload.php' # nippyspace
./hosts/up_nippy.sh:117: local ar_HUP[4]='https://ns02.zipcluster.com/upload.php' # nippyfile
./hosts/up_nofile.sh:99: PostUrlHost='https://ns06.zipcluster.com/upload.php'
./hosts/up_offshorecat.sh:99: PostUrlHost='https://files.offshore.cat/api/upload'
./hosts/up_offshorecat.sh:112: if grep -Eqi '"url":"https://files.offshore.cat/' <<< "${response}" ; then
./hosts/up_offshorecat.sh:113: hash=$(grep -oPi '(?<="url":"https://files.offshore.cat/).*?(?=".*$)' <<< "$response")
./hosts/up_offshorecat.sh:115: downloadLink="https://files.offshore.cat/${hash}"
./hosts/up_oshi.sh:104: PostUrlHost='https://oshi.at/'
./hosts/up_oshi.sh:106: PostUrlHost='http://5ety7tpkim5me6eszuwcje7bmy25pbtrjtue7zkqqgziljwqy3rrikqd.onion/'
./hosts/up_pixeldrain.sh:107: PostUrlHost='https://pixeldrain.com/api/file'
./hosts/up_pixeldrain.sh:137: downloadLink="https://pixeldrain.com/u/${hash}"
./hosts/up_ranoz.sh:99: PostUrlHost='https://ranoz.gg/api/v1/files/upload_url'
./hosts/up_ranoz.sh:111: if grep -Eqi '"upload_url":"https://' <<< "$response" ; then
./hosts/up_shareonline.sh:99: PostUrlHost='https://ns07.zipcluster.com/upload.php'
./hosts/up_skrepr.sh:91: PostUrlHost='https://transfer.skrepr.com/script.php'
./hosts/up_skrepr.sh:106: downloadLink="https://transfer.skrepr.com/f.php?h=${hash}&p=1"
./hosts/up_soyjak.sh:99: PostUrlHost='https://soyjak.download/script.php'
./hosts/up_soyjak.sh:114: downloadLink="https://soyjak.download/f.php?h=${hash}&p=1"
./hosts/up_tempfileme.sh:99: PostUrlHost='https://tempfile.me/upload'
./hosts/up_tempsh.sh:99: PostUrlHost='https://temp.sh/upload'
./hosts/up_tempsh.sh:111: hash=$(grep -oPi '(?<=http://temp.sh/).*?(?=$)' <<< "$response")
./hosts/up_tempsh.sh:113: downloadLink="https://temp.sh/${hash}"
./hosts/up_torup.sh:99: PostUrlHost='http://ktgzpea2b76u7fgemiibp4a76onyybo4fw5gbsagtm6jrjzmgivppyyd.onion/upload'
./hosts/up_torup.sh:110: "http://ktgzpea2b76u7fgemiibp4a76onyybo4fw5gbsagtm6jrjzmgivppyyd.onion")
./hosts/up_torup.sh:151: -H "Referer: http://ktgzpea2b76u7fgemiibp4a76onyybo4fw5gbsagtm6jrjzmgivppyyd.onion.tor.my/" \
./hosts/up_torup.sh:152: -H "Origin: http://ktgzpea2b76u7fgemiibp4a76onyybo4fw5gbsagtm6jrjzmgivppyyd.onion" \
./hosts/up_torup.sh:162: if grep -Eqi 'input type="text" value="http://ktgzpea2b76u7fgemiibp4a76onyybo4fw5gbsagtm6jrjzmgivppyyd.onion/download/' <<< "${response}" ; then
./hosts/up_turboonion.sh:96: PostUrlHost='http://3qeyzgtujhguzjletcz34qxsiqoymlni6s6rhc37kpobyttzngwlzjid.onion/api/upload'
./hosts/up_turboonion.sh:118: downloadLink='http://3qeyzgtujhguzjletcz34qxsiqoymlni6s6rhc37kpobyttzngwlzjid.onion/dl/file/'"$hash"
./hosts/up_uploadee.sh:106: response=$(tor_curl_request --insecure -L -s "https://www.upload.ee/ubr_link_upload.php")
./hosts/up_uploadee.sh:108: debugHtml "${filepath##*/}" "${_hostCode}_up_getid_$i" "url: https://www.upload.ee/ubr_link_upload.php"$'\n'"${response}"
./hosts/up_uploadee.sh:173: PostUrlHost="https://www.upload.ee/cgi-bin/ubr_upload.pl?upload_id=$upee_uploadid"
./hosts/up_uploadev.sh:99: PostUrlHost='https://fs8.uploadev.org/cgi-bin/upload.cgi?upload_type=file&amp;utype=anon'
./hosts/up_uploadev.sh:119: downloadLink="https://uploadev.org/${hash}"
./hosts/up_uploadflix.sh:99: local ar_HUP[0]='https://fs50.uploadflix.cyou/cgi-bin/upload.cgi?upload_type=file&amp;utype=anon'
@ -293,74 +326,74 @@ _________________________________________________________________________
./hosts/up_uploadraja.sh:99: PostUrlHost='https://awsaisiaposisition69.kalpstudio.xyz/cgi-bin/upload.cgi?upload_type=file&utype=anon'
./hosts/up_uploadraja.sh:119: downloadLink="https://uploadraja.com/$hash"
./hosts/up_yolobit.sh:99: PostUrlHost='https://ns08.zipcluster.com/upload.php'
./mad.sh:606: sed -i -e "s>^${url/https:/http:}.*>#& #OK# ${filename}>g" "${InputFile}" #http (if changed)
./mad.sh:608: sed -i -e "s>^direct=${url/https:/http:}.*>#& #OK# ${filename}>g" "${InputFile}" #direct url https
./mad.sh:611: sed -i -e "s>^${url/https:/http:}.*>#&>g" "${InputFile}" #http (if changed)
./mad.sh:613: sed -i -e "s>^direct=${url/https:/http:}.*>#&>g" "${InputFile}" #direct url https
./mad.sh:634: sed -i -e "s>^${url/https:/http:}.*>#& #OK# ${filename} (File exists)>g" "${InputFile}" #http (if changed)
./mad.sh:636: sed -i -e "s>^direct=${url/https:/http:}.*>#& #OK# ${filename} (File exists)>g" "${InputFile}" #direct url https
./mad.sh:639: sed -i -e "s>^${url/https:/http:}.*>#&>g" "${InputFile}" #http (if changed)
./mad.sh:641: sed -i -e "s>^direct=${url/https:/http:}.*>#&>g" "${InputFile}" #direct url https
./mad.sh:662: sed -i -e "s>^${url/https:/http:}.*>#& #RETRY# ${message}>g" "${InputFile}" #http (if changed)
./mad.sh:664: sed -i -e "s>^direct=${url/https:/http:}.*>#& #RETRY# ${message}>g" "${InputFile}" #direct url https
./mad.sh:667: sed -i -e "s>^${url/https:/http:}.*>#&>g" "${InputFile}" #http (if changed)
./mad.sh:669: sed -i -e "s>^direct=${url/https:/http:}.*>#&>g" "${InputFile}" #direct url https
./mad.sh:691: sed -i -e "s>^${url/https:/http:}.*>#& #FAIL# $message>g" "${InputFile}" #http (if changed)
./mad.sh:693: sed -i -e "s>^direct=${url/https:/http:}.*>#& #FAIL# $message>g" "${InputFile}" #direct url https
./mad.sh:696: sed -i -e "s>^${url/https:/http:}.*>#&>g" "${InputFile}" #http (if changed)
./mad.sh:698: sed -i -e "s>^direct=${url/https:/http:}.*>#&>g" "${InputFile}" #direct url https
./mad.sh:719: sed -i -e "s>^${url/https:/http:}.*>#& #REMOVED#>g" "${InputFile}" #http (if changed)
./mad.sh:721: sed -i -e "s>^direct=${url/https:/http:}.*>#& #REMOVED#>g" "${InputFile}" #direct url https
./mad.sh:724: sed -i -e "s>^${url/https:/http:}.*>#&>g" "${InputFile}" #http (if changed)
./mad.sh:726: sed -i -e "s>^direct=${url/https:/http:}.*>#&>g" "${InputFile}" #direct url https
./mad.sh:752: sed -i -e "s>^${url/https:/http:}.*>${url}|${newfilename}>g" "${InputFile}" #http (if changed)
./mad.sh:754: sed -i -e "s>^direct=${url/https:/http:}.*>direct=${url}|${newfilename}>g" "${InputFile}" #direct url https
./mad.sh:779: sed -i -e "s>^${url/https:/http:}.*>#& #RETRY# ${filename} (dropped or bad size)>g" "${InputFile}" #http (if changed)
./mad.sh:781: sed -i -e "s>^direct=${url/https:/http:}.*>#& #RETRY# ${filename} (dropped or bad size)>g" "${InputFile}" #direct url https
./mad.sh:784: sed -i -e "s>^${url/https:/http:}.*>#&>g" "${InputFile}" #http (if changed)
./mad.sh:786: sed -i -e "s>^direct=${url/https:/http:}.*>#&>g" "${InputFile}" #direct url https
./mad.sh:802: sed -i -e "s>^${url/https:/http:}.*>#& #RETRY# (No CDN found)>g" "${InputFile}" #http (if changed)
./mad.sh:804: sed -i -e "s>^direct=${url/https:/http:}.*>#& #RETRY# (No CDN found)>g" "${InputFile}" #direct url https
./mad.sh:807: sed -i -e "s>^${url/https:/http:}.*>#&>g" "${InputFile}" #http (if changed)
./mad.sh:809: sed -i -e "s>^direct=${url/https:/http:}.*>#&>g" "${InputFile}" #direct url https
./mad.sh:828: sed -i -e "s>^${url/https:/http:}.*>#& #PASSWORD#>g" "${InputFile}" #http (if changed)
./mad.sh:830: sed -i -e "s>^direct=${url/https:/http:}.*>#& #PASSWORD#>g" "${InputFile}" #direct url https
./mad.sh:833: sed -i -e "s>^${url/https:/http:}.*>#&>g" "${InputFile}" #http (if changed)
./mad.sh:835: sed -i -e "s>^direct=${url/https:/http:}.*>#&>g" "${InputFile}" #direct url https
./mad.sh:855: sed -i -e "s>^${url/https:/http:}.*>#& #BAD-URL#${message}>g" "${InputFile}" #http (if changed)
./mad.sh:857: sed -i -e "s>^direct=${url/https:/http:}.*>#& #BAD-URL#${message}>g" "${InputFile}" #direct url https
./mad.sh:860: sed -i -e "s>^${url/https:/http:}.*>#&>g" "${InputFile}" #http (if changed)
./mad.sh:862: sed -i -e "s>^direct=${url/https:/http:}.*>#&>g" "${InputFile}" #direct url https
./mad.sh:880: sed -i -e "s>^${url/https:/http:}.*>#& #RETRY# ${filename} (No filename or size. Try again later)>g" "${InputFile}" #http (if changed)
./mad.sh:882: sed -i -e "s>^direct=${url/https:/http:}.*>#& #RETRY# ${filename} (No filename or size. Try again later)>g" "${InputFile}" #direct url https
./mad.sh:885: sed -i -e "s>^${url/https:/http:}.*>#&>g" "${InputFile}" #http (if changed)
./mad.sh:887: sed -i -e "s>^direct=${url/https:/http:}.*>#&>g" "${InputFile}" #direct url https
./mad.sh:906: sed -i -e "s>^${url/https:/http:}.*>#& #RETRY# ${filename} (File exists and is too large--retry or delete from downloads)>g" "${InputFile}" #http (if changed)
./mad.sh:908: sed -i -e "s>^direct=${url/https:/http:}.*>#& #RETRY# ${filename} (File exists and is too large--retry or delete from downloads)>g" "${InputFile}" #direct url https
./mad.sh:911: sed -i -e "s>^${url/https:/http:}.*>#&>g" "${InputFile}" #http (if changed)
./mad.sh:913: sed -i -e "s>^direct=${url/https:/http:}.*>#&>g" "${InputFile}" #direct url https
./mad.sh:1328: response=$(tor_curl_request --insecure -L -s https://github.com/lwthiker/curl-impersonate/releases/latest)
./mad.sh:1345: download_url='https://github.com/lwthiker/curl-impersonate/releases/download/'"$latestTag"'/curl-impersonate-'"$latestTag"'.x86_64-linux-gnu.tar.gz'
./mad.sh:1451: response=$(tor_curl_request --insecure -L -s https://github.com/lexiforest/curl-impersonate/releases/latest)
./mad.sh:1468: download_url='https://github.com/lexiforest/curl-impersonate/releases/download/'"$latestTag"'/curl-impersonate-'"$latestTag"'.x86_64-linux-gnu.tar.gz'
./mad.sh:1731: echo -e "${PINK}MAD Audit of http lines:${NC} (${GREEN}grep \"http:\" or \"https:\"${NC})"
./mad.sh:1759: echo -e "${PINK}MAD Audit of http lines:${NC} (${GREEN}grep \"http:\" or \"https:\"${NC})"
./mad.sh:1781: echo -e "${PINK}MAD Audit of http lines:${NC} (${GREEN}grep \"http:\" or \"https:\"${NC})"
./mad.sh:3085: if grep -Eqi '.onion' <<< "$download_url" && grep -Eqi 'https://' <<< "$download_url" ; then
./mad.sh:3495:arg2="$2" # auto, filelist, <https://url>
./mad.sh:3592: echo -e " - http://oshi.at/abcd/origAABB.rar|My specified file.part1.rar"
./mad.sh:3594: echo -e " - direct=http://pomf2.lain.la/f/abcd00zz.7z"
./mad.sh:3596: echo -e ' - ie. direct=http://somehost.onion/abcD|filename.part1.rar'
./mad.sh:3815: if [[ ${remote_url} =~ ^http: ]] ; then
./mad.sh:3816: remote_url=${remote_url/http:/https:}
./mad.sh:3837: if [[ ${remote_url} =~ ^http: ]] ; then
./mad.sh:3838: remote_url=${remote_url/http:/https:}
./mad.sh:4204: if [[ ${remote_url} =~ ^http: ]] ; then
./mad.sh:4205: remote_url=${remote_url/http:/https:}
./mad.sh:4263: if [[ ${remote_url} =~ ^http: ]] ; then
./mad.sh:4264: remote_url=${remote_url/http:/https:}
./mad.sh:4289: if [[ ${remote_url} =~ ^http: ]] ; then
./mad.sh:4290: remote_url=${remote_url/http:/https:}
./mad.sh:620: sed -i -e "s>^${url/https:/http:}.*>#& #OK# ${filename}>g" "${InputFile}" #http (if changed)
./mad.sh:622: sed -i -e "s>^direct=${url/https:/http:}.*>#& #OK# ${filename}>g" "${InputFile}" #direct url https
./mad.sh:625: sed -i -e "s>^${url/https:/http:}.*>#&>g" "${InputFile}" #http (if changed)
./mad.sh:627: sed -i -e "s>^direct=${url/https:/http:}.*>#&>g" "${InputFile}" #direct url https
./mad.sh:648: sed -i -e "s>^${url/https:/http:}.*>#& #OK# ${filename} (File exists)>g" "${InputFile}" #http (if changed)
./mad.sh:650: sed -i -e "s>^direct=${url/https:/http:}.*>#& #OK# ${filename} (File exists)>g" "${InputFile}" #direct url https
./mad.sh:653: sed -i -e "s>^${url/https:/http:}.*>#&>g" "${InputFile}" #http (if changed)
./mad.sh:655: sed -i -e "s>^direct=${url/https:/http:}.*>#&>g" "${InputFile}" #direct url https
./mad.sh:676: sed -i -e "s>^${url/https:/http:}.*>#& #RETRY# ${message}>g" "${InputFile}" #http (if changed)
./mad.sh:678: sed -i -e "s>^direct=${url/https:/http:}.*>#& #RETRY# ${message}>g" "${InputFile}" #direct url https
./mad.sh:681: sed -i -e "s>^${url/https:/http:}.*>#&>g" "${InputFile}" #http (if changed)
./mad.sh:683: sed -i -e "s>^direct=${url/https:/http:}.*>#&>g" "${InputFile}" #direct url https
./mad.sh:705: sed -i -e "s>^${url/https:/http:}.*>#& #FAIL# $message>g" "${InputFile}" #http (if changed)
./mad.sh:707: sed -i -e "s>^direct=${url/https:/http:}.*>#& #FAIL# $message>g" "${InputFile}" #direct url https
./mad.sh:710: sed -i -e "s>^${url/https:/http:}.*>#&>g" "${InputFile}" #http (if changed)
./mad.sh:712: sed -i -e "s>^direct=${url/https:/http:}.*>#&>g" "${InputFile}" #direct url https
./mad.sh:733: sed -i -e "s>^${url/https:/http:}.*>#& #REMOVED#>g" "${InputFile}" #http (if changed)
./mad.sh:735: sed -i -e "s>^direct=${url/https:/http:}.*>#& #REMOVED#>g" "${InputFile}" #direct url https
./mad.sh:738: sed -i -e "s>^${url/https:/http:}.*>#&>g" "${InputFile}" #http (if changed)
./mad.sh:740: sed -i -e "s>^direct=${url/https:/http:}.*>#&>g" "${InputFile}" #direct url https
./mad.sh:766: sed -i -e "s>^${url/https:/http:}.*>${url}|${newfilename}>g" "${InputFile}" #http (if changed)
./mad.sh:768: sed -i -e "s>^direct=${url/https:/http:}.*>direct=${url}|${newfilename}>g" "${InputFile}" #direct url https
./mad.sh:793: sed -i -e "s>^${url/https:/http:}.*>#& #RETRY# ${filename} (dropped or bad size)>g" "${InputFile}" #http (if changed)
./mad.sh:795: sed -i -e "s>^direct=${url/https:/http:}.*>#& #RETRY# ${filename} (dropped or bad size)>g" "${InputFile}" #direct url https
./mad.sh:798: sed -i -e "s>^${url/https:/http:}.*>#&>g" "${InputFile}" #http (if changed)
./mad.sh:800: sed -i -e "s>^direct=${url/https:/http:}.*>#&>g" "${InputFile}" #direct url https
./mad.sh:816: sed -i -e "s>^${url/https:/http:}.*>#& #RETRY# (No CDN found)>g" "${InputFile}" #http (if changed)
./mad.sh:818: sed -i -e "s>^direct=${url/https:/http:}.*>#& #RETRY# (No CDN found)>g" "${InputFile}" #direct url https
./mad.sh:821: sed -i -e "s>^${url/https:/http:}.*>#&>g" "${InputFile}" #http (if changed)
./mad.sh:823: sed -i -e "s>^direct=${url/https:/http:}.*>#&>g" "${InputFile}" #direct url https
./mad.sh:842: sed -i -e "s>^${url/https:/http:}.*>#& #PASSWORD#>g" "${InputFile}" #http (if changed)
./mad.sh:844: sed -i -e "s>^direct=${url/https:/http:}.*>#& #PASSWORD#>g" "${InputFile}" #direct url https
./mad.sh:847: sed -i -e "s>^${url/https:/http:}.*>#&>g" "${InputFile}" #http (if changed)
./mad.sh:849: sed -i -e "s>^direct=${url/https:/http:}.*>#&>g" "${InputFile}" #direct url https
./mad.sh:869: sed -i -e "s>^${url/https:/http:}.*>#& #BAD-URL#${message}>g" "${InputFile}" #http (if changed)
./mad.sh:871: sed -i -e "s>^direct=${url/https:/http:}.*>#& #BAD-URL#${message}>g" "${InputFile}" #direct url https
./mad.sh:874: sed -i -e "s>^${url/https:/http:}.*>#&>g" "${InputFile}" #http (if changed)
./mad.sh:876: sed -i -e "s>^direct=${url/https:/http:}.*>#&>g" "${InputFile}" #direct url https
./mad.sh:894: sed -i -e "s>^${url/https:/http:}.*>#& #RETRY# ${filename} (No filename or size. Try again later)>g" "${InputFile}" #http (if changed)
./mad.sh:896: sed -i -e "s>^direct=${url/https:/http:}.*>#& #RETRY# ${filename} (No filename or size. Try again later)>g" "${InputFile}" #direct url https
./mad.sh:899: sed -i -e "s>^${url/https:/http:}.*>#&>g" "${InputFile}" #http (if changed)
./mad.sh:901: sed -i -e "s>^direct=${url/https:/http:}.*>#&>g" "${InputFile}" #direct url https
./mad.sh:920: sed -i -e "s>^${url/https:/http:}.*>#& #RETRY# ${filename} (File exists and is too large--retry or delete from downloads)>g" "${InputFile}" #http (if changed)
./mad.sh:922: sed -i -e "s>^direct=${url/https:/http:}.*>#& #RETRY# ${filename} (File exists and is too large--retry or delete from downloads)>g" "${InputFile}" #direct url https
./mad.sh:925: sed -i -e "s>^${url/https:/http:}.*>#&>g" "${InputFile}" #http (if changed)
./mad.sh:927: sed -i -e "s>^direct=${url/https:/http:}.*>#&>g" "${InputFile}" #direct url https
./mad.sh:1313: response=$(tor_curl_request --insecure -L -s https://github.com/lwthiker/curl-impersonate/releases/latest)
./mad.sh:1330: download_url='https://github.com/lwthiker/curl-impersonate/releases/download/'"$latestTag"'/curl-impersonate-'"$latestTag"'.x86_64-linux-gnu.tar.gz'
./mad.sh:1436: response=$(tor_curl_request --insecure -L -s https://github.com/lexiforest/curl-impersonate/releases/latest)
./mad.sh:1453: download_url='https://github.com/lexiforest/curl-impersonate/releases/download/'"$latestTag"'/curl-impersonate-'"$latestTag"'.x86_64-linux-gnu.tar.gz'
./mad.sh:1716: echo -e "${PINK}MAD Audit of http lines:${NC} (${GREEN}grep \"http:\" or \"https:\"${NC})"
./mad.sh:1744: echo -e "${PINK}MAD Audit of http lines:${NC} (${GREEN}grep \"http:\" or \"https:\"${NC})"
./mad.sh:1766: echo -e "${PINK}MAD Audit of http lines:${NC} (${GREEN}grep \"http:\" or \"https:\"${NC})"
./mad.sh:3082: if grep -Eqi '.onion' <<< "$download_url" && grep -Eqi 'https://' <<< "$download_url" ; then
./mad.sh:3492:arg2="$2" # auto, filelist, <https://url>
./mad.sh:3589: echo -e " - http://oshi.at/abcd/origAABB.rar|My specified file.part1.rar"
./mad.sh:3591: echo -e " - direct=http://pomf2.lain.la/f/abcd00zz.7z"
./mad.sh:3593: echo -e ' - ie. direct=http://somehost.onion/abcD|filename.part1.rar'
./mad.sh:3812: if [[ ${remote_url} =~ ^http: ]] ; then
./mad.sh:3813: remote_url=${remote_url/http:/https:}
./mad.sh:3834: if [[ ${remote_url} =~ ^http: ]] ; then
./mad.sh:3835: remote_url=${remote_url/http:/https:}
./mad.sh:4201: if [[ ${remote_url} =~ ^http: ]] ; then
./mad.sh:4202: remote_url=${remote_url/http:/https:}
./mad.sh:4260: if [[ ${remote_url} =~ ^http: ]] ; then
./mad.sh:4261: remote_url=${remote_url/http:/https:}
./mad.sh:4286: if [[ ${remote_url} =~ ^http: ]] ; then
./mad.sh:4287: remote_url=${remote_url/http:/https:}
./plugins/pjscloud.sh:51: "https://PhantomJScloud.com/api/browser/v2/$RandomPjsKey/" & sleep 8s; kill -HUP $! 2>/dev/null)
./plugins/pjscloud.sh:59: "https://PhantomJScloud.com/api/browser/v2/$RandomPjsKey/" & sleep 8s; kill -HUP $! 2>/dev/null)

File diff suppressed because it is too large Load diff

View file

@ -11,7 +11,8 @@ Max Size . HostCode . Nickname . Notes
10GB gofile gofile.io ?? expiry
10GB tmpme tempfile.me 3mo expiry (tend to ban 7z faster)
5GB uhive uploadhive
5GB uflix uploadflix.cc 7d inactive expiry
- 5GB uflix uploadflix.cc 7d inactive expiry
5GB fd fileditch.com (.me) ??
5GB oshi oshi.at (.onion) 1000 file hits
4GB offcat offshore.cat ?? expiry
- 4GB bd bedrive.ru ?? expiry
@ -26,6 +27,7 @@ Max Size . HostCode . Nickname . Notes
250MB upev uploadev.org 90d inactive expiry
* 240MB ko kouploader.jp 5mo expiry (240MB max)
150MB torp TorUp.onion 30d inactive expiry
100MB upee upload.ee 50d expiry
100MB bow bowfile.com 20d inactive expiry
100MB yolo yolobit ?? expiry
100MB nofile nofile.org ?? expiry
@ -47,9 +49,10 @@ Max Size . HostCode . Nickname . Notes
195MB dup dataupload.net ?? expiry
100MB nippy nippy* ?? expiry, (file, share, box, drive, space)
100MB dbree dbree.me ?? expiry
?? harr files.harrault.fr ~1mo expiry, jirafrau
?? acid dl.acid.fr ~1mo expiry, no resume, jirafrau
?? fr4e sendfree4e.fr ~1mo expiry, jirafrau
100MB ffl famille-flender ~1mo expiry, jirafrau
100MB harr files.harrault.fr ~1mo expiry, jirafrau
100MB acid dl.acid.fr ~1mo expiry, no resume, jirafrau
100MB fr4e sendfree4e.fr ~1mo expiry, jirafrau
?? skpr skrepr.com ~1mo expiry, jirafrau
@ -59,6 +62,7 @@ daily dailyuploads.net (MAD download failing -- JS required / Google Recaptcha
kraken kraken.com (MAD download failing -- JS required / Google Recaptcha)
hex hexload.com (MAD download failing -- JS required / Google Recaptcha)
bd bedrive.ru (MAD download failing -- JS required / Google Recaptcha)
uflix uploadflix.cc (JS required)
NOTES (*):
----------------
@ -67,4 +71,7 @@ ko kouploader.jp (MAD download not implemented)
axfc axfc.net (MAD download not implemented)
# Jirafraeu hosts:
(recommended upload 100MB splits as many host only support that)

0
hosts/9saves.sh Executable file → Normal file
View file

0
hosts/acid.sh Executable file → Normal file
View file

0
hosts/anarchaserver.sh Executable file → Normal file
View file

0
hosts/anonsharing.sh Executable file → Normal file
View file

0
hosts/bedrive.sh Executable file → Normal file
View file

0
hosts/biteblob.sh Executable file → Normal file
View file

0
hosts/bowfile.sh Executable file → Normal file
View file

0
hosts/click.sh Executable file → Normal file
View file

0
hosts/dailyuploads.sh Executable file → Normal file
View file

0
hosts/dataupload.sh Executable file → Normal file
View file

0
hosts/dbree.sh Executable file → Normal file
View file

0
hosts/depotkaz.sh Executable file → Normal file
View file

0
hosts/discreetshare.sh Executable file → Normal file
View file

0
hosts/dosya.sh Executable file → Normal file
View file

0
hosts/downloadgg.sh Executable file → Normal file
View file

0
hosts/eternalhosting.sh Executable file → Normal file
View file

31
hosts/familleflender.sh Normal file
View file

@ -0,0 +1,31 @@
#! Name: familleflender.sh
#! Author: kittykat
#! Version: 2024.11.15
#! 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='ffl'
HostNick='familleflender'
HostFuncPrefix='direct'
HostUrls='famille-flender.fr'
HostDomainRegex='^(http|https)://(.*\.)?famille-flender\.fr/'
#!
#! !! 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

268
hosts/fileditch.sh Normal file
View file

@ -0,0 +1,268 @@
#! Name: fileditch.sh
#! Author: kittykat
#! Version: 2024.11.18
#! 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='fd'
HostNick='fileditch'
HostFuncPrefix='fd'
HostUrls='fileditch.com, fileditch.me'
HostDomainRegex='^(http|https)://(.*\.)?(fileditch\.com|fileditchstuff.me)/'
#!
#! !! 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()
fd_DownloadFile() {
local remote_url=${1}
local file_url=${1}
local filecnt=${2}
warnAndRetryUnknownError=false
exitDownloadError=false
exitDownloadNotAvailable=false
fileAlreadyDone=false
download_inflight_path="${WorkDir}/.inflight/"
mkdir -p "$download_inflight_path"
completed_location="${WorkDir}/downloads/"
tor_identity="${RANDOM}"
finalAttempt="false"
for ((z=0; z<=$MaxUrlRetries; z++)); do
if [ $z -eq $MaxUrlRetries ] ; then
finalAttempt="true"
fi
CLEANSTRING=${remote_url//[^a-zA-Z0-9]/}
trap "rm -f ${WorkDir}/.flocks/${CLEANSTRING}; echo ""; tput cnorm; exit" 0 1 2 3 6 15
if fd_FetchFileInfo $finalAttempt && fd_GetFile "${filecnt}" $((z+1)) $finalAttempt ; then
return 0
elif [ $z -lt $MaxUrlRetries ]; then
if [ "${fileAlreadyDone}" == "true" ] ; then
break
fi
if [[ "${warnAndRetryUnknownError}" == "true" ]] ; then
if [ "${DebugAllEnabled}" == "true" ] ; then
debugHtml "${remote_url##*/}" "error" "Retry due to an unknown issue: attempt #$((z+1)) of ${MaxUrlRetries}"
fi
fi
if [[ "${exitDownloadError}" == "true" || "${exitDownloadNotAvailable}" == "true" ]] ; then
if [ "${DebugAllEnabled}" == "true" ] ; then
debugHtml "${remote_url##*/}" "error" "Exit due to unrecoverable issue"
fi
rm -f "${WorkDir}/.flocks/${remote_url//[^a-zA-Z0-9]/}"
break
fi
echo -e "\n${YELLOW}A recoverable error occurred, retry attempt $((z+1))/${MaxUrlRetries}${NC}"
sleep 3
fi
done
rm -f "${WorkDir}/.flocks/${remote_url//[^a-zA-Z0-9]/}"
}
#!
#! ------------- (2) Fetch File Info Function ----------------- #
#!
fd_FetchFileInfo() {
echo -e "${GREEN}# Fetching file info…${NC}"
finalAttempt=$1
CLEANSTRING=${remote_url//[^a-zA-Z0-9]/}
trap "rm -f ${WorkDir}/.flocks/${CLEANSTRING}; echo ""; tput cnorm; exit" 0 1 2 3 6 15
download_url=$(urlencode_literal_grouped_case_urlendingonly "$remote_url")
tor_identity="${RANDOM}"
file_header=$(tor_curl_request --insecure --head -L -s "$download_url")
if [ "${DebugAllEnabled}" == "true" ] ; then
debugHtml "${remote_url##*/}" "fd_head$j" "download_url: ${download_url}"$'\n'"${file_header}"
fi
if [ ! -z "$file_header" ] ; then
if grep -Eqi '404 Not Found' <<< "${file_header}" ; then
echo -e "${RED}| The file has been removed (404).${NC}"
removedDownload "${remote_url}"
exitDownloadNotAvailable=true
return 1
fi
if ! grep -Eqi 'HTTP/.* 200' <<< $file_header ; then
echo -e "${RED}| Failed to extract file info${NC}"
warnAndRetryUnknownError=true
if [ "${finalAttempt}" == "true" ] ; then
failedRetryDownload "${remote_url}" "" ""
fi
return 1
fi
if [ "$filename_override" == "" ] ; then
if grep -Eqi 'filename=' <<< "${file_header}" ; then
filename=$(grep -oP 'filename=\K.*$' <<< "${file_header}")
filename=${filename##filename}
filename=${filename//\"/}
filename=${filename//[$'\t\r\n']}
else
filename="${download_url##*/}"
fi
fi
if ! grep -Eqi 'Content-Length' <<< "${file_header}" ; then
echo -e "${RED}| Failed to extract file size.${NC}"
if [ "${finalAttempt}" == "true" ] ; then
failedRetryDownload "${remote_url}" "" ""
fi
return 1
fi
else
echo -e "${RED}| No response. Try again later.${NC}"
if [ "${finalAttempt}" == "true" ] ; then
failedRetryDownload "${remote_url}" "" ""
fi
return 1
fi
touch ${WorkDir}/.flocks/${remote_url//[^a-zA-Z0-9]/}
if [ ! "$filename_override" == "" ] ; then
filename="$filename_override"
elif [ -z $filename ] ; then
filename=${download_url##*/}
fi
filename=$(sanitize_file_or_folder_name "${filename}")
file_size_bytes=$(grep -oPi '(?<=content-length: ).*' <<< "$file_header")
file_size_bytes=${file_size_bytes//[$'\t\r\n']}
if [ -z $file_size_bytes ] ; then
if [ "${finalAttempt}" == "true" ] ; then
failedRetryDownload "${remote_url}" "Filesize not found!" ""
fi
echo -e "${YELLOW}| Filesize not found… retry${NC}"
return 1
else
file_size_readable="$(numfmt --to=iec --from=auto --format "%.2f" <<< "$file_size_bytes")"
fi
echo -e "${YELLOW}| File size:${NC}\t${file_size_readable}"
file_path="${download_inflight_path}${filename}"
echo -e "${YELLOW}| File name:${NC}\t\"${filename}\""
flockDownload="${WorkDir}/.flocks/${filename//[^a-zA-Z0-9\.\_\-]/}.flock"
if CheckFileSize "${remote_url}" "${file_size_bytes}" ; then
return 1
fi
if CheckDownloadExists "$remote_url" "$MoveToFolder" "$filecnt" "$filename" "$file_path" "$completed_location" ; then
return 1
fi
echo "${remote_url//[^a-zA-Z0-9]/}" > $flockDownload
}
#!
#! ----------- (3) Fetch File / Download File Function --------------- #
#!
fd_GetFile() {
echo -e "${GREEN}# Downloading…"
echo -e "${YELLOW}| File path:${NC}\t./.inflight/${filename}\n"
fileCnt=$1
retryCnt=$2
finalAttempt=$3
flockDownload="${WorkDir}/.flocks/${filename//[^a-zA-Z0-9\.\_\-]/}.flock"
for ((j=1; j<=$MaxDownloadRetries; j++)); do
pd_presize=0
if [ -f "$file_path" ] ; then
pd_presize=$(stat --format="%s" "$file_path" | tr -d '[:space:]')
fi
CLEANSTRING=${remote_url//[^a-zA-Z0-9]/}
trap "rm -f ${WorkDir}/.flocks/${CLEANSTRING}; rm -f $flockDownload; echo ""; tput cnorm; exit" 0 1 2 3 6 15
if [ "${RateMonitorEnabled}" == "true" ]; then
tor_curl_request --insecure --speed-limit $DownloadSpeedMin --speed-time $DownloadTimeoutInterval "$download_url" --continue-at - --output "$file_path"
else
tor_curl_request --insecure "$download_url" --continue-at - --output "$file_path"
fi
received_file_size=0
if [ -f "$file_path" ] ; then
received_file_size=$(stat --format="%s" "$file_path" | tr -d '[:space:]')
fi
if CheckNoHtml "$remote_url" "$filename" "$file_path" ; then
containsHtml=false
else
containsHtml=true
fi
downDelta=$(( received_file_size - pd_presize ))
if [[ "${received_file_size}" -ne "${file_size_bytes}" ]] || [ "$containsHtml" == "true" ]; then
if [ "${AutoRepairBadPartials}" == "true" ] && (( downDelta > 0 && downDelta < 1024 )) ; then
if [ -f "${file_path}" ] ; then
if ((pd_presize > 0)); then
echo -e "${YELLOW}Bad node / HTML found:${NC} reverting to previous file..."
truncateDownload "$remote_url" "$filename" "$pd_presize" "$received_file_size"
truncate -s $pd_presize "${file_path}"
else
echo -e "${YELLOW}Bad node / HTML found:${NC} tainted partial removed..."
rm -f "${file_path}"
fi
fi
if ((j >= $MaxDownloadRetries)) ; then
rm -f "$flockDownload";
if [ "${finalAttempt}" == "true" ] ; then
droppedSizeBadDownload "${remote_url}" "${filename}" "${received_file_size}"
fi
return 1
else
continue
fi
elif [ "${AutoRepairBadPartials}" == "true" ] && [ "$containsHtml" == "true" ] ; then
if [ -f "${file_path}" ] ; then
if ((pd_presize > 0)); then
echo -e "${YELLOW}Bad node / HTML found:${NC} reverting to previous file..."
truncateDownload "$remote_url" "$filename" "$pd_presize" "$received_file_size"
truncate -s $pd_presize "${file_path}"
else
echo -e "${YELLOW}Bad node / HTML found:${NC} tainted partial removed..."
rm -f "${file_path}"
fi
fi
if ((j >= $MaxDownloadRetries)) ; then
rm -f "$flockDownload";
if [ "${finalAttempt}" == "true" ] ; then
droppedSizeBadDownload "${remote_url}" "${filename}" "${received_file_size}"
fi
return 1
else
continue
fi
elif (( downDelta > 0 && downDelta < 1024 )) || [ "$containsHtml" == "true" ] ; then
if [ -f "$file_path" ] ; then
rm -rf "$file_path"
fi
echo -e "\n${YELLOW}Bad node / HTML found:${NC} tainted partial removed..."
if ((j >= $MaxDownloadRetries)) ; then
rm -f "$flockDownload";
if [ "${finalAttempt}" == "true" ] ; then
droppedSizeBadDownload "${remote_url}" "${filename}" "${received_file_size}"
fi
return 1
else
continue
fi
fi
if [[ "${received_file_size}" -ne "${file_size_bytes}" ]]; then
echo -e "\n${RED}Download failed, file is incomplete.${NC}"
if ((j >= $MaxDownloadRetries)) ; then
rm -f "$flockDownload";
if [ "${finalAttempt}" == "true" ] ; then
droppedSizeBadDownload "${remote_url}" "${filename}" "${received_file_size}"
fi
return 1
else
continue
fi
fi
else
break
fi
done
rm -f "$flockDownload";
ProcessCompletedDownload "$remote_url" "$MoveToFolder" "$filecnt" "$filename" "$file_size_bytes" "$completed_location" "$file_path"
return 0
}
#!
#! --------------- Host Extra Functions ------------------- #
#!

0
hosts/filedoge.sh Executable file → Normal file
View file

0
hosts/filedot.sh Executable file → Normal file
View file

0
hosts/filehaus.sh Executable file → Normal file
View file

0
hosts/filesquid.sh Executable file → Normal file
View file

0
hosts/firestorage.sh Executable file → Normal file
View file

0
hosts/free4e.sh Executable file → Normal file
View file

0
hosts/gofile.sh Executable file → Normal file
View file

0
hosts/harrault.sh Executable file → Normal file
View file

0
hosts/hexload.sh Executable file → Normal file
View file

28
hosts/innocent.sh Executable file → Normal file
View file

@ -1,6 +1,6 @@
#! Name: innocent.sh
#! Author: kittykat
#! Version: 2024.10.22
#! Version: 2024.11.17
#! Desc: Add support for downloading and processing of urls for a new host
#! Usage: Copy this file into the ./${ScriptDir}/hosts/ folder
#!
@ -92,7 +92,16 @@ inno_FetchFileInfo() {
fi
tput sc
tor_identity="${RANDOM}"
if ((j % 2 == 0)); then
if ((j % 1 == 0)); then
printf "| Retrieving Head: attempt #$j"
file_header=$(tor_curl_request --insecure --head -L -s "$download_url")
elif ((j % 2 == 0)); then
printf "| Retrieving Head (Get): attempt #$j"
file_header=$(tor_curl_request --insecure -m 8 -s -D - -o /dev/null \
-H "Connection: keep-alive" \
-w 'EffectiveUrl=%{url_effective}' \
"$download_url")
elif ((j % 3 == 0)); then
printf "| Retrieving Head (hack): attempt #$j"
rm -f "${WorkDir}/.temp/directhead"
file_header=$(tor_curl_request --insecure --head -H "Connection: keep-alive" -L -s -i "$download_url" |
@ -105,12 +114,6 @@ inno_FetchFileInfo() {
touch "${WorkDir}/.flocks/${remote_url//[^a-zA-Z0-9]/}"
fi
rm -f "${WorkDir}/.temp/directhead"
elif ((j % 3 == 0)); then
printf "| Retrieving Head (Get): attempt #$j"
file_header=$(tor_curl_request --insecure -m 16 -s -D - -o /dev/null \
-H "Connection: keep-alive" \
-w 'EffectiveUrl=%{url_effective}' \
"$download_url")
else
printf "| Retrieving Head: attempt #$j"
file_header=$(tor_curl_request --insecure --head -L -s "$download_url")
@ -141,9 +144,10 @@ inno_FetchFileInfo() {
if [ "$filename_override" == "" ] ; then
filename=${download_url##*/}
fi
if grep -Eqi 'content-length:' <<< "${file_header}" ; then
if grep -Eqi 'Content-Length:' <<< "${file_header}" ; then
file_size_bytes=$(grep -oPi '(?<=content-length: ).*?(?=$)' <<< "$file_header")
file_size_bytes=${file_size_bytes//[$'\t\r\n']}
break
fi
else
if ((j>=$maxretries)); then
@ -203,8 +207,12 @@ inno_GetFile() {
fi
CLEANSTRING=${remote_url//[^a-zA-Z0-9]/}
trap "rm -f ${WorkDir}/.flocks/${CLEANSTRING}; rm -f $flockDownload; echo ""; tput cnorm; exit" 0 1 2 3 6 15
echo -e "${BLUE}| No Resume Fetch${NC} (unknown filesize)"
if [ ! -z $file_size_bytes ] ; then
tor_curl_request --insecure "$download_url" --continue-at - --output "$file_path"
else
echo -e "${BLUE}| No Resume Fetch${NC}"
tor_curl_request --insecure "$download_url" --output "$file_path"
fi
received_file_size=0
if [ -f "$file_path" ] ; then
received_file_size=$(stat --format="%s" "$file_path" | tr -d '[:space:]')

0
hosts/kraken.sh Executable file → Normal file
View file

0
hosts/lainsafe.sh Executable file → Normal file
View file

0
hosts/lainsafe_onion.sh Executable file → Normal file
View file

0
hosts/linxx.sh Executable file → Normal file
View file

0
hosts/nantes.sh Executable file → Normal file
View file

0
hosts/netlib.sh Executable file → Normal file
View file

0
hosts/nofile.sh Executable file → Normal file
View file

0
hosts/offshorecat.sh Executable file → Normal file
View file

0
hosts/oshi.sh Executable file → Normal file
View file

0
hosts/pixeldrain.sh Executable file → Normal file
View file

0
hosts/ranoz.sh Executable file → Normal file
View file

0
hosts/shareonline.sh Executable file → Normal file
View file

0
hosts/soyjak.sh Executable file → Normal file
View file

13
hosts/tempfileme.sh Executable file → Normal file
View file

@ -1,6 +1,6 @@
#! Name: tempfileme.sh
#! Author: kittykat
#! Version: 2024.10.12
#! Version: 2024.11.15
#! Desc: Add support for downloading and processing of urls for a new host
#! Usage: Copy this file into the ./${ScriptDir}/hosts/ folder
#!
@ -116,14 +116,21 @@ tmpme_FetchFileInfo() {
continue
fi
fi
if grep -Eqi "File not found|File was removed|File was deleted|No such file" <<< "$response"; then
if grep -Eqi 'File not found|File was removed|File was deleted|No such file' <<< "$response"; then
printf "\\n"
echo -e "${RED}| The file was not found. It could be deleted or expired.${NC}"
exitDownloadError=true
removedDownload "${remote_url}"
return 1
fi
if grep -Eqi "503 Service Unavailable|No server is available to handle this request" <<< "$response"; then
if grep -Eqi '403 Forbidden' <<< "$response"; then
printf "\\n"
echo -e "${RED}| 403 Forbidden by administrator${NC}"
exitDownloadError=true
removedDownload "${remote_url}"
return 1
fi
if grep -Eqi '503 Service Unavailable|No server is available to handle this request' <<< "$response"; then
if [ $j == $maxfetchretries ] ; then
printf "\\n"
echo -e "${RED}| 503 Service Unavailable (try again later)${NC}"

0
hosts/tempsh.sh Executable file → Normal file
View file

0
hosts/turboonion.sh Executable file → Normal file
View file

2
hosts/up_1fichier.sh Executable file → Normal file
View file

@ -47,7 +47,7 @@ fich_UploadFile() {
MaxUploadSizeInBytes=322122547200
fsize=$(GetFileSize "$filepath" "false")
if ((fsize > MaxUploadSizeInBytes)); then
m -f "${UploadTicket}"
rm -f "${UploadTicket}"
echo -e "${YELLOW}| SKIP${NC}: The size of $filename is to large for $_hostCode. ($fsize > $MaxUploadSizeInBytes)"
failedUpload "$pline" "${filepath}" "${_hostCode}" "Skipping upload. The size of $filename is to large for $_hostCode. ($fsize > $MaxUploadSizeInBytes)"
return 1

8
hosts/up_acid.sh Executable file → Normal file
View file

@ -44,6 +44,14 @@ acid_UploadFile() {
fileAlreadyDone=false
tor_identity="${RANDOM}"
UploadTicket="${WorkDir}/.flocks/upload_${_hostCode}_${filepath//[^a-zA-Z0-9]/}"
MaxUploadSizeInBytes=104857600
fsize=$(GetFileSize "$filepath" "false")
if ((fsize > MaxUploadSizeInBytes)); then
rm -f "${UploadTicket}"
echo -e "${YELLOW}| SKIP${NC}: The size of $filename is to large for $_hostCode. ($fsize > $MaxUploadSizeInBytes)"
failedUpload "$pline" "${filepath}" "${_hostCode}" "Skipping upload. The size of $filename is to large for $_hostCode. ($fsize > $MaxUploadSizeInBytes)"
return 1
fi
finalAttempt="false"
for ((z=0; z<=$MaxUploadRetries; z++)); do
if [ $z -eq $MaxUploadRetries ] ; then

2
hosts/up_anarchaserver.sh Executable file → Normal file
View file

@ -47,7 +47,7 @@ anarc_UploadFile() {
MaxUploadSizeInBytes=10737418240
fsize=$(GetFileSize "$filepath" "false")
if ((fsize > MaxUploadSizeInBytes)); then
m -f "${UploadTicket}"
rm -f "${UploadTicket}"
echo -e "${YELLOW}| SKIP${NC}: The size of $filename is to large for $_hostCode. ($fsize > $MaxUploadSizeInBytes)"
failedUpload "$pline" "${filepath}" "${_hostCode}" "Skipping upload. The size of $filename is to large for $_hostCode. ($fsize > $MaxUploadSizeInBytes)"
return 1

2
hosts/up_anonsharing.sh Executable file → Normal file
View file

@ -47,7 +47,7 @@ ansh_UploadFile() {
MaxUploadSizeInBytes=1073741824
fsize=$(GetFileSize "$filepath" "false")
if ((fsize > MaxUploadSizeInBytes)); then
m -f "${UploadTicket}"
rm -f "${UploadTicket}"
echo -e "${YELLOW}| SKIP${NC}: The size of $filename is to large for $_hostCode. ($fsize > $MaxUploadSizeInBytes)"
failedUpload "$pline" "${filepath}" "${_hostCode}" "Skipping upload. The size of $filename is to large for $_hostCode. ($fsize > $MaxUploadSizeInBytes)"
return 1

6
hosts/up_axfc.sh Executable file → Normal file
View file

@ -47,7 +47,7 @@ axfc_UploadFile() {
MaxUploadSizeInBytes=2147483648
fsize=$(GetFileSize "$filepath" "false")
if ((fsize > MaxUploadSizeInBytes)); then
m -f "${UploadTicket}"
rm -f "${UploadTicket}"
echo -e "${YELLOW}| SKIP${NC}: The size of $filename is to large for $_hostCode. ($fsize > $MaxUploadSizeInBytes)"
failedUpload "${filepath}" "${_hostCode}" "Skipping upload. The size of $filename is to large for $_hostCode. ($fsize > $MaxUploadSizeInBytes)"
return 1
@ -108,7 +108,7 @@ axfc_PostFile() {
trap "rm -f ${UploadTicket}; rm -f ${axfc_cookie_jar}; echo ""; tput cnorm; exit" 0 1 2 3 6 15
response=$(tor_curl_request --insecure -L -s -b "${axfc_cookie_jar}" -c "${axfc_cookie_jar}" "$fixed_url")
if [ "${DebugAllEnabled}" == "true" ] ; then
debugHtml "${remote_url##*/}" "axfc_fetch$i" "${response}"
debugHtml "${filepath##*/}" "axfc_fetch$i" "${response}"
fi
if [[ -z $response ]] ; then
rm -f "${axfc_cookie_jar}";
@ -143,7 +143,7 @@ axfc_PostFile() {
-w "\n\nHTTP_CODE: %{http_code}\nEFFECTIVE_URL: %{url_effective}\n" \
"$fixed_url")
if [ "${DebugAllEnabled}" == "true" ] ; then
debugHtml "${remote_url##*/}" "axfc_ticket$i" "${response}"
debugHtml "${filepath##*/}" "axfc_ticket$i" "${response}"
fi
if [[ -z $response ]] ; then
rm -f "${axfc_cookie_jar}";

2
hosts/up_bedrive.sh Executable file → Normal file
View file

@ -47,7 +47,7 @@ bd_UploadFile() {
MaxUploadSizeInBytes=4294967296
fsize=$(GetFileSize "$filepath" "false")
if ((fsize > MaxUploadSizeInBytes)); then
m -f "${UploadTicket}"
rm -f "${UploadTicket}"
echo -e "${YELLOW}| SKIP${NC}: The size of $filename is to large for $_hostCode. ($fsize > $MaxUploadSizeInBytes)"
failedUpload "$pline" "${filepath}" "${_hostCode}" "Skipping upload. The size of $filename is to large for $_hostCode. ($fsize > $MaxUploadSizeInBytes)"
return 1

2
hosts/up_bowfile.sh Executable file → Normal file
View file

@ -47,7 +47,7 @@ bow_UploadFile() {
MaxUploadSizeInBytes=104857600
fsize=$(GetFileSize "$filepath" "false")
if ((fsize > MaxUploadSizeInBytes)); then
m -f "${UploadTicket}"
rm -f "${UploadTicket}"
echo -e "${YELLOW}| SKIP${NC}: The size of $filename is to large for $_hostCode. ($fsize > $MaxUploadSizeInBytes)"
failedUpload "$pline" "${filepath}" "${_hostCode}" "Skipping upload. The size of $filename is to large for $_hostCode. ($fsize > $MaxUploadSizeInBytes)"
return 1

2
hosts/up_dailyuploads.sh Executable file → Normal file
View file

@ -47,7 +47,7 @@ daily_UploadFile() {
MaxUploadSizeInBytes=4294967296
fsize=$(GetFileSize "$filepath" "false")
if ((fsize > MaxUploadSizeInBytes)); then
m -f "${UploadTicket}"
rm -f "${UploadTicket}"
echo -e "${YELLOW}| SKIP${NC}: The size of $filename is to large for $_hostCode. ($fsize > $MaxUploadSizeInBytes)"
failedUpload "$pline" "${filepath}" "${_hostCode}" "Skipping upload. The size of $filename is to large for $_hostCode. ($fsize > $MaxUploadSizeInBytes)"
return 1

2
hosts/up_dataupload.sh Executable file → Normal file
View file

@ -47,7 +47,7 @@ dup_UploadFile() {
MaxUploadSizeInBytes=204472320
fsize=$(GetFileSize "$filepath" "false")
if ((fsize > MaxUploadSizeInBytes)); then
m -f "${UploadTicket}"
rm -f "${UploadTicket}"
echo -e "${YELLOW}| SKIP${NC}: The size of $filename is to large for $_hostCode. ($fsize > $MaxUploadSizeInBytes)"
failedUpload "$pline" "${filepath}" "${_hostCode}" "Skipping upload. The size of $filename is to large for $_hostCode. ($fsize > $MaxUploadSizeInBytes)"
return 1

2
hosts/up_dbree.sh Executable file → Normal file
View file

@ -47,7 +47,7 @@ dbree_UploadFile() {
MaxUploadSizeInBytes=104857600
fsize=$(GetFileSize "$filepath" "false")
if ((fsize > MaxUploadSizeInBytes)); then
m -f "${UploadTicket}"
rm -f "${UploadTicket}"
echo -e "${YELLOW}| SKIP${NC}: The size of $filename is to large for $_hostCode. ($fsize > $MaxUploadSizeInBytes)"
failedUpload "$pline" "${filepath}" "${_hostCode}" "Skipping upload. The size of $filename is to large for $_hostCode. ($fsize > $MaxUploadSizeInBytes)"
return 1

2
hosts/up_depotkaz.sh Executable file → Normal file
View file

@ -47,7 +47,7 @@ kaz_UploadFile() {
MaxUploadSizeInBytes=1073741824
fsize=$(GetFileSize "$filepath" "false")
if ((fsize > MaxUploadSizeInBytes)); then
m -f "${UploadTicket}"
rm -f "${UploadTicket}"
echo -e "${YELLOW}| SKIP${NC}: The size of $filename is to large for $_hostCode. ($fsize > $MaxUploadSizeInBytes)"
failedUpload "$pline" "${filepath}" "${_hostCode}" "Skipping upload. The size of $filename is to large for $_hostCode. ($fsize > $MaxUploadSizeInBytes)"
return 1

2
hosts/up_dosya.sh Executable file → Normal file
View file

@ -47,7 +47,7 @@ dosya_UploadFile() {
MaxUploadSizeInBytes=2147483648
fsize=$(GetFileSize "$filepath" "false")
if ((fsize > MaxUploadSizeInBytes)); then
m -f "${UploadTicket}"
rm -f "${UploadTicket}"
echo -e "${YELLOW}| SKIP${NC}: The size of $filename is to large for $_hostCode. ($fsize > $MaxUploadSizeInBytes)"
failedUpload "$pline" "${filepath}" "${_hostCode}" "Skipping upload. The size of $filename is to large for $_hostCode. ($fsize > $MaxUploadSizeInBytes)"
return 1

135
hosts/up_familleflender.sh Normal file
View file

@ -0,0 +1,135 @@
#! Name: up_familleflender.sh
#! Author: kittykat
#! Version: 2024.11.15
#! Desc: Add support for uploading files to famille-flender.fr
#! Info: Files are accessible at https://address/f.php?h=<file_code>&p=1
#! MaxSize: 1GB
#! Expire: 1 Month
#! Usage: Copy this file into the ./${ScriptDir}/hosts/ folder
#!
#!
#! ------------ REQUIRED SECTION ---------------
#! @[UPDATE] ListUploadHosts: This string is loaded into mad.sh and allows dynamic handling of new url data
#! Format: '/HostCode/HostNick/HostFuncPrefix@'
#! HostCode: <aUniqueCodeForHost> (ie. 'fh' for filehaus -- cannot be used by other hosts)
#! HostNick: What is displayed throughout MAD output
#! HostFuncPrefix: <aUniqueStringThatMustPrefixHostFunctions> ie. 'fh' -- fh_UploadFile()
#! * Note: Must begin with a letter a-z (functions beginning with numbers are no bueno)
HostCode='ffl'
HostNick='familleflender'
HostFuncPrefix='ffl'
#!
#! !! DO NOT UPDATE OR REMOVE !!
#! This merges the Required HostAndDomainRegexes into mad.sh
ListUploadHosts=${ListUploadHosts}'/'${HostCode}'/'${HostNick}'/'${HostFuncPrefix}'@'
#!
#!
#! Configurables
#! -------------
#!
#! ------------ (1) Host Main Upload Function --------------- #
#!
#! @REQUIRED: Host Main Upload function
#! Must be named specifically as such:
#! <HostFuncPrefix>_UploadFile()
ffl_UploadFile() {
local _hostCode=${1}
local filepath=${2}
local filecnt=${3}
local pline=${4}
local filename="${filepath##*/}"
warnAndRetryUnknownError=false
exitUploadError=false
exitUploadNotAvailable=false
fileAlreadyDone=false
tor_identity="${RANDOM}"
UploadTicket="${WorkDir}/.flocks/upload_${_hostCode}_${filepath//[^a-zA-Z0-9]/}"
MaxUploadSizeInBytes=1073741824
fsize=$(GetFileSize "$filepath" "false")
if ((fsize > MaxUploadSizeInBytes)); then
rm -f "${UploadTicket}"
echo -e "${YELLOW}| SKIP${NC}: The size of $filename is to large for $_hostCode. ($fsize > $MaxUploadSizeInBytes)"
failedUpload "$pline" "${filepath}" "${_hostCode}" "Skipping upload. The size of $filename is to large for $_hostCode. ($fsize > $MaxUploadSizeInBytes)"
return 1
fi
finalAttempt="false"
for ((z=0; z<=$MaxUploadRetries; z++)); do
if [ $z -eq $MaxUploadRetries ] ; then
finalAttempt="true"
fi
trap "rm -f "${UploadTicket}"; echo ""; tput cnorm; exit" 0 1 2 3 6 15
if ffl_PostFile "${filepath}" "${_hostCode}" "${filename}" "${filecnt}" $((z+1)) $finalAttempt $pline ; then
return 0
elif [ $z -lt $MaxUploadRetries ]; then
if [ "${fileAlreadyDone}" == "true" ] ; then
break
fi
if [[ "${warnAndRetryUnknownError}" == "true" ]] ; then
if [ "${DebugAllEnabled}" == "true" ] ; then
debugHtml "${filepath##*/}" "error" "Retry due to an unknown issue: attempt #$((z+1)) of ${MaxUploadRetries}"
fi
fi
if [[ "${exitUploadError}" == "true" || "${exitUploadNotAvailable}" == "true" ]] ; then
if [ "${DebugAllEnabled}" == "true" ] ; then
debugHtml "${filepath##*/}" "error" "Exit due to unrecoverable issue"
fi
rm -f "${UploadTicket}"
break
fi
echo -e "\n${YELLOW}A recoverable error occurred, retry attempt $((z+1))/${MaxUploadRetries}${NC}"
sleep 3
fi
done
rm -f "${UploadTicket}"
}
#!
#! ----------- (2) Post File / Upload File Function --------------- #
#!
ffl_PostFile() {
local filepath=$1
local _hostCode=$2
local filename=$3
local fileCnt=$4
local retryCnt=$5
local finalAttempt=$6
local pline=${7}
UploadTicket="${WorkDir}/.flocks/upload_${_hostCode}_${filepath//[^a-zA-Z0-9]/}"
echo -e "[${YELLOW}${_hostCode}${NC}] Uploading ${GREEN}${filename}${NC}"
tor_identity="${RANDOM}"
PostUrlHost='https://famille-flender.fr/jirafeau/script.php'
arrFiles=("$filepath")
trap "rm -f ${UploadTicket}; echo ""; tput cnorm; exit" 0 1 2 3 6 15
response=$(tor_curl_upload --insecure -i \
-H "Content-Type: multipart/form-data" \
-F "time=month" \
-F "file=@${filepath}" \
"${PostUrlHost}")
if [ "${DebugAllEnabled}" == "true" ] ; then
debugHtml "${filepath##*/}" "${_hostCode}_upload" "post_url: ${PostUrlHost}"$'\n'"${response}"
fi
if grep -Eqi ' 200 ' <<< "${response}" ; then
hash=$(echo "$response" | tail -2 | head -1)
hash=${hash//[$'\t\r\n']}
filesize=$(GetFileSize "$filepath" "false")
downloadLink="https://famille-flender.fr/f.php?h=${hash}&p=1"
echo -e "${GREEN}| Upload Success${NC}"
echo -e "| Size: ${BLUE}${filesize}${NC} bytes${NC}"
echo -e "| Link: ${YELLOW}${downloadLink}${NC}"
successUpload "$pline" "${filepath}" "${_hostCode}" "${filesize}" "${downloadLink}" "{$response}"
return 0
else
err=$(grep -oPi '(?<=HTTP/).*?(?=$)' <<< "$response")
if [ "${finalAttempt}" == "true" ] ; then
printf "\\n"
echo -e "${RED}| Upload failed. Status: ${err}${NC}"
failedRetryUpload "$pline" "${filepath}" "${_hostCode}" "Failed to upload file" "Status: $err"
exitUploadError=true
return 1
else
return 1
fi
fi
}
#!
#! --------------- Host Extra Functions ------------------- #
#!

133
hosts/up_fileditch.sh Normal file
View file

@ -0,0 +1,133 @@
#! Name: up_fileditch.sh
#! Author: kittykat
#! Version: 2024.11.18
#! Desc: Add support for uploading files to fileditch.com
#! Info: Files are accessible at https://*.fileditchstuff.me/*/<file_code>
#! MaxSize: 5GB
#! Expire: ??
#! Usage: Copy this file into the ./${ScriptDir}/hosts/ folder
#!
#!
#! ------------ REQUIRED SECTION ---------------
#! @[UPDATE] ListUploadHosts: This string is loaded into mad.sh and allows dynamic handling of new url data
#! Format: '/HostCode/HostNick/HostFuncPrefix@'
#! HostCode: <aUniqueCodeForHost> (ie. 'fh' for filehaus -- cannot be used by other hosts)
#! HostNick: What is displayed throughout MAD output
#! HostFuncPrefix: <aUniqueStringThatMustPrefixHostFunctions> ie. 'fh' -- fh_UploadFile()
#! * Note: Must begin with a letter a-z (functions beginning with numbers are no bueno)
HostCode='fd'
HostNick='fileditch'
HostFuncPrefix='fd'
#!
#! !! DO NOT UPDATE OR REMOVE !!
#! This merges the Required HostAndDomainRegexes into mad.sh
ListUploadHosts=${ListUploadHosts}'/'${HostCode}'/'${HostNick}'/'${HostFuncPrefix}'@'
#!
#!
#! Configurables
#! -------------
#!
#! ------------ (1) Host Main Upload Function --------------- #
#!
#! @REQUIRED: Host Main Upload function
#! Must be named specifically as such:
#! <HostFuncPrefix>_UploadFile()
fd_UploadFile() {
local _hostCode=${1}
local filepath=${2}
local filecnt=${3}
local pline=${4}
local filename="${filepath##*/}"
warnAndRetryUnknownError=false
exitUploadError=false
exitUploadNotAvailable=false
fileAlreadyDone=false
tor_identity="${RANDOM}"
UploadTicket="${WorkDir}/.flocks/upload_${_hostCode}_${filepath//[^a-zA-Z0-9]/}"
MaxUploadSizeInBytes=5368709120
fsize=$(GetFileSize "$filepath" "false")
if ((fsize > MaxUploadSizeInBytes)); then
rm -f "${UploadTicket}"
echo -e "${YELLOW}| SKIP${NC}: The size of $filename is to large for $_hostCode. ($fsize > $MaxUploadSizeInBytes)"
failedUpload "$pline" "${filepath}" "${_hostCode}" "Skipping upload. The size of $filename is to large for $_hostCode. ($fsize > $MaxUploadSizeInBytes)"
return 1
fi
finalAttempt="false"
for ((z=0; z<=$MaxUploadRetries; z++)); do
if [ $z -eq $MaxUploadRetries ] ; then
finalAttempt="true"
fi
trap "rm -f "${UploadTicket}"; echo ""; tput cnorm; exit" 0 1 2 3 6 15
if fd_PostFile "${filepath}" "${_hostCode}" "${filename}" "${filecnt}" $((z+1)) $finalAttempt $pline ; then
return 0
elif [ $z -lt $MaxUploadRetries ]; then
if [ "${fileAlreadyDone}" == "true" ] ; then
break
fi
if [[ "${warnAndRetryUnknownError}" == "true" ]] ; then
if [ "${DebugAllEnabled}" == "true" ] ; then
debugHtml "${filepath##*/}" "error" "Retry due to an unknown issue: attempt #$((z+1)) of ${MaxUploadRetries}"
fi
fi
if [[ "${exitUploadError}" == "true" || "${exitUploadNotAvailable}" == "true" ]] ; then
if [ "${DebugAllEnabled}" == "true" ] ; then
debugHtml "${filepath##*/}" "error" "Exit due to unrecoverable issue"
fi
rm -f "${UploadTicket}"
break
fi
echo -e "\n${YELLOW}A recoverable error occurred, retry attempt $((z+1))/${MaxUploadRetries}${NC}"
sleep 3
fi
done
rm -f "${UploadTicket}"
}
#!
#! ----------- (2) Post File / Upload File Function --------------- #
#!
fd_PostFile() {
local filepath=$1
local _hostCode=$2
local filename=$3
local fileCnt=$4
local retryCnt=$5
local finalAttempt=$6
local pline=${7}
UploadTicket="${WorkDir}/.flocks/upload_${_hostCode}_${filepath//[^a-zA-Z0-9]/}"
echo -e "[${YELLOW}${_hostCode}${NC}] Uploading ${GREEN}${filename}${NC}"
tor_identity="${RANDOM}"
PostUrlHost='https://up1.fileditch.com/upload.php'
arrFiles=("$filepath")
trap "rm -f ${UploadTicket}; echo ""; tput cnorm; exit" 0 1 2 3 6 15
response=$(tor_curl_upload --insecure -i \
-H "Content-Type: multipart/form-data" \
-F "files[]=@${arrFiles[@]}" \
"${PostUrlHost}")
if [ "${DebugAllEnabled}" == "true" ] ; then
debugHtml "${filepath##*/}" "${_hostCode}_upload" "post_url: ${PostUrlHost}"$'\n'"${response}"
fi
if grep -Eqi '"success": true,' <<< "${response}" ; then
url=$(grep -oPi '(?<="url": ").*?(?=".*$)' <<< "$response")
filesize=$(GetFileSize "$filepath" "false")
downloadLink="${url//\\/}"
echo -e "${GREEN}| Upload Success${NC}"
echo -e "| Size: ${BLUE}${filesize}${NC} bytes${NC}"
echo -e "| Link: ${YELLOW}${downloadLink}${NC}"
successUpload "$pline" "${filepath}" "${_hostCode}" "${filesize}" "${downloadLink}" "{$response}"
return 0
else
err=$(grep -oPi '(?<=HTTP/).*?(?=$)' <<< "$response")
if [ "${finalAttempt}" == "true" ] ; then
printf "\\n"
echo -e "${RED}| Upload failed. Status: ${err}${NC}"
failedRetryUpload "$pline" "${filepath}" "${_hostCode}" "Failed to upload file" "Status: $err"
exitUploadError=true
return 1
else
return 1
fi
fi
}
#!
#! --------------- Host Extra Functions ------------------- #
#!

13
hosts/up_filehaus.sh Executable file → Normal file
View file

@ -1,6 +1,6 @@
#! Name: up_filehaus.sh
#! Author: kittykat
#! Version: 2024.10.23
#! Version: 2024.11.15
#! Desc: Add support for uploading files to a new host
#! Info: Files are accessible at http://filehaus.su/<hash> or https://filehaus.top/<hash>
#! MaxSize: 300GB
@ -47,7 +47,7 @@ fh_UploadFile() {
MaxUploadSizeInBytes=10737418240
fsize=$(GetFileSize "$filepath" "false")
if ((fsize > MaxUploadSizeInBytes)); then
m -f "${UploadTicket}"
rm -f "${UploadTicket}"
echo -e "${YELLOW}| SKIP${NC}: The size of $filename is to large for $_hostCode. ($fsize > $MaxUploadSizeInBytes)"
failedUpload "$pline" "${filepath}" "${_hostCode}" "Skipping upload. The size of $filename is to large for $_hostCode. ($fsize > $MaxUploadSizeInBytes)"
return 1
@ -111,18 +111,17 @@ fh_PostFile() {
if [ "${DebugAllEnabled}" == "true" ] ; then
debugHtml "${filepath##*/}" "${_hostCode}_upload" "post_url: ${PostUrlHost}"$'\n'"${response}"
fi
if grep -Eqi '"status":"ok"' <<< "${response}" ; then
url=$(grep -oPi '(?<="downloadPage":").*?(?=")' <<< "$response")
hash=$(grep -oPi '(?<=https://gofile.io/d/).*?(?=")' <<< "$response")
if grep -Eqi 'HTTP/.* 200|https://cdn' <<< "${response}" ; then
url=$(grep -oPi '(?<=https://).*(?=\.filehaus\.su).*?(?=$)' <<< "$response")
filesize=$(GetFileSize "$filepath" "false")
downloadLink="${url}"
downloadLink="https://${url}"
echo -e "${GREEN}| Upload Success${NC}"
echo -e "| Size: ${BLUE}${filesize}${NC} bytes${NC}"
echo -e "| Link: ${YELLOW}${downloadLink}${NC}"
successUpload "$pline" "${filepath}" "${_hostCode}" "${filesize}" "${downloadLink}" "{$response}"
return 0
else
err=$(grep -oPi '(?<=HTTP/1.1 ).*?(?=$)' <<< "$response")
err=$(grep -oPi '(?<=HTTP/.* ).*?(?=$)' <<< "$response")
if [ "${finalAttempt}" == "true" ] ; then
printf "\\n"
echo -e "${RED}| Upload failed. Status: ${err}${NC}"

View file

@ -47,7 +47,7 @@ squid_UploadFile() {
MaxUploadSizeInBytes=5368709120
fsize=$(GetFileSize "$filepath" "false")
if ((fsize > MaxUploadSizeInBytes)); then
m -f "${UploadTicket}"
rm -f "${UploadTicket}"
echo -e "${YELLOW}| SKIP${NC}: The size of $filename is to large for $_hostCode. ($fsize > $MaxUploadSizeInBytes)"
failedUpload "$pline" "${filepath}" "${_hostCode}" "Skipping upload. The size of $filename is to large for $_hostCode. ($fsize > $MaxUploadSizeInBytes)"
return 1

2
hosts/up_firestorage.sh Executable file → Normal file
View file

@ -47,7 +47,7 @@ fs_UploadFile() {
MaxUploadSizeInBytes=2147483648
fsize=$(GetFileSize "$filepath" "false")
if ((fsize > MaxUploadSizeInBytes)); then
m -f "${UploadTicket}"
rm -f "${UploadTicket}"
echo -e "${YELLOW}| SKIP${NC}: The size of $filename is to large for $_hostCode. ($fsize > $MaxUploadSizeInBytes)"
failedUpload "$pline" "${filepath}" "${_hostCode}" "Skipping upload. The size of $filename is to large for $_hostCode. ($fsize > $MaxUploadSizeInBytes)"
return 1

0
hosts/up_free4e.sh Executable file → Normal file
View file

2
hosts/up_gofile.sh Executable file → Normal file
View file

@ -47,7 +47,7 @@ gofile_UploadFile() {
MaxUploadSizeInBytes=5368709120
fsize=$(GetFileSize "$filepath" "false")
if ((fsize > MaxUploadSizeInBytes)); then
m -f "${UploadTicket}"
rm -f "${UploadTicket}"
echo -e "${YELLOW}| SKIP${NC}: The size of $filename is to large for $_hostCode. ($fsize > $MaxUploadSizeInBytes)"
failedUpload "$pline" "${filepath}" "${_hostCode}" "Skipping upload. The size of $filename is to large for $_hostCode. ($fsize > $MaxUploadSizeInBytes)"
return 1

7
hosts/up_harrault.sh Executable file → Normal file
View file

@ -44,6 +44,13 @@ harr_UploadFile() {
fileAlreadyDone=false
tor_identity="${RANDOM}"
UploadTicket="${WorkDir}/.flocks/upload_${_hostCode}_${filepath//[^a-zA-Z0-9]/}"
fsize=$(GetFileSize "$filepath" "false")
if ((fsize > MaxUploadSizeInBytes)); then
rm -f "${UploadTicket}"
echo -e "${YELLOW}| SKIP${NC}: The size of $filename is to large for $_hostCode. ($fsize > $MaxUploadSizeInBytes)"
failedUpload "$pline" "${filepath}" "${_hostCode}" "Skipping upload. The size of $filename is to large for $_hostCode. ($fsize > $MaxUploadSizeInBytes)"
return 1
fi
finalAttempt="false"
for ((z=0; z<=$MaxUploadRetries; z++)); do
if [ $z -eq $MaxUploadRetries ] ; then

2
hosts/up_hexload.sh Executable file → Normal file
View file

@ -47,7 +47,7 @@ hex_UploadFile() {
MaxUploadSizeInBytes=2147483648
fsize=$(GetFileSize "$filepath" "false")
if ((fsize > MaxUploadSizeInBytes)); then
m -f "${UploadTicket}"
rm -f "${UploadTicket}"
echo -e "${YELLOW}| SKIP${NC}: The size of $filename is to large for $_hostCode. ($fsize > $MaxUploadSizeInBytes)"
failedUpload "$pline" "${filepath}" "${_hostCode}" "Skipping upload. The size of $filename is to large for $_hostCode. ($fsize > $MaxUploadSizeInBytes)"
return 1

2
hosts/up_innocent.sh Executable file → Normal file
View file

@ -44,7 +44,7 @@ inno_UploadFile() {
MaxUploadSizeInBytes=104857600
fsize=$(GetFileSize "$filepath" "false")
if ((fsize > MaxUploadSizeInBytes)); then
m -f "${UploadTicket}"
rm -f "${UploadTicket}"
echo -e "${YELLOW}| SKIP${NC}: The size of $filename is to large for $_hostCode. ($fsize > $MaxUploadSizeInBytes)"
failedUpload "$pline" "${filepath}" "${_hostCode}" "Skipping upload. The size of $filename is to large for $_hostCode. ($fsize > $MaxUploadSizeInBytes)"
return 1

4
hosts/up_kouploader.sh Executable file → Normal file
View file

@ -47,7 +47,7 @@ ko_UploadFile() {
MaxUploadSizeInBytes=251658240
fsize=$(GetFileSize "$filepath" "false")
if ((fsize > MaxUploadSizeInBytes)); then
m -f "${UploadTicket}"
rm -f "${UploadTicket}"
echo -e "${YELLOW}| SKIP${NC}: The size of $filename is to large for $_hostCode. ($fsize > $MaxUploadSizeInBytes)"
failedUpload "$pline" "${filepath}" "${_hostCode}" "Skipping upload. The size of $filename is to large for $_hostCode. ($fsize > $MaxUploadSizeInBytes)"
return 1
@ -107,7 +107,7 @@ ko_PostFile() {
trap "rm -f ${UploadTicket}; rm -f ${ko_cookie_jar}; echo ""; tput cnorm; exit" 0 1 2 3 6 15
response=$(tor_curl_request --insecure -L -s -b "${ko_cookie_jar}" -c "${ko_cookie_jar}" "$PostUrlHost")
if [ "${DebugAllEnabled}" == "true" ] ; then
debugHtml "${remote_url##*/}" "ko_fetch$i" "${response}"
debugHtml "${filepath##*/}" "ko_fetch$i" "${response}"
fi
if [[ -z $response ]] ; then
rm -f "${ko_cookie_jar}";

2
hosts/up_kraken.sh Executable file → Normal file
View file

@ -47,7 +47,7 @@ kraken_UploadFile() {
MaxUploadSizeInBytes=1073741824
fsize=$(GetFileSize "$filepath" "false")
if ((fsize > MaxUploadSizeInBytes)); then
m -f "${UploadTicket}"
rm -f "${UploadTicket}"
echo -e "${YELLOW}| SKIP${NC}: The size of $filename is to large for $_hostCode. ($fsize > $MaxUploadSizeInBytes)"
failedUpload "$pline" "${filepath}" "${_hostCode}" "Skipping upload. The size of $filename is to large for $_hostCode. ($fsize > $MaxUploadSizeInBytes)"
return 1

2
hosts/up_linxx.sh Executable file → Normal file
View file

@ -47,7 +47,7 @@ linx_UploadFile() {
MaxUploadSizeInBytes=536870912
fsize=$(GetFileSize "$filepath" "false")
if ((fsize > MaxUploadSizeInBytes)); then
m -f "${UploadTicket}"
rm -f "${UploadTicket}"
echo -e "${YELLOW}| SKIP${NC}: The size of $filename is to large for $_hostCode. ($fsize > $MaxUploadSizeInBytes)"
failedUpload "$pline" "${filepath}" "${_hostCode}" "Skipping upload. The size of $filename is to large for $_hostCode. ($fsize > $MaxUploadSizeInBytes)"
return 1

2
hosts/up_nantes.sh Executable file → Normal file
View file

@ -47,7 +47,7 @@ nant_UploadFile() {
MaxUploadSizeInBytes=10737418240
fsize=$(GetFileSize "$filepath" "false")
if ((fsize > MaxUploadSizeInBytes)); then
m -f "${UploadTicket}"
rm -f "${UploadTicket}"
echo -e "${YELLOW}| SKIP${NC}: The size of $filename is to large for $_hostCode. ($fsize > $MaxUploadSizeInBytes)"
failedUpload "$pline" "${filepath}" "${_hostCode}" "Skipping upload. The size of $filename is to large for $_hostCode. ($fsize > $MaxUploadSizeInBytes)"
return 1

2
hosts/up_netlib.sh Executable file → Normal file
View file

@ -47,7 +47,7 @@ nlib_UploadFile() {
MaxUploadSizeInBytes=10737418240
fsize=$(GetFileSize "$filepath" "false")
if ((fsize > MaxUploadSizeInBytes)); then
m -f "${UploadTicket}"
rm -f "${UploadTicket}"
echo -e "${YELLOW}| SKIP${NC}: The size of $filename is to large for $_hostCode. ($fsize > $MaxUploadSizeInBytes)"
failedUpload "$pline" "${filepath}" "${_hostCode}" "Skipping upload. The size of $filename is to large for $_hostCode. ($fsize > $MaxUploadSizeInBytes)"
return 1

2
hosts/up_nippy.sh Executable file → Normal file
View file

@ -50,7 +50,7 @@ nippy_UploadFile() {
MaxUploadSizeInBytes=104857600
fsize=$(GetFileSize "$filepath" "false")
if ((fsize > MaxUploadSizeInBytes)); then
m -f "${UploadTicket}"
rm -f "${UploadTicket}"
echo -e "${YELLOW}| SKIP${NC}: The size of $filename is to large for $_hostCode. ($fsize > $MaxUploadSizeInBytes)"
failedUpload "$pline" "${filepath}" "${_hostCode}" "Skipping upload. The size of $filename is to large for $_hostCode. ($fsize > $MaxUploadSizeInBytes)"
return 1

2
hosts/up_nofile.sh Executable file → Normal file
View file

@ -47,7 +47,7 @@ nofile_UploadFile() {
MaxUploadSizeInBytes=104857600
fsize=$(GetFileSize "$filepath" "false")
if ((fsize > MaxUploadSizeInBytes)); then
m -f "${UploadTicket}"
rm -f "${UploadTicket}"
echo -e "${YELLOW}| SKIP${NC}: The size of $filename is to large for $_hostCode. ($fsize > $MaxUploadSizeInBytes)"
failedUpload "$pline" "${filepath}" "${_hostCode}" "Skipping upload. The size of $filename is to large for $_hostCode. ($fsize > $MaxUploadSizeInBytes)"
return 1

View file

@ -47,7 +47,7 @@ offcat_UploadFile() {
MaxUploadSizeInBytes=4294967296
fsize=$(GetFileSize "$filepath" "false")
if ((fsize > MaxUploadSizeInBytes)); then
m -f "${UploadTicket}"
rm -f "${UploadTicket}"
echo -e "${YELLOW}| SKIP${NC}: The size of $filename is to large for $_hostCode. ($fsize > $MaxUploadSizeInBytes)"
failedUpload "$pline" "${filepath}" "${_hostCode}" "Skipping upload. The size of $filename is to large for $_hostCode. ($fsize > $MaxUploadSizeInBytes)"
return 1

2
hosts/up_oshi.sh Executable file → Normal file
View file

@ -52,7 +52,7 @@ oshi_UploadFile() {
MaxUploadSizeInBytes=5368709120
fsize=$(GetFileSize "$filepath" "false")
if ((fsize > MaxUploadSizeInBytes)); then
m -f "${UploadTicket}"
rm -f "${UploadTicket}"
echo -e "${YELLOW}| SKIP${NC}: The size of $filename is to large for $_hostCode. ($fsize > $MaxUploadSizeInBytes)"
failedUpload "$pline" "${filepath}" "${_hostCode}" "Skipping upload. The size of $filename is to large for $_hostCode. ($fsize > $MaxUploadSizeInBytes)"
return 1

View file

@ -47,7 +47,7 @@ pd_UploadFile() {
MaxUploadSizeInBytes=21474836480
fsize=$(GetFileSize "$filepath" "false")
if ((fsize > MaxUploadSizeInBytes)); then
m -f "${UploadTicket}"
rm -f "${UploadTicket}"
echo -e "${YELLOW}| SKIP${NC}: The size of $filename is to large for $_hostCode. ($fsize > $MaxUploadSizeInBytes)"
failedUpload "$pline" "${filepath}" "${_hostCode}" "Skipping upload. The size of $filename is to large for $_hostCode. ($fsize > $MaxUploadSizeInBytes)"
return 1
@ -118,7 +118,7 @@ pd_PostFile() {
debugHtml "${filepath##*/}" "${_hostCode}_upload" "post_url: ${PostUrlHost}"$'\n'"apikey: ${apikey}"$'\n'"${response}"
fi
if grep -Eqi '"success":false,"value":"ip_banned"' <<< "$response"; then
echo -n "${YELLOW}Banned IP${NC} (retry)..."
echo -e "${YELLOW}Banned IP${NC} (retry)..."
continue
else
break

2
hosts/up_ranoz.sh Executable file → Normal file
View file

@ -47,7 +47,7 @@ rz_UploadFile() {
MaxUploadSizeInBytes=21474836480
fsize=$(GetFileSize "$filepath" "false")
if ((fsize > MaxUploadSizeInBytes)); then
m -f "${UploadTicket}"
rm -f "${UploadTicket}"
echo -e "${YELLOW}| SKIP${NC}: The size of $filename is to large for $_hostCode. ($fsize > $MaxUploadSizeInBytes)"
failedUpload "$pline" "${filepath}" "${_hostCode}" "Skipping upload. The size of $filename is to large for $_hostCode. ($fsize > $MaxUploadSizeInBytes)"
return 1

2
hosts/up_shareonline.sh Executable file → Normal file
View file

@ -47,7 +47,7 @@ so_UploadFile() {
MaxUploadSizeInBytes=104857600
fsize=$(GetFileSize "$filepath" "false")
if ((fsize > MaxUploadSizeInBytes)); then
m -f "${UploadTicket}"
rm -f "${UploadTicket}"
echo -e "${YELLOW}| SKIP${NC}: The size of $filename is to large for $_hostCode. ($fsize > $MaxUploadSizeInBytes)"
failedUpload "$pline" "${filepath}" "${_hostCode}" "Skipping upload. The size of $filename is to large for $_hostCode. ($fsize > $MaxUploadSizeInBytes)"
return 1

2
hosts/up_soyjak.sh Executable file → Normal file
View file

@ -47,7 +47,7 @@ soy_UploadFile() {
MaxUploadSizeInBytes=524288000
fsize=$(GetFileSize "$filepath" "false")
if ((fsize > MaxUploadSizeInBytes)); then
m -f "${UploadTicket}"
rm -f "${UploadTicket}"
echo -e "${YELLOW}| SKIP${NC}: The size of $filename is to large for $_hostCode. ($fsize > $MaxUploadSizeInBytes)"
failedUpload "$pline" "${filepath}" "${_hostCode}" "Skipping upload. The size of $filename is to large for $_hostCode. ($fsize > $MaxUploadSizeInBytes)"
return 1

2
hosts/up_tempfileme.sh Executable file → Normal file
View file

@ -47,7 +47,7 @@ tmpme_UploadFile() {
MaxUploadSizeInBytes=10737418240
fsize=$(GetFileSize "$filepath" "false")
if ((fsize > MaxUploadSizeInBytes)); then
m -f "${UploadTicket}"
rm -f "${UploadTicket}"
echo -e "${YELLOW}| SKIP${NC}: The size of $filename is to large for $_hostCode. ($fsize > $MaxUploadSizeInBytes)"
failedUpload "$pline" "${filepath}" "${_hostCode}" "Skipping upload. The size of $filename is to large for $_hostCode. ($fsize > $MaxUploadSizeInBytes)"
return 1

2
hosts/up_tempsh.sh Executable file → Normal file
View file

@ -47,7 +47,7 @@ tmpsh_UploadFile() {
MaxUploadSizeInBytes=4294967296
fsize=$(GetFileSize "$filepath" "false")
if ((fsize > MaxUploadSizeInBytes)); then
m -f "${UploadTicket}"
rm -f "${UploadTicket}"
echo -e "${YELLOW}| SKIP${NC}: The size of $filename is to large for $_hostCode. ($fsize > $MaxUploadSizeInBytes)"
failedUpload "$pline" "${filepath}" "${_hostCode}" "Skipping upload. The size of $filename is to large for $_hostCode. ($fsize > $MaxUploadSizeInBytes)"
return 1

View file

@ -47,7 +47,7 @@ torp_UploadFile() {
MaxUploadSizeInBytes=157286400
fsize=$(GetFileSize "$filepath" "false")
if ((fsize > MaxUploadSizeInBytes)); then
m -f "${UploadTicket}"
rm -f "${UploadTicket}"
echo -e "${YELLOW}| SKIP${NC}: The size of $filename is to large for $_hostCode. ($fsize > $MaxUploadSizeInBytes)"
failedUpload "$pline" "${filepath}" "${_hostCode}" "Skipping upload. The size of $filename is to large for $_hostCode. ($fsize > $MaxUploadSizeInBytes)"
return 1

2
hosts/up_turboonion.sh Executable file → Normal file
View file

@ -44,7 +44,7 @@ trbo_UploadFile() {
MaxUploadSizeInBytes=314572800
fsize=$(GetFileSize "$filepath" "false")
if ((fsize > MaxUploadSizeInBytes)); then
m -f "${UploadTicket}"
rm -f "${UploadTicket}"
echo -e "${YELLOW}| SKIP${NC}: The size of $filename is to large for $_hostCode. ($fsize > $MaxUploadSizeInBytes)"
failedUpload "$pline" "${filepath}" "${_hostCode}" "Skipping upload. The size of $filename is to large for $_hostCode. ($fsize > $MaxUploadSizeInBytes)"
return 1

View file

@ -47,7 +47,7 @@ upee_UploadFile() {
MaxUploadSizeInBytes=104857600
fsize=$(GetFileSize "$filepath" "false")
if ((fsize > MaxUploadSizeInBytes)); then
m -f "${UploadTicket}"
rm -f "${UploadTicket}"
echo -e "${YELLOW}| SKIP${NC}: The size of $filename is to large for $_hostCode. ($fsize > $MaxUploadSizeInBytes)"
failedUpload "$pline" "${filepath}" "${_hostCode}" "Skipping upload. The size of $filename is to large for $_hostCode. ($fsize > $MaxUploadSizeInBytes)"
return 1

2
hosts/up_uploadev.sh Executable file → Normal file
View file

@ -47,7 +47,7 @@ upev_UploadFile() {
MaxUploadSizeInBytes=262144000
fsize=$(GetFileSize "$filepath" "false")
if ((fsize > MaxUploadSizeInBytes)); then
m -f "${UploadTicket}"
rm -f "${UploadTicket}"
echo -e "${YELLOW}| SKIP${NC}: The size of $filename is to large for $_hostCode. ($fsize > $MaxUploadSizeInBytes)"
failedUpload "$pline" "${filepath}" "${_hostCode}" "Skipping upload. The size of $filename is to large for $_hostCode. ($fsize > $MaxUploadSizeInBytes)"
return 1

2
hosts/up_uploadflix.sh Executable file → Normal file
View file

@ -47,7 +47,7 @@ uflix_UploadFile() {
MaxUploadSizeInBytes=5368709120
fsize=$(GetFileSize "$filepath" "false")
if ((fsize > MaxUploadSizeInBytes)); then
m -f "${UploadTicket}"
rm -f "${UploadTicket}"
echo -e "${YELLOW}| SKIP${NC}: The size of $filename is to large for $_hostCode. ($fsize > $MaxUploadSizeInBytes)"
failedUpload "$pline" "${filepath}" "${_hostCode}" "Skipping upload. The size of $filename is to large for $_hostCode. ($fsize > $MaxUploadSizeInBytes)"
return 1

2
hosts/up_uploadhive.sh Executable file → Normal file
View file

@ -47,7 +47,7 @@ uhive_UploadFile() {
MaxUploadSizeInBytes=5368709120
fsize=$(GetFileSize "$filepath" "false")
if ((fsize > MaxUploadSizeInBytes)); then
m -f "${UploadTicket}"
rm -f "${UploadTicket}"
echo -e "${YELLOW}| SKIP${NC}: The size of $filename is to large for $_hostCode. ($fsize > $MaxUploadSizeInBytes)"
failedUpload "$pline" "${filepath}" "${_hostCode}" "Skipping upload. The size of $filename is to large for $_hostCode. ($fsize > $MaxUploadSizeInBytes)"
return 1

2
hosts/up_uploadraja.sh Executable file → Normal file
View file

@ -47,7 +47,7 @@ raja_UploadFile() {
MaxUploadSizeInBytes=10737418240
fsize=$(GetFileSize "$filepath" "false")
if ((fsize > MaxUploadSizeInBytes)); then
m -f "${UploadTicket}"
rm -f "${UploadTicket}"
echo -e "${YELLOW}| SKIP${NC}: The size of $filename is to large for $_hostCode. ($fsize > $MaxUploadSizeInBytes)"
failedUpload "$pline" "${filepath}" "${_hostCode}" "Skipping upload. The size of $filename is to large for $_hostCode. ($fsize > $MaxUploadSizeInBytes)"
return 1

2
hosts/up_yolobit.sh Executable file → Normal file
View file

@ -47,7 +47,7 @@ yolo_UploadFile() {
MaxUploadSizeInBytes=104857600
fsize=$(GetFileSize "$filepath" "false")
if ((fsize > MaxUploadSizeInBytes)); then
m -f "${UploadTicket}"
rm -f "${UploadTicket}"
echo -e "${YELLOW}| SKIP${NC}: The size of $filename is to large for $_hostCode. ($fsize > $MaxUploadSizeInBytes)"
failedUpload "$pline" "${filepath}" "${_hostCode}" "Skipping upload. The size of $filename is to large for $_hostCode. ($fsize > $MaxUploadSizeInBytes)"
return 1

0
hosts/uploadee.sh Executable file → Normal file
View file

0
hosts/uploadev.sh Executable file → Normal file
View file

0
hosts/uploadflix.sh Executable file → Normal file
View file

0
hosts/uploadhive.sh Executable file → Normal file
View file

0
hosts/yolobit.sh Executable file → Normal file
View file

0
hosts/youdbox.sh Executable file → Normal file
View file

79
mad.sh
View file

@ -31,9 +31,16 @@
# * klonkerz - feedback and suggestions, url only processing
# * Everyone who provided feedback and helped test.. and those who wish to remain anonymous
ScriptVersion=2024.11.14
ScriptVersion=2024.11.18
#=================================================
# Recent Additions
# 2024.11.18 - [up_fileditch / fileditch] Add fileditch.com as upload and download host
# 2024.11.17 - [innocent] Fix "Fetching file info". Support resume downloads.
# 2024.11.16 - [mad] Fix reload on uploads.txt modified (uploads: filemode)
# 2024.11.16 - [up_*] Fix removal of upload ticket if filesize is not supported
# 2024.11.15 - [familleflender] Add famille-flender.fr as download host
# 2024.11.15 - [up_familleflender] Add famille-flender.fr as upload host
# 2024.11.15 - [up_filehaus] Finish the uploader (the server is back online)
# 2024.11.14 - [up_skrepr, skrepr] Add transfer.skrepr.com as upload and download host
# 2024.11.13 - [up_pixeldrain] Add pixeldrain as an upload host
# 2024.11.13 - [mad] Add pixeldrain apikey section to allow pd uploads
@ -2755,7 +2762,7 @@ MadUploadFromFileTxt() {
if DoneProcessingAllUrls "${InputFile}" ; then
if [ "${AutoShowMadStatus}" == "true" ] ; then
echo -e "${RED}${GREEN}Done! ${YELLOW}Me0W!${NC} :D"
madStatus "${InputFile}"
madStatusUploads "${InputFile}"
fi
exit 0
else
@ -2767,9 +2774,24 @@ MadUploadFromFileTxt() {
sed 's/^[[:space:]]*// ; s/[[:space:]]*$//' "${InputFile}" |
while IFS= read -r line
do
filepath=""
filename=""
hostcode=""
if [ -f "${InputFile}" ] ; then
currentHashFilelistTxt=$( sha1sum "${InputFile}" | awk '{print $1}' )
else
currentHashFilelistTxt=$( sha1sum ${InputFile} | awk '{print $1}' )
fi
if ((qChkLineCount > 0)) && [ ! "${HashFilelistTxt}" == "${currentHashFilelistTxt}" ]; then
printf "\\n%s\\n" "--------------------------------------------"
printf "[${PINK}Reload${NC}] ${InputFile} was modified.\\n"
printf "%s\\n" "--------------------------------------------"
HashFilelistTxt="$currentHashFilelistTxt"
mainLoopControl=false
exec "$0" "upload" "${InputFile}"
exit 1
fi
upfile_filepath=""
upfile_filename=""
upfile_hostcode=""
upfile_fsize=0
line="${line//[$'\t\r\n']}"
if [[ ${line} =~ ^# ]] ; then
continue
@ -2777,8 +2799,10 @@ MadUploadFromFileTxt() {
continue
fi
if [[ $line =~ \| ]] ; then
upfile_hostcode="${line##*\|}"
upfile_filepath="${line%%\|*}"
upfile_hostcode="${line##*\|}"
else
continue
fi
if [ ! -f "$upfile_filepath" ]; then
upfile_filepath="${WorkDir}/uploads/$upfile_filepath"
@ -2793,41 +2817,6 @@ MadUploadFromFileTxt() {
uploadBadInputLine "$line" "Bad input line (check filename and hostcode are valid)"
continue
fi
if [ -f "${InputFile}" ] ; then
currentHashFilelistTxt=$( sha1sum "${InputFile}" | awk '{print $1}' )
else
currentHashFilelistTxt=$( sha1sum ${InputFile} | awk '{print $1}' )
fi
linematch=""
if [ -f "${WorkDir}/uploads/temp_upload_handler.txt" ]; then
linematch=$(grep -Eni -m 1 "[OK].*file:.*${tfilename}.*host:.*${userentry_hostcode}.*\$" "${WorkDir}/uploads/temp_upload_handler.txt")
if [ ! -z "$linematch" ] ; then
echo -e ""
echo -e "${GREEN}$tfilename${NC} already uploaded to ${userentry_hostcode} in ${GREEN}temp_upload_handler.txt${NC}"
echo -e "${BLUE}line${NC}: ${linematch//, /\\n}"
echo -e ""
successUploadExists "$tfilename" "$userentry_hostcode" "File/Host (OK) found in ./uploads/temp_upload_handler.txt (line#: ${linematch%%:*})"
continue
fi
linematch=$(grep -Eni -m 1 "[FAIL].*file:.*${tfilename}.*host:.*${userentry_hostcode}.*\$" "${WorkDir}/uploads/temp_upload_handler.txt")
if [ ! -z "$linematch" ] ; then
echo -e ""
echo -e "${GREEN}$tfilename${NC} already failed upload to ${userentry_hostcode} in ${GREEN}temp_upload_handler.txt${NC}"
echo -e "${BLUE}line${NC}: ${linematch//, /\\n}"
echo -e ""
skipfailedUpload "$pline" "$tfilename" "$userentry_hostcode" "File/Host (FAIL) found in ./uploads/temp_upload_handler.txt (line#: ${linematch%%:*})"
continue
fi
linematch=$(grep -Eni -m 1 "[RETRY].*file:.*${tfilename}.*host:.*${userentry_hostcode}.*\$" "${WorkDir}/uploads/temp_upload_handler.txt")
if [ ! -z "$linematch" ] ; then
echo -e ""
echo -e "${GREEN}$tfilename${NC} already failed upload to ${userentry_hostcode} in ${GREEN}temp_upload_handler.txt${NC}"
echo -e "${BLUE}line${NC}: ${linematch//, /\\n}"
echo -e ""
skipfailedUpload "$pline" "$tfilename" "$userentry_hostcode" "File/Host (FAIL or RETRY) found in ./uploads/temp_upload_handler.txt (line#: ${linematch%%:*})"
continue
fi
fi
UploadTicket="${WorkDir}/.flocks/upload_${upfile_hostcode}_${upfile_filepath//[^a-zA-Z0-9]/}"
if [ -f "$UploadTicket" ]; then
echo -e "${YELLOW}Lock Exists (Skipping)${NC}: ./.flocks/upload_${upfile_hostcode}_${upfile_filepath//[^a-zA-Z0-9]/}"
@ -3019,7 +3008,7 @@ MadUploadFilesInUploadsFolder() {
userentry_hostcode=$(TrimWhitespace "$hline")
linematch=""
if [ -f "${WorkDir}/uploads/temp_upload_handler.txt" ]; then
linematch=$(grep -Eni -m 1 "[OK].*file:.*${tfilename}.*host:.*${userentry_hostcode}.*\$" "${WorkDir}/uploads/temp_upload_handler.txt")
linematch=$(grep -Eni -m 1 "[OK] file: ${tfilename}, host: ${userentry_hostcode},.*\$" "${WorkDir}/uploads/temp_upload_handler.txt")
if [ ! -z "$linematch" ] ; then
echo -e ""
echo -e "${GREEN}$tfilename${NC} already uploaded to ${userentry_hostcode} in ${GREEN}temp_upload_handler.txt${NC}"
@ -3028,7 +3017,7 @@ MadUploadFilesInUploadsFolder() {
successUploadExists "$tfilename" "$userentry_hostcode" "File/Host (OK) found in ./uploads/temp_upload_handler.txt (line#: ${linematch%%:*})"
continue
fi
linematch=$(grep -Eni -m 1 "[FAIL].*file:.*${tfilename}.*host:.*${userentry_hostcode}.*\$" "${WorkDir}/uploads/temp_upload_handler.txt")
linematch=$(grep -Eni -m 1 "[FAIL] file: ${tfilename}, host: ${userentry_hostcode},.*\$" "${WorkDir}/uploads/temp_upload_handler.txt")
if [ ! -z "$linematch" ] ; then
echo -e ""
echo -e "${GREEN}$tfilename${NC} already failed upload to ${userentry_hostcode} in ${GREEN}temp_upload_handler.txt${NC}"
@ -3037,7 +3026,7 @@ MadUploadFilesInUploadsFolder() {
skipfailedUpload "$pline" "$tfilename" "$userentry_hostcode" "File/Host (FAIL) found in ./uploads/temp_upload_handler.txt (line#: ${linematch%%:*})"
continue
fi
linematch=$(grep -Eni -m 1 "[RETRY].*file:.*${tfilename}.*host:.*${userentry_hostcode}.*\$" "${WorkDir}/uploads/temp_upload_handler.txt")
linematch=$(grep -Eni -m 1 "[RETRY] file: ${tfilename}, host: ${userentry_hostcode},.*\$" "${WorkDir}/uploads/temp_upload_handler.txt")
if [ ! -z "$linematch" ] ; then
echo -e ""
echo -e "${GREEN}$tfilename${NC} already failed upload to ${userentry_hostcode} in ${GREEN}temp_upload_handler.txt${NC}"
@ -3107,7 +3096,7 @@ direct_FetchFileInfo() {
tor_identity="${RANDOM}"
if ((j % 2 == 0)); then
printf "| Retrieving Get/Head: attempt #$j"
file_header=$(tor_curl_request --insecure -m 18 -s -D - -o /dev/null \
file_header=$(tor_curl_request --insecure -m 8 -s -D - -o /dev/null \
-H "Connection: keep-alive" \
-w 'EffectiveUrl=%{url_effective}' \
"$download_url")

Some files were not shown because too many files have changed in this diff Show more