From fa83163a58820a799cf410e11243d71797a687a2 Mon Sep 17 00:00:00 2001 From: kittykat Date: Mon, 18 Nov 2024 14:48:48 +0000 Subject: [PATCH] # 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) --- .audit/mad-audit-curl.log | 305 +++---- .audit/mad-audit-http.log | 207 +++-- .audit/mad-audit-tor_curl-details.log | 1067 +++++++++++++++---------- documentation/README-upload_hosts.txt | 15 +- hosts/9saves.sh | 0 hosts/acid.sh | 0 hosts/anarchaserver.sh | 0 hosts/anonsharing.sh | 0 hosts/bedrive.sh | 0 hosts/biteblob.sh | 0 hosts/bowfile.sh | 0 hosts/click.sh | 0 hosts/dailyuploads.sh | 0 hosts/dataupload.sh | 0 hosts/dbree.sh | 0 hosts/depotkaz.sh | 0 hosts/discreetshare.sh | 0 hosts/dosya.sh | 0 hosts/downloadgg.sh | 0 hosts/eternalhosting.sh | 0 hosts/familleflender.sh | 31 + hosts/fileditch.sh | 268 +++++++ hosts/filedoge.sh | 0 hosts/filedot.sh | 0 hosts/filehaus.sh | 0 hosts/filesquid.sh | 0 hosts/firestorage.sh | 0 hosts/free4e.sh | 0 hosts/gofile.sh | 0 hosts/harrault.sh | 0 hosts/hexload.sh | 0 hosts/innocent.sh | 30 +- hosts/kraken.sh | 0 hosts/lainsafe.sh | 0 hosts/lainsafe_onion.sh | 0 hosts/linxx.sh | 0 hosts/nantes.sh | 0 hosts/netlib.sh | 0 hosts/nofile.sh | 0 hosts/offshorecat.sh | 0 hosts/oshi.sh | 0 hosts/pixeldrain.sh | 0 hosts/ranoz.sh | 0 hosts/shareonline.sh | 0 hosts/soyjak.sh | 0 hosts/tempfileme.sh | 13 +- hosts/tempsh.sh | 0 hosts/turboonion.sh | 0 hosts/up_1fichier.sh | 2 +- hosts/up_acid.sh | 8 + hosts/up_anarchaserver.sh | 2 +- hosts/up_anonsharing.sh | 2 +- hosts/up_axfc.sh | 6 +- hosts/up_bedrive.sh | 2 +- hosts/up_bowfile.sh | 2 +- hosts/up_dailyuploads.sh | 2 +- hosts/up_dataupload.sh | 2 +- hosts/up_dbree.sh | 2 +- hosts/up_depotkaz.sh | 2 +- hosts/up_dosya.sh | 2 +- hosts/up_familleflender.sh | 135 ++++ hosts/up_fileditch.sh | 133 +++ hosts/up_filehaus.sh | 15 +- hosts/up_filesquid.sh | 2 +- hosts/up_firestorage.sh | 2 +- hosts/up_free4e.sh | 0 hosts/up_gofile.sh | 2 +- hosts/up_harrault.sh | 7 + hosts/up_hexload.sh | 2 +- hosts/up_innocent.sh | 2 +- hosts/up_kouploader.sh | 4 +- hosts/up_kraken.sh | 2 +- hosts/up_linxx.sh | 2 +- hosts/up_nantes.sh | 2 +- hosts/up_netlib.sh | 2 +- hosts/up_nippy.sh | 2 +- hosts/up_nofile.sh | 2 +- hosts/up_offshorecat.sh | 2 +- hosts/up_oshi.sh | 2 +- hosts/up_pixeldrain.sh | 4 +- hosts/up_ranoz.sh | 2 +- hosts/up_shareonline.sh | 2 +- hosts/up_soyjak.sh | 2 +- hosts/up_tempfileme.sh | 2 +- hosts/up_tempsh.sh | 2 +- hosts/up_torup.sh | 2 +- hosts/up_turboonion.sh | 2 +- hosts/up_uploadee.sh | 2 +- hosts/up_uploadev.sh | 2 +- hosts/up_uploadflix.sh | 2 +- hosts/up_uploadhive.sh | 2 +- hosts/up_uploadraja.sh | 2 +- hosts/up_yolobit.sh | 2 +- hosts/uploadee.sh | 0 hosts/uploadev.sh | 0 hosts/uploadflix.sh | 0 hosts/uploadhive.sh | 0 hosts/yolobit.sh | 0 hosts/youdbox.sh | 0 mad.sh | 85 +- uploads.txt | 33 +- 101 files changed, 1648 insertions(+), 790 deletions(-) mode change 100755 => 100644 hosts/9saves.sh mode change 100755 => 100644 hosts/acid.sh mode change 100755 => 100644 hosts/anarchaserver.sh mode change 100755 => 100644 hosts/anonsharing.sh mode change 100755 => 100644 hosts/bedrive.sh mode change 100755 => 100644 hosts/biteblob.sh mode change 100755 => 100644 hosts/bowfile.sh mode change 100755 => 100644 hosts/click.sh mode change 100755 => 100644 hosts/dailyuploads.sh mode change 100755 => 100644 hosts/dataupload.sh mode change 100755 => 100644 hosts/dbree.sh mode change 100755 => 100644 hosts/depotkaz.sh mode change 100755 => 100644 hosts/discreetshare.sh mode change 100755 => 100644 hosts/dosya.sh mode change 100755 => 100644 hosts/downloadgg.sh mode change 100755 => 100644 hosts/eternalhosting.sh create mode 100644 hosts/familleflender.sh create mode 100644 hosts/fileditch.sh mode change 100755 => 100644 hosts/filedoge.sh mode change 100755 => 100644 hosts/filedot.sh mode change 100755 => 100644 hosts/filehaus.sh mode change 100755 => 100644 hosts/filesquid.sh mode change 100755 => 100644 hosts/firestorage.sh mode change 100755 => 100644 hosts/free4e.sh mode change 100755 => 100644 hosts/gofile.sh mode change 100755 => 100644 hosts/harrault.sh mode change 100755 => 100644 hosts/hexload.sh mode change 100755 => 100644 hosts/innocent.sh mode change 100755 => 100644 hosts/kraken.sh mode change 100755 => 100644 hosts/lainsafe.sh mode change 100755 => 100644 hosts/lainsafe_onion.sh mode change 100755 => 100644 hosts/linxx.sh mode change 100755 => 100644 hosts/nantes.sh mode change 100755 => 100644 hosts/netlib.sh mode change 100755 => 100644 hosts/nofile.sh mode change 100755 => 100644 hosts/offshorecat.sh mode change 100755 => 100644 hosts/oshi.sh mode change 100755 => 100644 hosts/pixeldrain.sh mode change 100755 => 100644 hosts/ranoz.sh mode change 100755 => 100644 hosts/shareonline.sh mode change 100755 => 100644 hosts/soyjak.sh mode change 100755 => 100644 hosts/tempfileme.sh mode change 100755 => 100644 hosts/tempsh.sh mode change 100755 => 100644 hosts/turboonion.sh mode change 100755 => 100644 hosts/up_1fichier.sh mode change 100755 => 100644 hosts/up_acid.sh mode change 100755 => 100644 hosts/up_anarchaserver.sh mode change 100755 => 100644 hosts/up_anonsharing.sh mode change 100755 => 100644 hosts/up_axfc.sh mode change 100755 => 100644 hosts/up_bedrive.sh mode change 100755 => 100644 hosts/up_bowfile.sh mode change 100755 => 100644 hosts/up_dailyuploads.sh mode change 100755 => 100644 hosts/up_dataupload.sh mode change 100755 => 100644 hosts/up_dbree.sh mode change 100755 => 100644 hosts/up_depotkaz.sh mode change 100755 => 100644 hosts/up_dosya.sh create mode 100644 hosts/up_familleflender.sh create mode 100644 hosts/up_fileditch.sh mode change 100755 => 100644 hosts/up_filehaus.sh mode change 100755 => 100644 hosts/up_firestorage.sh mode change 100755 => 100644 hosts/up_free4e.sh mode change 100755 => 100644 hosts/up_gofile.sh mode change 100755 => 100644 hosts/up_harrault.sh mode change 100755 => 100644 hosts/up_hexload.sh mode change 100755 => 100644 hosts/up_innocent.sh mode change 100755 => 100644 hosts/up_kouploader.sh mode change 100755 => 100644 hosts/up_kraken.sh mode change 100755 => 100644 hosts/up_linxx.sh mode change 100755 => 100644 hosts/up_nantes.sh mode change 100755 => 100644 hosts/up_netlib.sh mode change 100755 => 100644 hosts/up_nippy.sh mode change 100755 => 100644 hosts/up_nofile.sh mode change 100755 => 100644 hosts/up_oshi.sh mode change 100755 => 100644 hosts/up_ranoz.sh mode change 100755 => 100644 hosts/up_shareonline.sh mode change 100755 => 100644 hosts/up_soyjak.sh mode change 100755 => 100644 hosts/up_tempfileme.sh mode change 100755 => 100644 hosts/up_tempsh.sh mode change 100755 => 100644 hosts/up_turboonion.sh mode change 100755 => 100644 hosts/up_uploadev.sh mode change 100755 => 100644 hosts/up_uploadflix.sh mode change 100755 => 100644 hosts/up_uploadhive.sh mode change 100755 => 100644 hosts/up_uploadraja.sh mode change 100755 => 100644 hosts/up_yolobit.sh mode change 100755 => 100644 hosts/uploadee.sh mode change 100755 => 100644 hosts/uploadev.sh mode change 100755 => 100644 hosts/uploadflix.sh mode change 100755 => 100644 hosts/uploadhive.sh mode change 100755 => 100644 hosts/yolobit.sh mode change 100755 => 100644 hosts/youdbox.sh diff --git a/.audit/mad-audit-curl.log b/.audit/mad-audit-curl.log index ca86b40..620a0de 100755 --- a/.audit/mad-audit-curl.log +++ b/.audit/mad-audit-curl.log @@ -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}" \ diff --git a/.audit/mad-audit-http.log b/.audit/mad-audit-http.log index de66ad6..8648778 100755 --- a/.audit/mad-audit-http.log +++ b/.audit/mad-audit-http.log @@ -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 '(?<=

click here)' <<< "$response") +./hosts/up2share.sh:173: download_url="https://up2sha.re"$(grep -oPi '(?<=start automatically, click here)' <<< "$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 '(?<=^${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, -./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, +./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) diff --git a/.audit/mad-audit-tor_curl-details.log b/.audit/mad-audit-tor_curl-details.log index fef0833..2b63d5d 100755 --- a/.audit/mad-audit-tor_curl-details.log +++ b/.audit/mad-audit-tor_curl-details.log @@ -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 @@ -118,53 +129,53 @@ _________________________________________________________________________ ./hosts/1fichier.sh:57: fi ./hosts/1fichier.sh:58: filename=$(sanitize_file_or_folder_name "${filename}") -- -./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:156: target_file_link=$(echo "$cdn_request" | grep -A 2 '
' | grep -oP ' /dev/null ; then -./hosts/1fichier.sh:162: if $is_password_protected; then -./hosts/1fichier.sh:163: echo -e "${RED}ERROR: Incorrect password${NC}\nSince this download required a password, you might have copied it incorrectly?" -./hosts/1fichier.sh:164: passwordProtectedDownload "${remote_url}" -./hosts/1fichier.sh:165: exitDownloadError=true +./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:161: target_file_link=$(echo "$cdn_request" | grep -A 2 '
' | grep -oP ' /dev/null ; then +./hosts/1fichier.sh:167: if $is_password_protected; then +./hosts/1fichier.sh:168: echo -e "${RED}ERROR: Incorrect password${NC}\nSince this download required a password, you might have copied it incorrectly?" +./hosts/1fichier.sh:169: passwordProtectedDownload "${remote_url}" +./hosts/1fichier.sh:170: exitDownloadError=true -- -./hosts/1fichier.sh:189: file_header=$(tor_curl_request --insecure -sSIL -e "${remote_url}" "${target_file_link}") -./hosts/1fichier.sh:190: file_size_bytes=$(grep -oPi '(?<=content-length: ).*' <<< "$file_header") -./hosts/1fichier.sh:191: file_size_bytes=${file_size_bytes//[$'\t\r\n']} -./hosts/1fichier.sh:192: download_inflight_path="${WorkDir}/.inflight/" -./hosts/1fichier.sh:193: completed_location="${WorkDir}/downloads/" -./hosts/1fichier.sh:194: file_path="${download_inflight_path}${filename}" -./hosts/1fichier.sh:195: if [ "${DebugAllEnabled}" == "true" ] ; then -./hosts/1fichier.sh:196: debugHtml "${remote_url##*/?}" "fich_savehead${num_attempt}_${j}" "target_file_link: ${target_file_link}"$'\n'"${file_header}" -./hosts/1fichier.sh:197: fi -./hosts/1fichier.sh:198: if [[ -z "$file_header" ]] || [[ -z "$file_size_bytes" ]]; then -./hosts/1fichier.sh:199: continue +./hosts/1fichier.sh:194: file_header=$(tor_curl_request --insecure -sSIL -e "${remote_url}" "${target_file_link}") +./hosts/1fichier.sh:195: file_size_bytes=$(grep -oPi '(?<=content-length: ).*' <<< "$file_header") +./hosts/1fichier.sh:196: file_size_bytes=${file_size_bytes//[$'\t\r\n']} +./hosts/1fichier.sh:197: download_inflight_path="${WorkDir}/.inflight/" +./hosts/1fichier.sh:198: completed_location="${WorkDir}/downloads/" +./hosts/1fichier.sh:199: file_path="${download_inflight_path}${filename}" +./hosts/1fichier.sh:200: if [ "${DebugAllEnabled}" == "true" ] ; then +./hosts/1fichier.sh:201: debugHtml "${remote_url##*/?}" "fich_savehead${num_attempt}_${j}" "target_file_link: ${target_file_link}"$'\n'"${file_header}" +./hosts/1fichier.sh:202: fi +./hosts/1fichier.sh:203: if [[ -z "$file_header" ]] || [[ -z "$file_size_bytes" ]]; then +./hosts/1fichier.sh:204: continue -- -./hosts/1fichier.sh:256: tor_curl_request --insecure -e "${remote_url}" "${target_file_link}" -C - -o "${file_path}" -./hosts/1fichier.sh:257: rm -f "$flockDownload"; -./hosts/1fichier.sh:258: received_file_size=0 -./hosts/1fichier.sh:259: if [ -f "$file_path" ] ; then -./hosts/1fichier.sh:260: received_file_size=$(stat --format="%s" "$file_path" | tr -d '[:space:]') -./hosts/1fichier.sh:261: fi -./hosts/1fichier.sh:262: if [[ "${received_file_size}" -ne "${file_size_bytes}" ]]; then -./hosts/1fichier.sh:263: echo -e "${RED}ERROR: Size mismatch after downloading${NC}\nPerhaps you or 1fichier lost connection for a while?" -./hosts/1fichier.sh:264: if [ "${finalAttempt}" == "true" ] ; then -./hosts/1fichier.sh:265: droppedSizeBadDownload "${remote_url}" "${filename}" "${received_file_size}" -./hosts/1fichier.sh:266: fi +./hosts/1fichier.sh:261: tor_curl_request --insecure -e "${remote_url}" "${target_file_link}" -C - -o "${file_path}" +./hosts/1fichier.sh:262: rm -f "$flockDownload"; +./hosts/1fichier.sh:263: received_file_size=0 +./hosts/1fichier.sh:264: if [ -f "$file_path" ] ; then +./hosts/1fichier.sh:265: received_file_size=$(stat --format="%s" "$file_path" | tr -d '[:space:]') +./hosts/1fichier.sh:266: fi +./hosts/1fichier.sh:267: if [[ "${received_file_size}" -ne "${file_size_bytes}" ]]; then +./hosts/1fichier.sh:268: echo -e "${RED}ERROR: Size mismatch after downloading${NC}\nPerhaps you or 1fichier lost connection for a while?" +./hosts/1fichier.sh:269: if [ "${finalAttempt}" == "true" ] ; then +./hosts/1fichier.sh:270: droppedSizeBadDownload "${remote_url}" "${filename}" "${received_file_size}" +./hosts/1fichier.sh:271: fi -- -./hosts/1fichier.sh:349: PAGE=$(tor_curl_request --insecure --max-time "$ConnectTimeout" -c "${fich_cookie_jar}" -s "${remote_url}") -./hosts/1fichier.sh:350: if [[ -z ${PAGE} ]]; then -./hosts/1fichier.sh:351: rm -f "${fich_cookie_jar}" -./hosts/1fichier.sh:352: continue -./hosts/1fichier.sh:353: fi -./hosts/1fichier.sh:354: if grep -Eqi 'Warning !|Attention !' <<< "${PAGE}"; then -./hosts/1fichier.sh:355: rm -f "${fich_cookie_jar}" -./hosts/1fichier.sh:356: continue -./hosts/1fichier.sh:357: else -./hosts/1fichier.sh:358: fich_adz_parameter=$(grep -oPi 'name="adz" value="\K[^"]+' <<< "${PAGE}") -./hosts/1fichier.sh:359: if [[ $fich_adz_parameter ]]; then +./hosts/1fichier.sh:354: PAGE=$(tor_curl_request --insecure --max-time "$ConnectTimeout" -c "${fich_cookie_jar}" -s "${remote_url}") +./hosts/1fichier.sh:355: if [[ -z ${PAGE} ]]; then +./hosts/1fichier.sh:356: rm -f "${fich_cookie_jar}" +./hosts/1fichier.sh:357: continue +./hosts/1fichier.sh:358: fi +./hosts/1fichier.sh:359: if grep -Eqi 'Warning !|Attention !' <<< "${PAGE}"; then +./hosts/1fichier.sh:360: rm -f "${fich_cookie_jar}" +./hosts/1fichier.sh:361: continue +./hosts/1fichier.sh:362: else +./hosts/1fichier.sh:363: fich_adz_parameter=$(grep -oPi 'name="adz" value="\K[^"]+' <<< "${PAGE}") +./hosts/1fichier.sh:364: if [[ $fich_adz_parameter ]]; then -- ./hosts/9saves.sh:90: response=$(tor_curl_request --insecure -L -s -b "${ns_cookie_jar}" -c "${ns_cookie_jar}" "$remote_url") ./hosts/9saves.sh:91: if [ "${DebugAllEnabled}" == "true" ] ; then @@ -874,6 +885,32 @@ _________________________________________________________________________ ./hosts/examples/up_example.sh:121: fi ./hosts/examples/up_example.sh:122: successUpload "$pline" "${filepath}" "${_hostCode}" "${filesize}" "${downloadLink}" "{$responseHtml}" -- +./hosts/fileditch.sh:85: file_header=$(tor_curl_request --insecure --head -L -s "$download_url") +./hosts/fileditch.sh:86: if [ "${DebugAllEnabled}" == "true" ] ; then +./hosts/fileditch.sh:87: debugHtml "${remote_url##*/}" "fd_head$j" "download_url: ${download_url}"$'\n'"${file_header}" +./hosts/fileditch.sh:88: fi +./hosts/fileditch.sh:89: if [ ! -z "$file_header" ] ; then +./hosts/fileditch.sh:90: if grep -Eqi '404 Not Found' <<< "${file_header}" ; then +./hosts/fileditch.sh:91: echo -e "${RED}| The file has been removed (404).${NC}" +./hosts/fileditch.sh:92: removedDownload "${remote_url}" +./hosts/fileditch.sh:93: exitDownloadNotAvailable=true +./hosts/fileditch.sh:94: return 1 +./hosts/fileditch.sh:95: fi +-- +./hosts/fileditch.sh:176: tor_curl_request --insecure --speed-limit $DownloadSpeedMin --speed-time $DownloadTimeoutInterval "$download_url" --continue-at - --output "$file_path" +./hosts/fileditch.sh:177: else +./hosts/fileditch.sh:178: tor_curl_request --insecure "$download_url" --continue-at - --output "$file_path" +./hosts/fileditch.sh:179: fi +./hosts/fileditch.sh:180: received_file_size=0 +./hosts/fileditch.sh:181: if [ -f "$file_path" ] ; then +./hosts/fileditch.sh:182: received_file_size=$(stat --format="%s" "$file_path" | tr -d '[:space:]') +./hosts/fileditch.sh:183: fi +./hosts/fileditch.sh:184: if CheckNoHtml "$remote_url" "$filename" "$file_path" ; then +./hosts/fileditch.sh:185: containsHtml=false +./hosts/fileditch.sh:186: else +./hosts/fileditch.sh:187: containsHtml=true +./hosts/fileditch.sh:188: fi +-- ./hosts/filedot.sh:112: PAGE=$(tor_curl_request --insecure --max-time "$ConnectTimeout" -L -s \ ./hosts/filedot.sh:113: -H "User-Agent: $RandomUA" \ ./hosts/filedot.sh:114: -H 'Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8' \ @@ -1124,47 +1161,54 @@ _________________________________________________________________________ ./hosts/hexload.sh:332: containsHtml=true ./hosts/hexload.sh:333: fi -- -./hosts/innocent.sh:98: file_header=$(tor_curl_request --insecure --head -H "Connection: keep-alive" -L -s -i "$download_url" | -./hosts/innocent.sh:99: tee "${WorkDir}/.temp/directhead" & -./hosts/innocent.sh:100: sleep 6 -./hosts/innocent.sh:101: [ -s "${WorkDir}/.temp/directhead" ] -./hosts/innocent.sh:102: kill $! 2>/dev/null -./hosts/innocent.sh:103: ) -./hosts/innocent.sh:104: if [ ! -f "${WorkDir}/.flocks/${remote_url//[^a-zA-Z0-9]/}" ]; then -./hosts/innocent.sh:105: touch "${WorkDir}/.flocks/${remote_url//[^a-zA-Z0-9]/}" -./hosts/innocent.sh:106: fi -./hosts/innocent.sh:107: rm -f "${WorkDir}/.temp/directhead" -./hosts/innocent.sh:108: elif ((j % 3 == 0)); then +./hosts/innocent.sh:97: file_header=$(tor_curl_request --insecure --head -L -s "$download_url") +./hosts/innocent.sh:98: elif ((j % 2 == 0)); then +./hosts/innocent.sh:99: printf "| Retrieving Head (Get): attempt #$j" +./hosts/innocent.sh:100: file_header=$(tor_curl_request --insecure -m 8 -s -D - -o /dev/null \ +./hosts/innocent.sh:101: -H "Connection: keep-alive" \ +./hosts/innocent.sh:102: -w 'EffectiveUrl=%{url_effective}' \ +./hosts/innocent.sh:103: "$download_url") +./hosts/innocent.sh:104: elif ((j % 3 == 0)); then +./hosts/innocent.sh:105: printf "| Retrieving Head (hack): attempt #$j" +./hosts/innocent.sh:106: rm -f "${WorkDir}/.temp/directhead" +./hosts/innocent.sh:107: file_header=$(tor_curl_request --insecure --head -H "Connection: keep-alive" -L -s -i "$download_url" | +./hosts/innocent.sh:108: tee "${WorkDir}/.temp/directhead" & +./hosts/innocent.sh:109: sleep 6 +./hosts/innocent.sh:110: [ -s "${WorkDir}/.temp/directhead" ] +./hosts/innocent.sh:111: kill $! 2>/dev/null +./hosts/innocent.sh:112: ) +./hosts/innocent.sh:113: if [ ! -f "${WorkDir}/.flocks/${remote_url//[^a-zA-Z0-9]/}" ]; then +./hosts/innocent.sh:114: touch "${WorkDir}/.flocks/${remote_url//[^a-zA-Z0-9]/}" +./hosts/innocent.sh:115: fi +./hosts/innocent.sh:116: rm -f "${WorkDir}/.temp/directhead" +./hosts/innocent.sh:117: else -- -./hosts/innocent.sh:110: file_header=$(tor_curl_request --insecure -m 16 -s -D - -o /dev/null \ -./hosts/innocent.sh:111: -H "Connection: keep-alive" \ -./hosts/innocent.sh:112: -w 'EffectiveUrl=%{url_effective}' \ -./hosts/innocent.sh:113: "$download_url") -./hosts/innocent.sh:114: else -./hosts/innocent.sh:115: printf "| Retrieving Head: attempt #$j" -./hosts/innocent.sh:116: file_header=$(tor_curl_request --insecure --head -L -s "$download_url") -./hosts/innocent.sh:117: fi -./hosts/innocent.sh:118: if [ "${DebugAllEnabled}" == "true" ] ; then -./hosts/innocent.sh:119: debugHtml "${remote_url##*/}" "inno_head$j" "download_url: ${download_url}"$'\n'"${file_header}" +./hosts/innocent.sh:119: file_header=$(tor_curl_request --insecure --head -L -s "$download_url") ./hosts/innocent.sh:120: fi -./hosts/innocent.sh:121: if [ ! -z "$file_header" ] ; then -./hosts/innocent.sh:122: if grep -Eqi '404 Not Found' <<< "${file_header}" ; then -./hosts/innocent.sh:123: printf "\\n" -./hosts/innocent.sh:124: echo -e "${RED}| Not Found (404). The file has been removed.${NC}" -./hosts/innocent.sh:125: removedDownload "${remote_url}" -./hosts/innocent.sh:126: exitDownloadNotAvailable=true +./hosts/innocent.sh:121: if [ "${DebugAllEnabled}" == "true" ] ; then +./hosts/innocent.sh:122: debugHtml "${remote_url##*/}" "inno_head$j" "download_url: ${download_url}"$'\n'"${file_header}" +./hosts/innocent.sh:123: fi +./hosts/innocent.sh:124: if [ ! -z "$file_header" ] ; then +./hosts/innocent.sh:125: if grep -Eqi '404 Not Found' <<< "${file_header}" ; then +./hosts/innocent.sh:126: printf "\\n" +./hosts/innocent.sh:127: echo -e "${RED}| Not Found (404). The file has been removed.${NC}" +./hosts/innocent.sh:128: removedDownload "${remote_url}" +./hosts/innocent.sh:129: exitDownloadNotAvailable=true -- -./hosts/innocent.sh:207: tor_curl_request --insecure "$download_url" --output "$file_path" -./hosts/innocent.sh:208: received_file_size=0 -./hosts/innocent.sh:209: if [ -f "$file_path" ] ; then -./hosts/innocent.sh:210: received_file_size=$(stat --format="%s" "$file_path" | tr -d '[:space:]') -./hosts/innocent.sh:211: fi -./hosts/innocent.sh:212: if CheckNoHtml "$remote_url" "$filename" "$file_path" ; then -./hosts/innocent.sh:213: containsHtml=false -./hosts/innocent.sh:214: else -./hosts/innocent.sh:215: containsHtml=true -./hosts/innocent.sh:216: fi -./hosts/innocent.sh:217: if [ "${AutoRepairBadPartials}" == "true" ] && [ "$containsHtml" == "true" ] ; then +./hosts/innocent.sh:211: tor_curl_request --insecure "$download_url" --continue-at - --output "$file_path" +./hosts/innocent.sh:212: else +./hosts/innocent.sh:213: echo -e "${BLUE}| No Resume Fetch${NC}" +./hosts/innocent.sh:214: tor_curl_request --insecure "$download_url" --output "$file_path" +./hosts/innocent.sh:215: fi +./hosts/innocent.sh:216: received_file_size=0 +./hosts/innocent.sh:217: if [ -f "$file_path" ] ; then +./hosts/innocent.sh:218: received_file_size=$(stat --format="%s" "$file_path" | tr -d '[:space:]') +./hosts/innocent.sh:219: fi +./hosts/innocent.sh:220: if CheckNoHtml "$remote_url" "$filename" "$file_path" ; then +./hosts/innocent.sh:221: containsHtml=false +./hosts/innocent.sh:222: else +./hosts/innocent.sh:223: containsHtml=true +./hosts/innocent.sh:224: fi -- ./hosts/kraken.sh:104: PAGE=$(tor_curl_request --insecure --max-time "$ConnectTimeout" -s -L -c "${kraken_cookie_jar}" "${fixed_url}") ./hosts/kraken.sh:105: if [ "${DebugAllEnabled}" == "true" ] ; then @@ -1216,44 +1260,44 @@ _________________________________________________________________________ ./hosts/kraken.sh:297: containsHtml=true ./hosts/kraken.sh:298: fi -- -./hosts/nippy.sh:121: response=$(tor_curl_request --insecure -L -s -b "${nippy_cookie_jar}" -c "${nippy_cookie_jar}" "$fixed_url") -./hosts/nippy.sh:122: if [ "${DebugAllEnabled}" == "true" ] ; then -./hosts/nippy.sh:123: debugHtml "${remote_url##*/}" "nippy_dwnpage$i" "${response}" -./hosts/nippy.sh:124: fi -./hosts/nippy.sh:125: if [[ -z $response ]] ; then -./hosts/nippy.sh:126: rm -f "${nippy_cookie_jar}"; -./hosts/nippy.sh:127: if [ $i == $maxfetchretries ] ; then -./hosts/nippy.sh:128: printf "\\n" -./hosts/nippy.sh:129: echo -e "${RED}| Failed to extract download link.${NC}" -./hosts/nippy.sh:130: warnAndRetryUnknownError=true -./hosts/nippy.sh:131: if [ "${finalAttempt}" == "true" ] ; then +./hosts/nippy.sh:119: response=$(tor_curl_request --insecure -L -s -b "${nippy_cookie_jar}" -c "${nippy_cookie_jar}" "$fixed_url") +./hosts/nippy.sh:120: if [ "${DebugAllEnabled}" == "true" ] ; then +./hosts/nippy.sh:121: debugHtml "${remote_url##*/}" "nippy_dwnpage$i" "fixed_url: ${fixed_url}"$'\n'"${response}" +./hosts/nippy.sh:122: fi +./hosts/nippy.sh:123: if [[ -z $response ]] ; then +./hosts/nippy.sh:124: rm -f "${nippy_cookie_jar}"; +./hosts/nippy.sh:125: if [ $i == $maxfetchretries ] ; then +./hosts/nippy.sh:126: printf "\\n" +./hosts/nippy.sh:127: echo -e "${RED}| Failed to extract download link.${NC}" +./hosts/nippy.sh:128: warnAndRetryUnknownError=true +./hosts/nippy.sh:129: if [ "${finalAttempt}" == "true" ] ; then -- -./hosts/nippy.sh:190: file_header=$(tor_curl_request --insecure -L --head -s \ -./hosts/nippy.sh:191: -b "${nippy_cookie_jar}" -c "${nippy_cookie_jar}" \ -./hosts/nippy.sh:192: "$download_url") -./hosts/nippy.sh:193: if [ "${DebugAllEnabled}" == "true" ] ; then -./hosts/nippy.sh:194: debugHtml "${remote_url##*/}" "nippy_head$j" "FileInfoUrl: ${download_url}"$'\n'"${file_header}" -./hosts/nippy.sh:195: fi -./hosts/nippy.sh:196: if [[ -z $file_header ]] ; then -./hosts/nippy.sh:197: if [ $j == $maxfetchretries ] ; then -./hosts/nippy.sh:198: rm -f "${nippy_cookie_jar}"; -./hosts/nippy.sh:199: printf "\\n" -./hosts/nippy.sh:200: echo -e "${RED}| Failed to extract file info${NC}" +./hosts/nippy.sh:188: file_header=$(tor_curl_request --insecure -L --head -s \ +./hosts/nippy.sh:189: -b "${nippy_cookie_jar}" -c "${nippy_cookie_jar}" \ +./hosts/nippy.sh:190: "$download_url") +./hosts/nippy.sh:191: if [ "${DebugAllEnabled}" == "true" ] ; then +./hosts/nippy.sh:192: debugHtml "${remote_url##*/}" "nippy_head$j" "FileInfoUrl: ${download_url}"$'\n'"${file_header}" +./hosts/nippy.sh:193: fi +./hosts/nippy.sh:194: if [[ -z $file_header ]] ; then +./hosts/nippy.sh:195: if [ $j == $maxfetchretries ] ; then +./hosts/nippy.sh:196: rm -f "${nippy_cookie_jar}"; +./hosts/nippy.sh:197: printf "\\n" +./hosts/nippy.sh:198: echo -e "${RED}| Failed to extract file info${NC}" -- -./hosts/nippy.sh:301: tor_curl_request --insecure -L --speed-limit $DownloadSpeedMin --speed-time $DownloadTimeoutInterval \ -./hosts/nippy.sh:302: "$download_url" --continue-at - --output "$file_path" -./hosts/nippy.sh:303: else -./hosts/nippy.sh:304: tor_curl_request --insecure -L "$download_url" --continue-at - --output "$file_path" -./hosts/nippy.sh:305: fi -./hosts/nippy.sh:306: received_file_size=0 -./hosts/nippy.sh:307: if [ -f "$file_path" ] ; then -./hosts/nippy.sh:308: received_file_size=$(stat --format="%s" "$file_path" | tr -d '[:space:]') -./hosts/nippy.sh:309: fi -./hosts/nippy.sh:310: if CheckNoHtml "$remote_url" "$filename" "$file_path" ; then -./hosts/nippy.sh:311: containsHtml=false -./hosts/nippy.sh:312: else -./hosts/nippy.sh:313: containsHtml=true -./hosts/nippy.sh:314: fi +./hosts/nippy.sh:299: tor_curl_request --insecure -L --speed-limit $DownloadSpeedMin --speed-time $DownloadTimeoutInterval \ +./hosts/nippy.sh:300: "$download_url" --continue-at - --output "$file_path" +./hosts/nippy.sh:301: else +./hosts/nippy.sh:302: tor_curl_request --insecure -L "$download_url" --continue-at - --output "$file_path" +./hosts/nippy.sh:303: fi +./hosts/nippy.sh:304: received_file_size=0 +./hosts/nippy.sh:305: if [ -f "$file_path" ] ; then +./hosts/nippy.sh:306: received_file_size=$(stat --format="%s" "$file_path" | tr -d '[:space:]') +./hosts/nippy.sh:307: fi +./hosts/nippy.sh:308: if CheckNoHtml "$remote_url" "$filename" "$file_path" ; then +./hosts/nippy.sh:309: containsHtml=false +./hosts/nippy.sh:310: else +./hosts/nippy.sh:311: containsHtml=true +./hosts/nippy.sh:312: fi -- ./hosts/oshi.sh:101: file_header=$(tor_curl_request --insecure --head -L -s --referer "$remote_url" "$download_url") ./hosts/oshi.sh:102: if [ "${DebugAllEnabled}" == "true" ] ; then @@ -1404,52 +1448,52 @@ _________________________________________________________________________ ./hosts/tempfileme.sh:98: if [ "${finalAttempt}" == "true" ] ; then ./hosts/tempfileme.sh:99: failedRetryDownload "${remote_url}" "Failed to extract download link" "" -- -./hosts/tempfileme.sh:163: file_header=$(tor_curl_request --insecure -L --head -s --referer "${remote_url}" "$download_url") -./hosts/tempfileme.sh:164: if [ "${DebugAllEnabled}" == "true" ] ; then -./hosts/tempfileme.sh:165: debugHtml "${remote_url##*/}" "tmpme_head$j" "download_url: ${download_url}"$'\n'"${file_header}" -./hosts/tempfileme.sh:166: fi -./hosts/tempfileme.sh:167: if [ ! -z "$file_header" ] ; then -./hosts/tempfileme.sh:168: if grep -Eqi 'HTTP.* 404|Not Found' <<< "${file_header}" ; then -./hosts/tempfileme.sh:169: if [ $j == $maxfetchretries ] ; then -./hosts/tempfileme.sh:170: printf "\\n" -./hosts/tempfileme.sh:171: echo -e "${RED}| The file has been removed (404).${NC}" -./hosts/tempfileme.sh:172: removedDownload "${remote_url}" -./hosts/tempfileme.sh:173: exitDownloadNotAvailable=true +./hosts/tempfileme.sh:170: file_header=$(tor_curl_request --insecure -L --head -s --referer "${remote_url}" "$download_url") +./hosts/tempfileme.sh:171: if [ "${DebugAllEnabled}" == "true" ] ; then +./hosts/tempfileme.sh:172: debugHtml "${remote_url##*/}" "tmpme_head$j" "download_url: ${download_url}"$'\n'"${file_header}" +./hosts/tempfileme.sh:173: fi +./hosts/tempfileme.sh:174: if [ ! -z "$file_header" ] ; then +./hosts/tempfileme.sh:175: if grep -Eqi 'HTTP.* 404|Not Found' <<< "${file_header}" ; then +./hosts/tempfileme.sh:176: if [ $j == $maxfetchretries ] ; then +./hosts/tempfileme.sh:177: printf "\\n" +./hosts/tempfileme.sh:178: echo -e "${RED}| The file has been removed (404).${NC}" +./hosts/tempfileme.sh:179: removedDownload "${remote_url}" +./hosts/tempfileme.sh:180: exitDownloadNotAvailable=true -- -./hosts/tempfileme.sh:293: tor_curl_request --insecure -L \ -./hosts/tempfileme.sh:294: --speed-limit $DownloadSpeedMin --speed-time $DownloadTimeoutInterval \ -./hosts/tempfileme.sh:295: --referer "${remote_url}" \ -./hosts/tempfileme.sh:296: "$download_url" --continue-at - --output "$file_path" -./hosts/tempfileme.sh:297: else -./hosts/tempfileme.sh:298: tor_curl_request --insecure -L \ -./hosts/tempfileme.sh:299: --referer "${remote_url}" \ -./hosts/tempfileme.sh:300: "$download_url" --continue-at - --output "$file_path" -./hosts/tempfileme.sh:301: fi -./hosts/tempfileme.sh:302: else -./hosts/tempfileme.sh:303: if [ "${RateMonitorEnabled}" == "true" ]; then -./hosts/tempfileme.sh:304: tor_curl_request --insecure -L \ -./hosts/tempfileme.sh:305: --speed-limit $DownloadSpeedMin --speed-time $DownloadTimeoutInterval \ -./hosts/tempfileme.sh:306: -H "User-Agent: $RandomUA" \ -./hosts/tempfileme.sh:307: -H "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8" \ -./hosts/tempfileme.sh:308: -H "Accept-Language: en-US,en;q=0.5" \ -./hosts/tempfileme.sh:309: -H "Accept-Encoding: gzip, deflate, br" \ -./hosts/tempfileme.sh:310: -H "Connection: keep-alive" \ -./hosts/tempfileme.sh:311: -H "Upgrade-Insecure-Requests: 1" \ -./hosts/tempfileme.sh:312: -H "Sec-Fetch-Dest: document" \ -./hosts/tempfileme.sh:313: -H "Sec-Fetch-Mode: navigate" \ -./hosts/tempfileme.sh:314: -H "Sec-Fetch-Site: same-origin" \ +./hosts/tempfileme.sh:300: tor_curl_request --insecure -L \ +./hosts/tempfileme.sh:301: --speed-limit $DownloadSpeedMin --speed-time $DownloadTimeoutInterval \ +./hosts/tempfileme.sh:302: --referer "${remote_url}" \ +./hosts/tempfileme.sh:303: "$download_url" --continue-at - --output "$file_path" +./hosts/tempfileme.sh:304: else +./hosts/tempfileme.sh:305: tor_curl_request --insecure -L \ +./hosts/tempfileme.sh:306: --referer "${remote_url}" \ +./hosts/tempfileme.sh:307: "$download_url" --continue-at - --output "$file_path" +./hosts/tempfileme.sh:308: fi +./hosts/tempfileme.sh:309: else +./hosts/tempfileme.sh:310: if [ "${RateMonitorEnabled}" == "true" ]; then +./hosts/tempfileme.sh:311: tor_curl_request --insecure -L \ +./hosts/tempfileme.sh:312: --speed-limit $DownloadSpeedMin --speed-time $DownloadTimeoutInterval \ +./hosts/tempfileme.sh:313: -H "User-Agent: $RandomUA" \ +./hosts/tempfileme.sh:314: -H "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8" \ +./hosts/tempfileme.sh:315: -H "Accept-Language: en-US,en;q=0.5" \ +./hosts/tempfileme.sh:316: -H "Accept-Encoding: gzip, deflate, br" \ +./hosts/tempfileme.sh:317: -H "Connection: keep-alive" \ +./hosts/tempfileme.sh:318: -H "Upgrade-Insecure-Requests: 1" \ +./hosts/tempfileme.sh:319: -H "Sec-Fetch-Dest: document" \ +./hosts/tempfileme.sh:320: -H "Sec-Fetch-Mode: navigate" \ +./hosts/tempfileme.sh:321: -H "Sec-Fetch-Site: same-origin" \ -- -./hosts/tempfileme.sh:319: tor_curl_request --insecure -L \ -./hosts/tempfileme.sh:320: -H "User-Agent: $RandomUA" \ -./hosts/tempfileme.sh:321: -H "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8" \ -./hosts/tempfileme.sh:322: -H "Accept-Language: en-US,en;q=0.5" \ -./hosts/tempfileme.sh:323: -H "Accept-Encoding: gzip, deflate, br" \ -./hosts/tempfileme.sh:324: -H "Connection: keep-alive" \ -./hosts/tempfileme.sh:325: -H "Upgrade-Insecure-Requests: 1" \ -./hosts/tempfileme.sh:326: -H "Sec-Fetch-Dest: document" \ -./hosts/tempfileme.sh:327: -H "Sec-Fetch-Mode: navigate" \ -./hosts/tempfileme.sh:328: -H "Sec-Fetch-Site: same-origin" \ -./hosts/tempfileme.sh:329: -H "Sec-Fetch-User: ?1" \ +./hosts/tempfileme.sh:326: tor_curl_request --insecure -L \ +./hosts/tempfileme.sh:327: -H "User-Agent: $RandomUA" \ +./hosts/tempfileme.sh:328: -H "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8" \ +./hosts/tempfileme.sh:329: -H "Accept-Language: en-US,en;q=0.5" \ +./hosts/tempfileme.sh:330: -H "Accept-Encoding: gzip, deflate, br" \ +./hosts/tempfileme.sh:331: -H "Connection: keep-alive" \ +./hosts/tempfileme.sh:332: -H "Upgrade-Insecure-Requests: 1" \ +./hosts/tempfileme.sh:333: -H "Sec-Fetch-Dest: document" \ +./hosts/tempfileme.sh:334: -H "Sec-Fetch-Mode: navigate" \ +./hosts/tempfileme.sh:335: -H "Sec-Fetch-Site: same-origin" \ +./hosts/tempfileme.sh:336: -H "Sec-Fetch-User: ?1" \ -- ./hosts/tempsh.sh:88: file_header=$(tor_curl_request --insecure -s -D - -o /dev/null -X POST \ ./hosts/tempsh.sh:89: -H "Connection: keep-alive" \ @@ -1496,6 +1540,55 @@ _________________________________________________________________________ ./hosts/tempsh.sh:259: -H "Sec-Fetch-Site: same-origin" \ ./hosts/tempsh.sh:260: -H "Sec-Fetch-User: ?1" \ -- +./hosts/torup.sh:92: response=$(tor_curl_request --insecure -L -s \ +./hosts/torup.sh:93: -c "${fdot_cookie_jar}" \ +./hosts/torup.sh:94: "$fixed_url") +./hosts/torup.sh:95: if [ "${DebugAllEnabled}" == "true" ] ; then +./hosts/torup.sh:96: debugHtml "${remote_url##*/}" "torp_fetch$i" "${response}" +./hosts/torup.sh:97: fi +./hosts/torup.sh:98: if [[ -z $response ]] ; then +./hosts/torup.sh:99: if [ $i == $maxfetchretries ] ; then +./hosts/torup.sh:100: printf "\\n" +./hosts/torup.sh:101: echo -e "${RED}| Failed to extract download url [1]${NC}" +./hosts/torup.sh:102: warnAndRetryUnknownError=true +-- +./hosts/torup.sh:190: tor_curl_request --insecure -L -G --no-alpn \ +./hosts/torup.sh:191: --speed-limit $DownloadSpeedMin --speed-time $DownloadTimeoutInterval \ +./hosts/torup.sh:192: -b "${torp_cookie_jar}" -c "${torp_cookie_jar}" \ +./hosts/torup.sh:193: -H "Referer: $fixed_url" \ +./hosts/torup.sh:194: "$download_url" --output "$file_path" +./hosts/torup.sh:195: else +./hosts/torup.sh:196: tor_curl_request --insecure -L -G --no-alpn \ +./hosts/torup.sh:197: -b "${torp_cookie_jar}" -c "${torp_cookie_jar}" \ +./hosts/torup.sh:198: -H "Referer: $fixed_url" \ +./hosts/torup.sh:199: "$download_url" --output "$file_path" +./hosts/torup.sh:200: fi +./hosts/torup.sh:201: else +./hosts/torup.sh:202: if [ "${RateMonitorEnabled}" == "true" ]; then +./hosts/torup.sh:203: tor_curl_request --insecure -L -G --no-alpn \ +./hosts/torup.sh:204: --speed-limit $DownloadSpeedMin --speed-time $DownloadTimeoutInterval \ +./hosts/torup.sh:205: -H "User-Agent: $RandomUA" \ +./hosts/torup.sh:206: -H "Referer: $fixed_url" \ +./hosts/torup.sh:207: -H "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8" \ +./hosts/torup.sh:208: -H "Accept-Language: en-US,en;q=0.5" \ +./hosts/torup.sh:209: -H "Accept-Encoding: gzip, deflate, br" \ +./hosts/torup.sh:210: -H "Connection: keep-alive" \ +./hosts/torup.sh:211: -H "Upgrade-Insecure-Requests: 1" \ +./hosts/torup.sh:212: -H "Sec-Fetch-Dest: document" \ +./hosts/torup.sh:213: -H "Sec-Fetch-Mode: navigate" \ +-- +./hosts/torup.sh:219: tor_curl_request --insecure -L -G --no-alpn \ +./hosts/torup.sh:220: -H "User-Agent: $RandomUA" \ +./hosts/torup.sh:221: -H "Referer: $fixed_url" \ +./hosts/torup.sh:222: -H "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8" \ +./hosts/torup.sh:223: -H "Accept-Language: en-US,en;q=0.5" \ +./hosts/torup.sh:224: -H "Accept-Encoding: gzip, deflate, br" \ +./hosts/torup.sh:225: -H "Connection: keep-alive" \ +./hosts/torup.sh:226: -H "Upgrade-Insecure-Requests: 1" \ +./hosts/torup.sh:227: -H "Sec-Fetch-Dest: document" \ +./hosts/torup.sh:228: -H "Sec-Fetch-Mode: navigate" \ +./hosts/torup.sh:229: -H "Sec-Fetch-Site: same-origin" \ +-- ./hosts/up2share.sh:91: response=$(tor_curl_request --insecure -L -s -b "${up2share_cookie_jar}" -c "${up2share_cookie_jar}" \ ./hosts/up2share.sh:92: -w "\n\nHTTP_CODE: %{http_code}\nEFFECTIVE_URL: %{url_effective}\n" \ ./hosts/up2share.sh:93: "$fixed_url") @@ -1532,44 +1625,44 @@ _________________________________________________________________________ ./hosts/up2share.sh:204: printf "\\n" ./hosts/up2share.sh:205: echo -e "${RED}| Failed to extract file info${NC}" -- -./hosts/up2share.sh:313: tor_curl_request --insecure -L \ -./hosts/up2share.sh:314: --speed-limit $DownloadSpeedMin --speed-time $DownloadTimeoutInterval \ -./hosts/up2share.sh:315: -b "${up2share_cookie_jar}" -c "${up2share_cookie_jar}" \ -./hosts/up2share.sh:316: -H "Host: up2sha.re" \ -./hosts/up2share.sh:317: --referer "https://up2sha.re/" \ -./hosts/up2share.sh:318: "$download_url" --continue-at - --output "$file_path" -./hosts/up2share.sh:319: else -./hosts/up2share.sh:320: tor_curl_request --insecure -L \ -./hosts/up2share.sh:321: -b "${up2share_cookie_jar}" -c "${up2share_cookie_jar}" \ -./hosts/up2share.sh:322: -H "Host: up2sha.re" \ -./hosts/up2share.sh:323: --referer "https://up2sha.re/" \ -./hosts/up2share.sh:324: "$download_url" --continue-at - --output "$file_path" -./hosts/up2share.sh:325: fi -./hosts/up2share.sh:326: else -./hosts/up2share.sh:327: if [ "${RateMonitorEnabled}" == "true" ]; then -./hosts/up2share.sh:328: tor_curl_request --insecure -L \ -./hosts/up2share.sh:329: --speed-limit $DownloadSpeedMin --speed-time $DownloadTimeoutInterval \ -./hosts/up2share.sh:330: -b "${up2share_cookie_jar}" -c "${up2share_cookie_jar}" \ -./hosts/up2share.sh:331: -H "Host: up2sha.re" \ -./hosts/up2share.sh:332: -H "User-Agent: $RandomUA" \ -./hosts/up2share.sh:333: -H "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8" \ -./hosts/up2share.sh:334: -H "Accept-Language: en-US,en;q=0.5" \ -./hosts/up2share.sh:335: -H "Accept-Encoding: gzip, deflate, br" \ -./hosts/up2share.sh:336: -H "Connection: keep-alive" \ -./hosts/up2share.sh:337: -H "Cookie: lng=eng" \ -./hosts/up2share.sh:338: -H "Upgrade-Insecure-Requests: 1" \ +./hosts/up2share.sh:314: tor_curl_request --insecure -L \ +./hosts/up2share.sh:315: --speed-limit $DownloadSpeedMin --speed-time $DownloadTimeoutInterval \ +./hosts/up2share.sh:316: -b "${up2share_cookie_jar}" -c "${up2share_cookie_jar}" \ +./hosts/up2share.sh:317: -H "Host: up2sha.re" \ +./hosts/up2share.sh:318: --referer "https://up2sha.re/" \ +./hosts/up2share.sh:319: "$download_url" --continue-at - --output "$file_path" +./hosts/up2share.sh:320: else +./hosts/up2share.sh:321: tor_curl_request --insecure -L \ +./hosts/up2share.sh:322: -b "${up2share_cookie_jar}" -c "${up2share_cookie_jar}" \ +./hosts/up2share.sh:323: -H "Host: up2sha.re" \ +./hosts/up2share.sh:324: --referer "https://up2sha.re/" \ +./hosts/up2share.sh:325: "$download_url" --continue-at - --output "$file_path" +./hosts/up2share.sh:326: fi +./hosts/up2share.sh:327: else +./hosts/up2share.sh:328: if [ "${RateMonitorEnabled}" == "true" ]; then +./hosts/up2share.sh:329: tor_curl_request --insecure -L \ +./hosts/up2share.sh:330: --speed-limit $DownloadSpeedMin --speed-time $DownloadTimeoutInterval \ +./hosts/up2share.sh:331: -b "${up2share_cookie_jar}" -c "${up2share_cookie_jar}" \ +./hosts/up2share.sh:332: -H "Host: up2sha.re" \ +./hosts/up2share.sh:333: -H "User-Agent: $RandomUA" \ +./hosts/up2share.sh:334: -H "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8" \ +./hosts/up2share.sh:335: -H "Accept-Language: en-US,en;q=0.5" \ +./hosts/up2share.sh:336: -H "Accept-Encoding: gzip, deflate, br" \ +./hosts/up2share.sh:337: -H "Connection: keep-alive" \ +./hosts/up2share.sh:338: -H "Cookie: lng=eng" \ +./hosts/up2share.sh:339: -H "Upgrade-Insecure-Requests: 1" \ -- -./hosts/up2share.sh:346: tor_curl_request --insecure -L \ -./hosts/up2share.sh:347: -b "${up2share_cookie_jar}" -c "${up2share_cookie_jar}" \ -./hosts/up2share.sh:348: -H "Host: up2sha.re" \ -./hosts/up2share.sh:349: -H "User-Agent: $RandomUA" \ -./hosts/up2share.sh:350: -H "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8" \ -./hosts/up2share.sh:351: -H "Accept-Language: en-US,en;q=0.5" \ -./hosts/up2share.sh:352: -H "Accept-Encoding: gzip, deflate, br" \ -./hosts/up2share.sh:353: -H "Connection: keep-alive" \ -./hosts/up2share.sh:354: -H "Cookie: lng=eng" \ -./hosts/up2share.sh:355: -H "Upgrade-Insecure-Requests: 1" \ -./hosts/up2share.sh:356: -H "Sec-Fetch-Dest: document" \ +./hosts/up2share.sh:347: tor_curl_request --insecure -L \ +./hosts/up2share.sh:348: -b "${up2share_cookie_jar}" -c "${up2share_cookie_jar}" \ +./hosts/up2share.sh:349: -H "Host: up2sha.re" \ +./hosts/up2share.sh:350: -H "User-Agent: $RandomUA" \ +./hosts/up2share.sh:351: -H "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8" \ +./hosts/up2share.sh:352: -H "Accept-Language: en-US,en;q=0.5" \ +./hosts/up2share.sh:353: -H "Accept-Encoding: gzip, deflate, br" \ +./hosts/up2share.sh:354: -H "Connection: keep-alive" \ +./hosts/up2share.sh:355: -H "Cookie: lng=eng" \ +./hosts/up2share.sh:356: -H "Upgrade-Insecure-Requests: 1" \ +./hosts/up2share.sh:357: -H "Sec-Fetch-Dest: document" \ -- ./hosts/uploadee.sh:90: response=$(tor_curl_request --insecure -L -s "$remote_url") ./hosts/uploadee.sh:91: if [ "${DebugAllEnabled}" == "true" ] ; then @@ -1828,17 +1921,17 @@ _________________________________________________________________________ ./hosts/up_1fichier.sh:189: "${PostUrlHost}") ./hosts/up_1fichier.sh:190: if [ "${DebugAllEnabled}" == "true" ] ; then -- -./hosts/up_acid.sh:94: response=$(tor_curl_upload --insecure -i \ -./hosts/up_acid.sh:95: -H "Content-Type: multipart/form-data" \ -./hosts/up_acid.sh:96: -F "time=month" \ -./hosts/up_acid.sh:97: -F "file=@${filepath}" \ -./hosts/up_acid.sh:98: "${PostUrlHost}") -./hosts/up_acid.sh:99: if [ "${DebugAllEnabled}" == "true" ] ; then -./hosts/up_acid.sh:100: debugHtml "${filepath##*/}" "${_hostCode}_upload" "post_url: ${PostUrlHost}"$'\n'"${response}" -./hosts/up_acid.sh:101: fi -./hosts/up_acid.sh:102: if grep -Eqi ' 200 ' <<< "${response}" ; then -./hosts/up_acid.sh:103: hash=$(echo "$response" | tail -2 | head -1) -./hosts/up_acid.sh:104: hash=${hash//[$'\t\r\n']} +./hosts/up_acid.sh:102: response=$(tor_curl_upload --insecure -i \ +./hosts/up_acid.sh:103: -H "Content-Type: multipart/form-data" \ +./hosts/up_acid.sh:104: -F "time=month" \ +./hosts/up_acid.sh:105: -F "file=@${filepath}" \ +./hosts/up_acid.sh:106: "${PostUrlHost}") +./hosts/up_acid.sh:107: if [ "${DebugAllEnabled}" == "true" ] ; then +./hosts/up_acid.sh:108: debugHtml "${filepath##*/}" "${_hostCode}_upload" "post_url: ${PostUrlHost}"$'\n'"${response}" +./hosts/up_acid.sh:109: fi +./hosts/up_acid.sh:110: if grep -Eqi ' 200 ' <<< "${response}" ; then +./hosts/up_acid.sh:111: hash=$(echo "$response" | tail -2 | head -1) +./hosts/up_acid.sh:112: hash=${hash//[$'\t\r\n']} -- ./hosts/up_anarchaserver.sh:102: response=$(tor_curl_upload --insecure -i \ ./hosts/up_anarchaserver.sh:103: -H "Content-Type: multipart/form-data" \ @@ -1866,7 +1959,7 @@ _________________________________________________________________________ -- ./hosts/up_axfc.sh:109: response=$(tor_curl_request --insecure -L -s -b "${axfc_cookie_jar}" -c "${axfc_cookie_jar}" "$fixed_url") ./hosts/up_axfc.sh:110: if [ "${DebugAllEnabled}" == "true" ] ; then -./hosts/up_axfc.sh:111: debugHtml "${remote_url##*/}" "axfc_fetch$i" "${response}" +./hosts/up_axfc.sh:111: debugHtml "${filepath##*/}" "axfc_fetch$i" "${response}" ./hosts/up_axfc.sh:112: fi ./hosts/up_axfc.sh:113: if [[ -z $response ]] ; then ./hosts/up_axfc.sh:114: rm -f "${axfc_cookie_jar}"; @@ -1886,7 +1979,7 @@ _________________________________________________________________________ ./hosts/up_axfc.sh:143: -w "\n\nHTTP_CODE: %{http_code}\nEFFECTIVE_URL: %{url_effective}\n" \ ./hosts/up_axfc.sh:144: "$fixed_url") ./hosts/up_axfc.sh:145: if [ "${DebugAllEnabled}" == "true" ] ; then -./hosts/up_axfc.sh:146: debugHtml "${remote_url##*/}" "axfc_ticket$i" "${response}" +./hosts/up_axfc.sh:146: debugHtml "${filepath##*/}" "axfc_ticket$i" "${response}" -- ./hosts/up_axfc.sh:184: response=$(tor_curl_upload --insecure -L -i -X POST \ ./hosts/up_axfc.sh:185: -H "Content-Type: multipart/form-data" \ @@ -1984,6 +2077,30 @@ _________________________________________________________________________ ./hosts/up_dosya.sh:116: hash=$(grep -oPi '(?<="file_id":").*?(?=")' <<< "$response") ./hosts/up_dosya.sh:117: filesize=$(GetFileSize "$filepath" "false") -- +./hosts/up_familleflender.sh:102: response=$(tor_curl_upload --insecure -i \ +./hosts/up_familleflender.sh:103: -H "Content-Type: multipart/form-data" \ +./hosts/up_familleflender.sh:104: -F "time=month" \ +./hosts/up_familleflender.sh:105: -F "file=@${filepath}" \ +./hosts/up_familleflender.sh:106: "${PostUrlHost}") +./hosts/up_familleflender.sh:107: if [ "${DebugAllEnabled}" == "true" ] ; then +./hosts/up_familleflender.sh:108: debugHtml "${filepath##*/}" "${_hostCode}_upload" "post_url: ${PostUrlHost}"$'\n'"${response}" +./hosts/up_familleflender.sh:109: fi +./hosts/up_familleflender.sh:110: if grep -Eqi ' 200 ' <<< "${response}" ; then +./hosts/up_familleflender.sh:111: hash=$(echo "$response" | tail -2 | head -1) +./hosts/up_familleflender.sh:112: hash=${hash//[$'\t\r\n']} +-- +./hosts/up_fileditch.sh:102: response=$(tor_curl_upload --insecure -i \ +./hosts/up_fileditch.sh:103: -H "Content-Type: multipart/form-data" \ +./hosts/up_fileditch.sh:104: -F "files[]=@${arrFiles[@]}" \ +./hosts/up_fileditch.sh:105: "${PostUrlHost}") +./hosts/up_fileditch.sh:106: if [ "${DebugAllEnabled}" == "true" ] ; then +./hosts/up_fileditch.sh:107: debugHtml "${filepath##*/}" "${_hostCode}_upload" "post_url: ${PostUrlHost}"$'\n'"${response}" +./hosts/up_fileditch.sh:108: fi +./hosts/up_fileditch.sh:109: if grep -Eqi '"success": true,' <<< "${response}" ; then +./hosts/up_fileditch.sh:110: url=$(grep -oPi '(?<="url": ").*?(?=".*$)' <<< "$response") +./hosts/up_fileditch.sh:111: filesize=$(GetFileSize "$filepath" "false") +./hosts/up_fileditch.sh:112: downloadLink="${url//\\/}" +-- ./hosts/up_filehaus.sh:106: response=$(tor_curl_upload --insecure -i \ ./hosts/up_filehaus.sh:107: -H "Content-Type: multipart/form-data" \ ./hosts/up_filehaus.sh:108: -F "file=@$filepath" \ @@ -1992,21 +2109,21 @@ _________________________________________________________________________ ./hosts/up_filehaus.sh:111: if [ "${DebugAllEnabled}" == "true" ] ; then ./hosts/up_filehaus.sh:112: debugHtml "${filepath##*/}" "${_hostCode}_upload" "post_url: ${PostUrlHost}"$'\n'"${response}" ./hosts/up_filehaus.sh:113: fi -./hosts/up_filehaus.sh:114: if grep -Eqi '"status":"ok"' <<< "${response}" ; then -./hosts/up_filehaus.sh:115: url=$(grep -oPi '(?<="downloadPage":").*?(?=")' <<< "$response") -./hosts/up_filehaus.sh:116: hash=$(grep -oPi '(?<=https://gofile.io/d/).*?(?=")' <<< "$response") +./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:116: filesize=$(GetFileSize "$filepath" "false") -- -./hosts/up_filesquid.sh:102: response=$(tor_curl_upload --insecure -i \ -./hosts/up_filesquid.sh:103: -H "Content-Type: multipart/form-data" \ -./hosts/up_filesquid.sh:104: -F "time=month" \ -./hosts/up_filesquid.sh:105: -F "file=@${filepath}" \ -./hosts/up_filesquid.sh:106: "${PostUrlHost}") -./hosts/up_filesquid.sh:107: if [ "${DebugAllEnabled}" == "true" ] ; then -./hosts/up_filesquid.sh:108: debugHtml "${filepath##*/}" "${_hostCode}_upload" "post_url: ${PostUrlHost}"$'\n'"${response}" -./hosts/up_filesquid.sh:109: fi -./hosts/up_filesquid.sh:110: if grep -Eqi ' 200 ' <<< "${response}" ; then -./hosts/up_filesquid.sh:111: hash=$(echo "$response" | tail -2 | head -1) -./hosts/up_filesquid.sh:112: hash=${hash//[$'\t\r\n']} +./hosts/up_filesquid.sh:104: response=$(tor_curl_upload --insecure -i \ +./hosts/up_filesquid.sh:105: -H "Content-Type: multipart/form-data" \ +./hosts/up_filesquid.sh:106: -F "time=month" \ +./hosts/up_filesquid.sh:107: -F "file=@${filepath}" \ +./hosts/up_filesquid.sh:108: "${PostUrlHost}") +./hosts/up_filesquid.sh:109: if [ "${DebugAllEnabled}" == "true" ] ; then +./hosts/up_filesquid.sh:110: debugHtml "${filepath##*/}" "${_hostCode}_upload" "post_url: ${PostUrlHost}"$'\n'"${response}" +./hosts/up_filesquid.sh:111: fi +./hosts/up_filesquid.sh:112: if grep -Eqi 'No password nor allowed IP' <<< "$response"; then +./hosts/up_filesquid.sh:113: if ((i >= maxretries)) ; then +./hosts/up_filesquid.sh:114: echo -e "${RED}| Upload failed. No password nor allowed IP.${NC}" -- ./hosts/up_firestorage.sh:113: response=$(tor_curl_upload --insecure -i \ ./hosts/up_firestorage.sh:114: -H "Content-Type: multipart/form-data" \ @@ -2056,17 +2173,17 @@ _________________________________________________________________________ ./hosts/up_gofile.sh:130: -F "keepalive=1" \ ./hosts/up_gofile.sh:131: -F "file=@$filepath" \ -- -./hosts/up_harrault.sh:94: response=$(tor_curl_upload --insecure -i \ -./hosts/up_harrault.sh:95: -H "Content-Type: multipart/form-data" \ -./hosts/up_harrault.sh:96: -F "time=month" \ -./hosts/up_harrault.sh:97: -F "file=@${filepath}" \ -./hosts/up_harrault.sh:98: "${PostUrlHost}") -./hosts/up_harrault.sh:99: if [ "${DebugAllEnabled}" == "true" ] ; then -./hosts/up_harrault.sh:100: debugHtml "${filepath##*/}" "${_hostCode}_upload" "post_url: ${PostUrlHost}"$'\n'"${response}" -./hosts/up_harrault.sh:101: fi -./hosts/up_harrault.sh:102: if grep -Eqi ' 200 ' <<< "${response}" ; then -./hosts/up_harrault.sh:103: hash=$(echo "$response" | tail -2 | head -1) -./hosts/up_harrault.sh:104: hash=${hash//[$'\t\r\n']} +./hosts/up_harrault.sh:101: response=$(tor_curl_upload --insecure -i \ +./hosts/up_harrault.sh:102: -H "Content-Type: multipart/form-data" \ +./hosts/up_harrault.sh:103: -F "time=month" \ +./hosts/up_harrault.sh:104: -F "file=@${filepath}" \ +./hosts/up_harrault.sh:105: "${PostUrlHost}") +./hosts/up_harrault.sh:106: if [ "${DebugAllEnabled}" == "true" ] ; then +./hosts/up_harrault.sh:107: debugHtml "${filepath##*/}" "${_hostCode}_upload" "post_url: ${PostUrlHost}"$'\n'"${response}" +./hosts/up_harrault.sh:108: fi +./hosts/up_harrault.sh:109: if grep -Eqi ' 200 ' <<< "${response}" ; then +./hosts/up_harrault.sh:110: hash=$(echo "$response" | tail -2 | head -1) +./hosts/up_harrault.sh:111: hash=${hash//[$'\t\r\n']} -- ./hosts/up_hexload.sh:109: response=$(tor_curl_upload --insecure -i \ ./hosts/up_hexload.sh:110: -H "Content-Type: multipart/form-data" \ @@ -2094,7 +2211,7 @@ _________________________________________________________________________ -- ./hosts/up_kouploader.sh:108: response=$(tor_curl_request --insecure -L -s -b "${ko_cookie_jar}" -c "${ko_cookie_jar}" "$PostUrlHost") ./hosts/up_kouploader.sh:109: if [ "${DebugAllEnabled}" == "true" ] ; then -./hosts/up_kouploader.sh:110: debugHtml "${remote_url##*/}" "ko_fetch$i" "${response}" +./hosts/up_kouploader.sh:110: debugHtml "${filepath##*/}" "ko_fetch$i" "${response}" ./hosts/up_kouploader.sh:111: fi ./hosts/up_kouploader.sh:112: if [[ -z $response ]] ; then ./hosts/up_kouploader.sh:113: rm -f "${ko_cookie_jar}"; @@ -2188,6 +2305,18 @@ _________________________________________________________________________ ./hosts/up_nofile.sh:111: url=$(grep -oPi '(?<=\= MaxDownloadRetries)) ; then -./mad.sh:1407: echo -e "${RED}| FAILED: Size mismatch after downloading${NC}" -./mad.sh:1408: exit 1 +./mad.sh:1383: tor_curl_request --insecure -L "$download_url" --continue-at - --output "$file_path" +./mad.sh:1384: received_file_size=0 +./mad.sh:1385: if [ -f "$file_path" ] ; then +./mad.sh:1386: received_file_size=$(stat --format="%s" "$file_path" | tr -d '[:space:]') +./mad.sh:1387: fi +./mad.sh:1388: if ((received_file_size == file_size_bytes)) ; then +./mad.sh:1389: break +./mad.sh:1390: elif ((received_file_size < file_size_bytes)) ; then +./mad.sh:1391: if ((j >= MaxDownloadRetries)) ; then +./mad.sh:1392: echo -e "${RED}| FAILED: Size mismatch after downloading${NC}" +./mad.sh:1393: exit 1 -- -./mad.sh:1451: response=$(tor_curl_request --insecure -L -s https://github.com/lexiforest/curl-impersonate/releases/latest) -./mad.sh:1452: if [ "${DebugAllEnabled}" == "true" ] ; then -./mad.sh:1453: debugHtml "github" "lbf_inst_curlimp$j" "$response" -./mad.sh:1454: fi -./mad.sh:1455: if [ ! -z "$response" ]; then -./mad.sh:1456: latestTag=$(grep -oPi -m 1 '(?<=/curl-impersonate/releases/tag/).*?(?=")' <<< "$response") -./mad.sh:1457: latestBinaryDate=$(grep -oPi -m 1 '(?<== MaxDownloadRetries)) ; then -./mad.sh:1530: echo -e "${RED}| FAILED: Size mismatch after downloading${NC}" -./mad.sh:1531: exit 1 +./mad.sh:1506: tor_curl_request --insecure -L "$download_url" --continue-at - --output "$file_path" +./mad.sh:1507: received_file_size=0 +./mad.sh:1508: if [ -f "$file_path" ] ; then +./mad.sh:1509: received_file_size=$(stat --format="%s" "$file_path" | tr -d '[:space:]') +./mad.sh:1510: fi +./mad.sh:1511: if ((received_file_size == file_size_bytes)) ; then +./mad.sh:1512: break +./mad.sh:1513: elif ((received_file_size < file_size_bytes)) ; then +./mad.sh:1514: if ((j >= MaxDownloadRetries)) ; then +./mad.sh:1515: echo -e "${RED}| FAILED: Size mismatch after downloading${NC}" +./mad.sh:1516: exit 1 -- -./mad.sh:1726: maud_torcurl=$(grep -n -vxE '[[:blank:]]*([#].*)?' $fil | grep -A 12 --color='always' -Ei 'tor_curl') -./mad.sh:1727: echo -e "Files:" -./mad.sh:1728: echo -e "${BLUE}${fil}${NC}" -./mad.sh:1729: echo -e "" -./mad.sh:1730: echo -e "" -./mad.sh:1731: echo -e "${PINK}MAD Audit of http lines:${NC} (${GREEN}grep \"http:\" or \"https:\"${NC})" -./mad.sh:1732: echo -e "_________________________________________________________________________" -./mad.sh:1733: echo -e "$maud_http" -./mad.sh:1734: echo -e "" -./mad.sh:1735: echo -e "${PINK}MAD Audit of curl:${NC} (${GREEN}grep \"curl\"${NC})" -./mad.sh:1736: echo -e "_________________________________________________________________________" +./mad.sh:1711: maud_torcurl=$(grep -n -vxE '[[:blank:]]*([#].*)?' $fil | grep -A 12 --color='always' -Ei 'tor_curl') +./mad.sh:1712: echo -e "Files:" +./mad.sh:1713: echo -e "${BLUE}${fil}${NC}" +./mad.sh:1714: echo -e "" +./mad.sh:1715: echo -e "" +./mad.sh:1716: echo -e "${PINK}MAD Audit of http lines:${NC} (${GREEN}grep \"http:\" or \"https:\"${NC})" +./mad.sh:1717: echo -e "_________________________________________________________________________" +./mad.sh:1718: echo -e "$maud_http" +./mad.sh:1719: echo -e "" +./mad.sh:1720: echo -e "${PINK}MAD Audit of curl:${NC} (${GREEN}grep \"curl\"${NC})" +./mad.sh:1721: echo -e "_________________________________________________________________________" -- -./mad.sh:1739: echo -e "${PINK}MAD Audit of tor_curl (+12 lines after):${NC} (${GREEN}grep \"tor_curl\"${NC})" -./mad.sh:1740: echo -e "_________________________________________________________________________" -./mad.sh:1741: echo -e "$maud_torcurl" +./mad.sh:1724: echo -e "${PINK}MAD Audit of tor_curl (+12 lines after):${NC} (${GREEN}grep \"tor_curl\"${NC})" +./mad.sh:1725: echo -e "_________________________________________________________________________" +./mad.sh:1726: echo -e "$maud_torcurl" +./mad.sh:1727: echo -e "" +./mad.sh:1728: echo -e "" +./mad.sh:1729: done +./mad.sh:1730: else +./mad.sh:1731: cd "$ScriptDir" +./mad.sh:1732: readarray -d $'' arrFiles < <(find . -name "*.sh" -printf '%p\n' | sort -Vk1) +./mad.sh:1733: cd "$WorkDir" +./mad.sh:1734: readarray -d $'' arrFiles2 < <(find . -name "*.sh" -printf '%p\n' | sort -Vk1) +-- +./mad.sh:1739: maud_torcurl=$(grep -n -vxE '[[:blank:]]*([#].*)?' $fil | grep -A 12 --color='always' -Ei 'tor_curl') +./mad.sh:1740: echo -e "Files:" +./mad.sh:1741: echo -e "${BLUE}${fil}${NC}" ./mad.sh:1742: echo -e "" ./mad.sh:1743: echo -e "" -./mad.sh:1744: done -./mad.sh:1745: else -./mad.sh:1746: cd "$ScriptDir" -./mad.sh:1747: readarray -d $'' arrFiles < <(find . -name "*.sh" -printf '%p\n' | sort -Vk1) -./mad.sh:1748: cd "$WorkDir" -./mad.sh:1749: readarray -d $'' arrFiles2 < <(find . -name "*.sh" -printf '%p\n' | sort -Vk1) +./mad.sh:1744: echo -e "${PINK}MAD Audit of http lines:${NC} (${GREEN}grep \"http:\" or \"https:\"${NC})" +./mad.sh:1745: echo -e "_________________________________________________________________________" +./mad.sh:1746: echo -e "$maud_http" +./mad.sh:1747: echo -e "" +./mad.sh:1748: echo -e "${PINK}MAD Audit of curl:${NC} (${GREEN}grep \"curl \"${NC})" +./mad.sh:1749: echo -e "_________________________________________________________________________" -- -./mad.sh:1754: maud_torcurl=$(grep -n -vxE '[[:blank:]]*([#].*)?' $fil | grep -A 12 --color='always' -Ei 'tor_curl') -./mad.sh:1755: echo -e "Files:" -./mad.sh:1756: echo -e "${BLUE}${fil}${NC}" -./mad.sh:1757: echo -e "" -./mad.sh:1758: echo -e "" -./mad.sh:1759: echo -e "${PINK}MAD Audit of http lines:${NC} (${GREEN}grep \"http:\" or \"https:\"${NC})" -./mad.sh:1760: echo -e "_________________________________________________________________________" -./mad.sh:1761: echo -e "$maud_http" -./mad.sh:1762: echo -e "" -./mad.sh:1763: echo -e "${PINK}MAD Audit of curl:${NC} (${GREEN}grep \"curl \"${NC})" -./mad.sh:1764: echo -e "_________________________________________________________________________" +./mad.sh:1752: echo -e "${PINK}MAD Audit of tor_curl (+12 lines after):${NC} (${GREEN}grep \"tor_curl\"${NC})" +./mad.sh:1753: echo -e "_________________________________________________________________________" +./mad.sh:1754: echo -e "$maud_torcurl" +./mad.sh:1755: echo -e "" +./mad.sh:1756: done +./mad.sh:1757: for fil in "${arrFiles2[@]}"; +./mad.sh:1758: do +./mad.sh:1759: maud_http=$(grep -n -vxE '[[:blank:]]*([#].*)?' $fil | grep --color='always' -Ei '(http|https):') +./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:1762: echo -e "Files:" +./mad.sh:1763: echo -e "${BLUE}${fil}${NC}" +./mad.sh:1764: echo -e "" +./mad.sh:1765: echo -e "" +./mad.sh:1766: echo -e "${PINK}MAD Audit of http lines:${NC} (${GREEN}grep \"http:\" or \"https:\"${NC})" +./mad.sh:1767: echo -e "_________________________________________________________________________" +./mad.sh:1768: echo -e "$maud_http" +./mad.sh:1769: echo -e "" +./mad.sh:1770: echo -e "${PINK}MAD Audit of curl:${NC} (${GREEN}grep \"curl\"${NC})" +./mad.sh:1771: echo -e "_________________________________________________________________________" -- -./mad.sh:1767: echo -e "${PINK}MAD Audit of tor_curl (+12 lines after):${NC} (${GREEN}grep \"tor_curl\"${NC})" -./mad.sh:1768: echo -e "_________________________________________________________________________" -./mad.sh:1769: echo -e "$maud_torcurl" -./mad.sh:1770: echo -e "" -./mad.sh:1771: done -./mad.sh:1772: for fil in "${arrFiles2[@]}"; -./mad.sh:1773: do -./mad.sh:1774: maud_http=$(grep -n -vxE '[[:blank:]]*([#].*)?' $fil | grep --color='always' -Ei '(http|https):') -./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:1777: echo -e "Files:" -./mad.sh:1778: echo -e "${BLUE}${fil}${NC}" -./mad.sh:1779: echo -e "" -./mad.sh:1780: echo -e "" -./mad.sh:1781: echo -e "${PINK}MAD Audit of http lines:${NC} (${GREEN}grep \"http:\" or \"https:\"${NC})" -./mad.sh:1782: echo -e "_________________________________________________________________________" -./mad.sh:1783: echo -e "$maud_http" -./mad.sh:1784: echo -e "" -./mad.sh:1785: echo -e "${PINK}MAD Audit of curl:${NC} (${GREEN}grep \"curl\"${NC})" -./mad.sh:1786: echo -e "_________________________________________________________________________" +./mad.sh:1774: echo -e "${PINK}MAD Audit of tor_curl (+12 lines after):${NC} (${GREEN}grep \"tor_curl\"${NC})" +./mad.sh:1775: echo -e "_________________________________________________________________________" +./mad.sh:1776: echo -e "$maud_torcurl" +./mad.sh:1777: echo -e "" +./mad.sh:1778: done +./mad.sh:1779: fi +./mad.sh:1780:} +./mad.sh:1781:madStatus() { +./mad.sh:1782: local InputFile="$1" +./mad.sh:1783: if [ "$arg1" == "status" ] ; then +./mad.sh:1784: clear -- -./mad.sh:1789: echo -e "${PINK}MAD Audit of tor_curl (+12 lines after):${NC} (${GREEN}grep \"tor_curl\"${NC})" -./mad.sh:1790: echo -e "_________________________________________________________________________" -./mad.sh:1791: echo -e "$maud_torcurl" -./mad.sh:1792: echo -e "" -./mad.sh:1793: done -./mad.sh:1794: fi -./mad.sh:1795:} -./mad.sh:1796:madStatus() { -./mad.sh:1797: local InputFile="$1" -./mad.sh:1798: if [ "$arg1" == "status" ] ; then -./mad.sh:1799: clear +./mad.sh:3099: file_header=$(tor_curl_request --insecure -m 8 -s -D - -o /dev/null \ +./mad.sh:3100: -H "Connection: keep-alive" \ +./mad.sh:3101: -w 'EffectiveUrl=%{url_effective}' \ +./mad.sh:3102: "$download_url") +./mad.sh:3103: else +./mad.sh:3104: printf "| Retrieving Head: attempt #$j" +./mad.sh:3105: rm -f "${WorkDir}/.temp/directhead" +./mad.sh:3106: file_header=$(tor_curl_request --insecure --head -H "Connection: keep-alive" -L -s -i "$download_url" | +./mad.sh:3107: tee "${WorkDir}/.temp/directhead" & +./mad.sh:3108: sleep 6 +./mad.sh:3109: [ -s "${WorkDir}/.temp/directhead" ] +./mad.sh:3110: kill $! 2>/dev/null +./mad.sh:3111: ) +./mad.sh:3112: if [ ! -f "${WorkDir}/.flocks/${remote_url//[^a-zA-Z0-9]/}" ]; then +./mad.sh:3113: touch "${WorkDir}/.flocks/${remote_url//[^a-zA-Z0-9]/}" +./mad.sh:3114: fi +./mad.sh:3115: rm -f "${WorkDir}/.temp/directhead" +./mad.sh:3116: fi -- -./mad.sh:3102: file_header=$(tor_curl_request --insecure -m 18 -s -D - -o /dev/null \ -./mad.sh:3103: -H "Connection: keep-alive" \ -./mad.sh:3104: -w 'EffectiveUrl=%{url_effective}' \ -./mad.sh:3105: "$download_url") -./mad.sh:3106: else -./mad.sh:3107: printf "| Retrieving Head: attempt #$j" -./mad.sh:3108: rm -f "${WorkDir}/.temp/directhead" -./mad.sh:3109: file_header=$(tor_curl_request --insecure --head -H "Connection: keep-alive" -L -s -i "$download_url" | -./mad.sh:3110: tee "${WorkDir}/.temp/directhead" & -./mad.sh:3111: sleep 6 -./mad.sh:3112: [ -s "${WorkDir}/.temp/directhead" ] -./mad.sh:3113: kill $! 2>/dev/null -./mad.sh:3114: ) -./mad.sh:3115: if [ ! -f "${WorkDir}/.flocks/${remote_url//[^a-zA-Z0-9]/}" ]; then -./mad.sh:3116: touch "${WorkDir}/.flocks/${remote_url//[^a-zA-Z0-9]/}" -./mad.sh:3117: fi -./mad.sh:3118: rm -f "${WorkDir}/.temp/directhead" -./mad.sh:3119: fi --- -./mad.sh:3237: tor_curl_request --insecure -L --referer "$file_url" "$download_url" --output "$file_path" -./mad.sh:3238: rc=$? -./mad.sh:3239: if [ $rc -ne 0 ] ; then -./mad.sh:3240: printf "${RED}Download Failed (bad exit status).${NC}" -./mad.sh:3241: if [ -f ${file_path} ]; then -./mad.sh:3242: printf "${YELLOW} Partial removed...${NC}" +./mad.sh:3234: tor_curl_request --insecure -L --referer "$file_url" "$download_url" --output "$file_path" +./mad.sh:3235: rc=$? +./mad.sh:3236: if [ $rc -ne 0 ] ; then +./mad.sh:3237: printf "${RED}Download Failed (bad exit status).${NC}" +./mad.sh:3238: if [ -f ${file_path} ]; then +./mad.sh:3239: printf "${YELLOW} Partial removed...${NC}" +./mad.sh:3240: printf "\n\n" +./mad.sh:3241: rm -f "${file_path}" +./mad.sh:3242: else ./mad.sh:3243: printf "\n\n" -./mad.sh:3244: rm -f "${file_path}" -./mad.sh:3245: else -./mad.sh:3246: printf "\n\n" -./mad.sh:3247: fi +./mad.sh:3244: fi -- -./mad.sh:3281: tor_curl_request --insecure -L --speed-limit $DownloadSpeedMin --speed-time $DownloadTimeoutInterval "$download_url" --continue-at - --output "$file_path" -./mad.sh:3282: else -./mad.sh:3283: tor_curl_request --insecure -L --referer "$file_url" "$download_url" --continue-at - --output "$file_path" -./mad.sh:3284: fi -./mad.sh:3285: received_file_size=0 -./mad.sh:3286: if [ -f "$file_path" ] ; then -./mad.sh:3287: received_file_size=$(stat --format="%s" "$file_path" | tr -d '[:space:]') -./mad.sh:3288: fi -./mad.sh:3289: if CheckNoHtml "$remote_url" "$filename" "$file_path" ; then -./mad.sh:3290: containsHtml=false -./mad.sh:3291: else -./mad.sh:3292: containsHtml=true -./mad.sh:3293: fi +./mad.sh:3278: tor_curl_request --insecure -L --speed-limit $DownloadSpeedMin --speed-time $DownloadTimeoutInterval "$download_url" --continue-at - --output "$file_path" +./mad.sh:3279: else +./mad.sh:3280: tor_curl_request --insecure -L --referer "$file_url" "$download_url" --continue-at - --output "$file_path" +./mad.sh:3281: fi +./mad.sh:3282: received_file_size=0 +./mad.sh:3283: if [ -f "$file_path" ] ; then +./mad.sh:3284: received_file_size=$(stat --format="%s" "$file_path" | tr -d '[:space:]') +./mad.sh:3285: fi +./mad.sh:3286: if CheckNoHtml "$remote_url" "$filename" "$file_path" ; then +./mad.sh:3287: containsHtml=false +./mad.sh:3288: else +./mad.sh:3289: containsHtml=true +./mad.sh:3290: fi diff --git a/documentation/README-upload_hosts.txt b/documentation/README-upload_hosts.txt index 18dd12e..9394ba2 100755 --- a/documentation/README-upload_hosts.txt +++ b/documentation/README-upload_hosts.txt @@ -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) + diff --git a/hosts/9saves.sh b/hosts/9saves.sh old mode 100755 new mode 100644 diff --git a/hosts/acid.sh b/hosts/acid.sh old mode 100755 new mode 100644 diff --git a/hosts/anarchaserver.sh b/hosts/anarchaserver.sh old mode 100755 new mode 100644 diff --git a/hosts/anonsharing.sh b/hosts/anonsharing.sh old mode 100755 new mode 100644 diff --git a/hosts/bedrive.sh b/hosts/bedrive.sh old mode 100755 new mode 100644 diff --git a/hosts/biteblob.sh b/hosts/biteblob.sh old mode 100755 new mode 100644 diff --git a/hosts/bowfile.sh b/hosts/bowfile.sh old mode 100755 new mode 100644 diff --git a/hosts/click.sh b/hosts/click.sh old mode 100755 new mode 100644 diff --git a/hosts/dailyuploads.sh b/hosts/dailyuploads.sh old mode 100755 new mode 100644 diff --git a/hosts/dataupload.sh b/hosts/dataupload.sh old mode 100755 new mode 100644 diff --git a/hosts/dbree.sh b/hosts/dbree.sh old mode 100755 new mode 100644 diff --git a/hosts/depotkaz.sh b/hosts/depotkaz.sh old mode 100755 new mode 100644 diff --git a/hosts/discreetshare.sh b/hosts/discreetshare.sh old mode 100755 new mode 100644 diff --git a/hosts/dosya.sh b/hosts/dosya.sh old mode 100755 new mode 100644 diff --git a/hosts/downloadgg.sh b/hosts/downloadgg.sh old mode 100755 new mode 100644 diff --git a/hosts/eternalhosting.sh b/hosts/eternalhosting.sh old mode 100755 new mode 100644 diff --git a/hosts/familleflender.sh b/hosts/familleflender.sh new file mode 100644 index 0000000..f2f91a5 --- /dev/null +++ b/hosts/familleflender.sh @@ -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: (ie. 'fh' for filehaus -- cannot be used by other hosts) +#! HostNick: What is displayed throughout MAD output (ie. 'filehaus' -- "urls.txt has 10 filehaus.." will be displayed) +#! HostFuncPrefix: (ie. 'fh' -- fh_DownloadFile(), fh_FetchFileInfo() .. ) +#! * Note: Must begin with a letter a-z (functions beginning with numbers are no bueno) +#! HostDomainRegex: The regex used to verify matching urls +HostCode='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 diff --git a/hosts/fileditch.sh b/hosts/fileditch.sh new file mode 100644 index 0000000..729f971 --- /dev/null +++ b/hosts/fileditch.sh @@ -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: (ie. 'fh' for filehaus -- cannot be used by other hosts) +#! HostNick: What is displayed throughout MAD output (ie. 'filehaus' -- "urls.txt has 10 filehaus.." will be displayed) +#! HostFuncPrefix: (ie. 'fh' -- fh_DownloadFile(), fh_FetchFileInfo() .. ) +#! * Note: Must begin with a letter a-z (functions beginning with numbers are no bueno) +#! HostDomainRegex: The regex used to verify matching urls +HostCode='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: +#! _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 ------------------- # +#! diff --git a/hosts/filedoge.sh b/hosts/filedoge.sh old mode 100755 new mode 100644 diff --git a/hosts/filedot.sh b/hosts/filedot.sh old mode 100755 new mode 100644 diff --git a/hosts/filehaus.sh b/hosts/filehaus.sh old mode 100755 new mode 100644 diff --git a/hosts/filesquid.sh b/hosts/filesquid.sh old mode 100755 new mode 100644 diff --git a/hosts/firestorage.sh b/hosts/firestorage.sh old mode 100755 new mode 100644 diff --git a/hosts/free4e.sh b/hosts/free4e.sh old mode 100755 new mode 100644 diff --git a/hosts/gofile.sh b/hosts/gofile.sh old mode 100755 new mode 100644 diff --git a/hosts/harrault.sh b/hosts/harrault.sh old mode 100755 new mode 100644 diff --git a/hosts/hexload.sh b/hosts/hexload.sh old mode 100755 new mode 100644 diff --git a/hosts/innocent.sh b/hosts/innocent.sh old mode 100755 new mode 100644 index 9b4b859..228d046 --- a/hosts/innocent.sh +++ b/hosts/innocent.sh @@ -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)" - tor_curl_request --insecure "$download_url" --output "$file_path" + 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:]') diff --git a/hosts/kraken.sh b/hosts/kraken.sh old mode 100755 new mode 100644 diff --git a/hosts/lainsafe.sh b/hosts/lainsafe.sh old mode 100755 new mode 100644 diff --git a/hosts/lainsafe_onion.sh b/hosts/lainsafe_onion.sh old mode 100755 new mode 100644 diff --git a/hosts/linxx.sh b/hosts/linxx.sh old mode 100755 new mode 100644 diff --git a/hosts/nantes.sh b/hosts/nantes.sh old mode 100755 new mode 100644 diff --git a/hosts/netlib.sh b/hosts/netlib.sh old mode 100755 new mode 100644 diff --git a/hosts/nofile.sh b/hosts/nofile.sh old mode 100755 new mode 100644 diff --git a/hosts/offshorecat.sh b/hosts/offshorecat.sh old mode 100755 new mode 100644 diff --git a/hosts/oshi.sh b/hosts/oshi.sh old mode 100755 new mode 100644 diff --git a/hosts/pixeldrain.sh b/hosts/pixeldrain.sh old mode 100755 new mode 100644 diff --git a/hosts/ranoz.sh b/hosts/ranoz.sh old mode 100755 new mode 100644 diff --git a/hosts/shareonline.sh b/hosts/shareonline.sh old mode 100755 new mode 100644 diff --git a/hosts/soyjak.sh b/hosts/soyjak.sh old mode 100755 new mode 100644 diff --git a/hosts/tempfileme.sh b/hosts/tempfileme.sh old mode 100755 new mode 100644 index 0adc370..3dbc912 --- a/hosts/tempfileme.sh +++ b/hosts/tempfileme.sh @@ -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}" diff --git a/hosts/tempsh.sh b/hosts/tempsh.sh old mode 100755 new mode 100644 diff --git a/hosts/turboonion.sh b/hosts/turboonion.sh old mode 100755 new mode 100644 diff --git a/hosts/up_1fichier.sh b/hosts/up_1fichier.sh old mode 100755 new mode 100644 index f7b4f8d..da5e4c4 --- a/hosts/up_1fichier.sh +++ b/hosts/up_1fichier.sh @@ -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 diff --git a/hosts/up_acid.sh b/hosts/up_acid.sh old mode 100755 new mode 100644 index a8b65f2..e7019b6 --- a/hosts/up_acid.sh +++ b/hosts/up_acid.sh @@ -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 diff --git a/hosts/up_anarchaserver.sh b/hosts/up_anarchaserver.sh old mode 100755 new mode 100644 index 3c1d405..8dfcdfd --- a/hosts/up_anarchaserver.sh +++ b/hosts/up_anarchaserver.sh @@ -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 diff --git a/hosts/up_anonsharing.sh b/hosts/up_anonsharing.sh old mode 100755 new mode 100644 index 16db443..261f6c2 --- a/hosts/up_anonsharing.sh +++ b/hosts/up_anonsharing.sh @@ -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 diff --git a/hosts/up_axfc.sh b/hosts/up_axfc.sh old mode 100755 new mode 100644 index 3269b33..460c557 --- a/hosts/up_axfc.sh +++ b/hosts/up_axfc.sh @@ -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}"; diff --git a/hosts/up_bedrive.sh b/hosts/up_bedrive.sh old mode 100755 new mode 100644 index d683c33..b669bef --- a/hosts/up_bedrive.sh +++ b/hosts/up_bedrive.sh @@ -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 diff --git a/hosts/up_bowfile.sh b/hosts/up_bowfile.sh old mode 100755 new mode 100644 index 992613c..b4e5814 --- a/hosts/up_bowfile.sh +++ b/hosts/up_bowfile.sh @@ -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 diff --git a/hosts/up_dailyuploads.sh b/hosts/up_dailyuploads.sh old mode 100755 new mode 100644 index b086152..2e0a500 --- a/hosts/up_dailyuploads.sh +++ b/hosts/up_dailyuploads.sh @@ -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 diff --git a/hosts/up_dataupload.sh b/hosts/up_dataupload.sh old mode 100755 new mode 100644 index 51e27c3..d669d22 --- a/hosts/up_dataupload.sh +++ b/hosts/up_dataupload.sh @@ -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 diff --git a/hosts/up_dbree.sh b/hosts/up_dbree.sh old mode 100755 new mode 100644 index e6e4184..49573c4 --- a/hosts/up_dbree.sh +++ b/hosts/up_dbree.sh @@ -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 diff --git a/hosts/up_depotkaz.sh b/hosts/up_depotkaz.sh old mode 100755 new mode 100644 index 39bb09a..bef5c9d --- a/hosts/up_depotkaz.sh +++ b/hosts/up_depotkaz.sh @@ -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 diff --git a/hosts/up_dosya.sh b/hosts/up_dosya.sh old mode 100755 new mode 100644 index d6915ad..7e63a43 --- a/hosts/up_dosya.sh +++ b/hosts/up_dosya.sh @@ -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 diff --git a/hosts/up_familleflender.sh b/hosts/up_familleflender.sh new file mode 100644 index 0000000..2367208 --- /dev/null +++ b/hosts/up_familleflender.sh @@ -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=&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: (ie. 'fh' for filehaus -- cannot be used by other hosts) +#! HostNick: What is displayed throughout MAD output +#! HostFuncPrefix: 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: +#! _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 ------------------- # +#! diff --git a/hosts/up_fileditch.sh b/hosts/up_fileditch.sh new file mode 100644 index 0000000..1e135b9 --- /dev/null +++ b/hosts/up_fileditch.sh @@ -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/*/ +#! 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: (ie. 'fh' for filehaus -- cannot be used by other hosts) +#! HostNick: What is displayed throughout MAD output +#! HostFuncPrefix: 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: +#! _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 ------------------- # +#! diff --git a/hosts/up_filehaus.sh b/hosts/up_filehaus.sh old mode 100755 new mode 100644 index 8f99ce5..25eb03e --- a/hosts/up_filehaus.sh +++ b/hosts/up_filehaus.sh @@ -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/ or https://filehaus.top/ #! MaxSize: 300GB @@ -37,7 +37,7 @@ fh_UploadFile() { local filepath=${2} local filecnt=${3} local pline=${4} - local filename="${filepath##*/}" + local filename="${filepath##*/}" warnAndRetryUnknownError=false exitUploadError=false exitUploadNotAvailable=false @@ -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}" diff --git a/hosts/up_filesquid.sh b/hosts/up_filesquid.sh index 8646fb0..4d93a60 100644 --- a/hosts/up_filesquid.sh +++ b/hosts/up_filesquid.sh @@ -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 diff --git a/hosts/up_firestorage.sh b/hosts/up_firestorage.sh old mode 100755 new mode 100644 index 5134f54..7a54097 --- a/hosts/up_firestorage.sh +++ b/hosts/up_firestorage.sh @@ -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 diff --git a/hosts/up_free4e.sh b/hosts/up_free4e.sh old mode 100755 new mode 100644 diff --git a/hosts/up_gofile.sh b/hosts/up_gofile.sh old mode 100755 new mode 100644 index 399c5a1..d1d17c9 --- a/hosts/up_gofile.sh +++ b/hosts/up_gofile.sh @@ -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 diff --git a/hosts/up_harrault.sh b/hosts/up_harrault.sh old mode 100755 new mode 100644 index 2772620..b65f780 --- a/hosts/up_harrault.sh +++ b/hosts/up_harrault.sh @@ -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 diff --git a/hosts/up_hexload.sh b/hosts/up_hexload.sh old mode 100755 new mode 100644 index e2acb55..38035f3 --- a/hosts/up_hexload.sh +++ b/hosts/up_hexload.sh @@ -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 diff --git a/hosts/up_innocent.sh b/hosts/up_innocent.sh old mode 100755 new mode 100644 index 768ab75..d3dfa12 --- a/hosts/up_innocent.sh +++ b/hosts/up_innocent.sh @@ -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 diff --git a/hosts/up_kouploader.sh b/hosts/up_kouploader.sh old mode 100755 new mode 100644 index 95eb357..6439b90 --- a/hosts/up_kouploader.sh +++ b/hosts/up_kouploader.sh @@ -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}"; diff --git a/hosts/up_kraken.sh b/hosts/up_kraken.sh old mode 100755 new mode 100644 index 048ec1d..561dde6 --- a/hosts/up_kraken.sh +++ b/hosts/up_kraken.sh @@ -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 diff --git a/hosts/up_linxx.sh b/hosts/up_linxx.sh old mode 100755 new mode 100644 index 8cdd474..95d7ff6 --- a/hosts/up_linxx.sh +++ b/hosts/up_linxx.sh @@ -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 diff --git a/hosts/up_nantes.sh b/hosts/up_nantes.sh old mode 100755 new mode 100644 index 7c99009..d7d871c --- a/hosts/up_nantes.sh +++ b/hosts/up_nantes.sh @@ -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 diff --git a/hosts/up_netlib.sh b/hosts/up_netlib.sh old mode 100755 new mode 100644 index c319bdf..d42f399 --- a/hosts/up_netlib.sh +++ b/hosts/up_netlib.sh @@ -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 diff --git a/hosts/up_nippy.sh b/hosts/up_nippy.sh old mode 100755 new mode 100644 index f861531..a172314 --- a/hosts/up_nippy.sh +++ b/hosts/up_nippy.sh @@ -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 diff --git a/hosts/up_nofile.sh b/hosts/up_nofile.sh old mode 100755 new mode 100644 index 898ba10..89061da --- a/hosts/up_nofile.sh +++ b/hosts/up_nofile.sh @@ -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 diff --git a/hosts/up_offshorecat.sh b/hosts/up_offshorecat.sh index 971eb83..01f2239 100644 --- a/hosts/up_offshorecat.sh +++ b/hosts/up_offshorecat.sh @@ -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 diff --git a/hosts/up_oshi.sh b/hosts/up_oshi.sh old mode 100755 new mode 100644 index 07d34bb..309b81d --- a/hosts/up_oshi.sh +++ b/hosts/up_oshi.sh @@ -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 diff --git a/hosts/up_pixeldrain.sh b/hosts/up_pixeldrain.sh index 91f77f2..32dfe6e 100644 --- a/hosts/up_pixeldrain.sh +++ b/hosts/up_pixeldrain.sh @@ -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 diff --git a/hosts/up_ranoz.sh b/hosts/up_ranoz.sh old mode 100755 new mode 100644 index 13b3a9a..0e71196 --- a/hosts/up_ranoz.sh +++ b/hosts/up_ranoz.sh @@ -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 diff --git a/hosts/up_shareonline.sh b/hosts/up_shareonline.sh old mode 100755 new mode 100644 index be5c808..1d6e551 --- a/hosts/up_shareonline.sh +++ b/hosts/up_shareonline.sh @@ -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 diff --git a/hosts/up_soyjak.sh b/hosts/up_soyjak.sh old mode 100755 new mode 100644 index d80c4e5..f25e468 --- a/hosts/up_soyjak.sh +++ b/hosts/up_soyjak.sh @@ -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 diff --git a/hosts/up_tempfileme.sh b/hosts/up_tempfileme.sh old mode 100755 new mode 100644 index b024f7b..d1ba898 --- a/hosts/up_tempfileme.sh +++ b/hosts/up_tempfileme.sh @@ -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 diff --git a/hosts/up_tempsh.sh b/hosts/up_tempsh.sh old mode 100755 new mode 100644 index f6adbf6..b657f29 --- a/hosts/up_tempsh.sh +++ b/hosts/up_tempsh.sh @@ -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 diff --git a/hosts/up_torup.sh b/hosts/up_torup.sh index c47e0f6..f3136b6 100644 --- a/hosts/up_torup.sh +++ b/hosts/up_torup.sh @@ -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 diff --git a/hosts/up_turboonion.sh b/hosts/up_turboonion.sh old mode 100755 new mode 100644 index 9efc43f..d41d628 --- a/hosts/up_turboonion.sh +++ b/hosts/up_turboonion.sh @@ -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 diff --git a/hosts/up_uploadee.sh b/hosts/up_uploadee.sh index c597c8a..2834b42 100644 --- a/hosts/up_uploadee.sh +++ b/hosts/up_uploadee.sh @@ -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 diff --git a/hosts/up_uploadev.sh b/hosts/up_uploadev.sh old mode 100755 new mode 100644 index 1d46d0c..9ad99d2 --- a/hosts/up_uploadev.sh +++ b/hosts/up_uploadev.sh @@ -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 diff --git a/hosts/up_uploadflix.sh b/hosts/up_uploadflix.sh old mode 100755 new mode 100644 index 0cec8ac..14f9c83 --- a/hosts/up_uploadflix.sh +++ b/hosts/up_uploadflix.sh @@ -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 diff --git a/hosts/up_uploadhive.sh b/hosts/up_uploadhive.sh old mode 100755 new mode 100644 index 33fcab7..e95b62d --- a/hosts/up_uploadhive.sh +++ b/hosts/up_uploadhive.sh @@ -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 diff --git a/hosts/up_uploadraja.sh b/hosts/up_uploadraja.sh old mode 100755 new mode 100644 index 5704449..8f90ba5 --- a/hosts/up_uploadraja.sh +++ b/hosts/up_uploadraja.sh @@ -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 diff --git a/hosts/up_yolobit.sh b/hosts/up_yolobit.sh old mode 100755 new mode 100644 index 5e5a326..0edea4d --- a/hosts/up_yolobit.sh +++ b/hosts/up_yolobit.sh @@ -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 diff --git a/hosts/uploadee.sh b/hosts/uploadee.sh old mode 100755 new mode 100644 diff --git a/hosts/uploadev.sh b/hosts/uploadev.sh old mode 100755 new mode 100644 diff --git a/hosts/uploadflix.sh b/hosts/uploadflix.sh old mode 100755 new mode 100644 diff --git a/hosts/uploadhive.sh b/hosts/uploadhive.sh old mode 100755 new mode 100644 diff --git a/hosts/yolobit.sh b/hosts/yolobit.sh old mode 100755 new mode 100644 diff --git a/hosts/youdbox.sh b/hosts/youdbox.sh old mode 100755 new mode 100644 diff --git a/mad.sh b/mad.sh index 5f8020e..9947354 100644 --- a/mad.sh +++ b/mad.sh @@ -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 @@ -2766,10 +2773,25 @@ MadUploadFromFileTxt() { lockCount=0 sed 's/^[[:space:]]*// ; s/[[:space:]]*$//' "${InputFile}" | while IFS= read -r line - do - filepath="" - filename="" - hostcode="" + do + 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,15 +2799,17 @@ 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" fi upfile_filename="${upfile_filepath##*\/}" upfile_fsize=$(GetFileSize "$upfile_filepath" "false") - if [ ! -f "$upfile_filepath" ] || ((upfile_fsize <= 0)) ; then + if [ ! -f "$upfile_filepath" ] || ((upfile_fsize <= 0)) ; then uploadBadInputLine "$line" "Bad input line (file: $upfile_filepath, size: $upfile_fsize)" continue fi @@ -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]/}" @@ -2861,7 +2850,7 @@ MadUploadFromFileTxt() { done done #loop through the file line by line qChkLineCount=$(grep -Evi '^#|^$|#OK#|#FAIL#|#RETRY#)' "${InputFile}" | wc -l | awk '{ print $1 }') - if ((qChkLineCount > 0)) ; then + if ((qChkLineCount > 0)) ; then if [ "$LoopThroughFileUntilComplete" == "false" ]; then echo -e "${NC}" echo -e "${YELLOW}Unprocessed / Skipped File / HostCode(s) Found:${NC}" @@ -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") diff --git a/uploads.txt b/uploads.txt index 9f711f3..7e6efbf 100755 --- a/uploads.txt +++ b/uploads.txt @@ -1,24 +1,25 @@ # upload.txt -- Files & Hostcodes # ------------------------------- ------------------------------ ------------------------------ # Max Size . HostCode . Nickname ## Max Size . HostCode . Nickname ## Max Size . HostCode . Nickname -# 300GB 1f 1fichier 100MB bow bowfile 250MB upev uploadev.org -# 100MB dbree dbree 2GB dosya dosyaupload 300GB fh filehaus -# 10GB gofile gofile.io 20GB rz ranoz.gg 5GB uhive uploadhive -# 100MB nippy nippy* 100MB nofile nofile 5GB oshi oshi -# 100MB so shareonline 5GB uflix uploadflix 100MB yolo yolobit -# 20GB pd pixeldrain 195MB dup dataupload.net 2GB axfc axfc.net -# 10GB raja uploadraja.com 240MB ko kouploader.jp 4GB tmpsh temp.sh -# 10GB tmpme tempfile.me 300MB trbo turbo.onion 100MB inno innocent.onion -# 1GB ansh anonsharing.com 1GB torp TorUp.onion 4GB offcat offshore.cat -# Jirafraeu hosts -# 10GB anarc anarchaserver 1GB kaz depot.kaz.bzh 5GB squid filesquid -# 10GB nant nantes.cloud 500MB soy soyjak.download 512MB linx linxx.net -# 10GB nlib netlib.re -# ?? fr4e sendfree4e.fr ?? harr harrault.fr ?? acid dl.acid.fr +# 300GB 1f 1fichier 100MB bow bowfile 250MB upev uploadev.org +# 100MB dbree dbree 2GB dosya dosyaupload 300GB fh filehaus +# 10GB gofile gofile.io 20GB rz ranoz.gg 5GB uhive uploadhive +# 100MB nippy nippy* 100MB nofile nofile 5GB oshi oshi +# 100MB so shareonline 100MB yolo yolobit +# 20GB pd pixeldrain 195MB dup dataupload.net 2GB axfc axfc.net +# 10GB raja uploadraja.com 240MB ko kouploader.jp 4GB tmpsh temp.sh +# 10GB tmpme tempfile.me 300MB trbo turbo.onion 100MB inno innocent.onion +# 1GB ansh anonsharing.com 1GB torp TorUp.onion 4GB offcat offshore.cat +# 100MB upee upload.ee 5GB fd fileditch.com +# Jirafraeu hosts (recommended upload 100MB splits as many host only support that) +# 10GB anarc anarchaserver 1GB kaz depot.kaz.bzh 5GB squid filesquid +# 10GB nant nantes.cloud 500MB soy soyjak.download 512MB linx linxx.net +# 10GB nlib netlib.re 100MB ffl famille-flender +# ?? fr4e sendfree4e.fr 100MB harr harrault.fr 100MB acid dl.acid.fr # ?? skpr skrepr.com # (Require js -- do not use) -# 4GB daily dailyuploads 1GB kraken krakenfiles 2GB hex hexload -# 4GB bd bedrive.ru +# 4GB daily dailyuploads 1GB kraken krakenfiles 2GB hex hexload +# 4GB bd bedrive.ru 5GB uflix uploadflix # ------------------------------- ------------------------------ ------------------------------ # Example Uploads Todo: