# 2025.01.18 - [up_nantes] Update the post retention to "week" (host removed "month" option)

# 2025.01.18 - [mad] Updates to url_encode function and addition of conversion of utf8 to ascii function
# 2025.01.17 - [ranoz] Servers response to resume changed, set as no resume type for now
# 2025.01.17 - [uwabaki] Add download handling for uwabaki onion address urls
# 2025.01.16 - [ranoz] Fix filenames with unicode chars in the download url
# 2025.01.16 - [up_axfc] Move convert utf8 to ascii to mad function
# 2025.01.16 - [up_uwabaki] Add uwabaki.party as upload host (1GB, no expiration, no DMCA, no logs)
This commit is contained in:
kittykat 2025-01-18 07:39:09 +00:00
parent eeb8054960
commit 0ba636a488
Signed by: kittykat
GPG key ID: E3F1556620F70C3C
12 changed files with 673 additions and 489 deletions

View file

@ -1,4 +1,4 @@
DateTime: 25.01.15
DateTime: 25.01.18
Files:
./hosts/1fichier.sh
@ -140,6 +140,7 @@ Files:
./hosts/up_uploadflix.sh
./hosts/up_uploadhive.sh
./hosts/up_uploadraja.sh
./hosts/up_uwabaki.sh
./hosts/up_yolobit.sh
./hosts/uwabaki.sh
./hosts/yolobit.sh
@ -352,11 +353,11 @@ _________________________________________________________________________
./hosts/quax.sh:178: tor_curl_request --insecure "$download_url" --continue-at - --output "$file_path"
./hosts/ranoz.sh:90: response=$(tor_curl_request --insecure -L -s "$remote_url")
./hosts/ranoz.sh:157: file_header=$(tor_curl_request --insecure --head -L -i -s "$download_url")
./hosts/ranoz.sh:264: if [ "${UseTorCurlImpersonate}" == "true" ]; then
./hosts/ranoz.sh:266: tor_curl_request --insecure -L -G --no-alpn \
./hosts/ranoz.sh:270: tor_curl_request --insecure -L -G --no-alpn \
./hosts/ranoz.sh:275: tor_curl_request --insecure -L -G --no-alpn \
./hosts/ranoz.sh:290: tor_curl_request --insecure -L -G --no-alpn \
./hosts/ranoz.sh:267: if [ "${UseTorCurlImpersonate}" == "true" ]; then
./hosts/ranoz.sh:269: tor_curl_request --insecure -L -G --no-alpn \
./hosts/ranoz.sh:273: tor_curl_request --insecure -L -G --no-alpn \
./hosts/ranoz.sh:278: tor_curl_request --insecure -L -G --no-alpn \
./hosts/ranoz.sh:293: tor_curl_request --insecure -L -G --no-alpn \
./hosts/syspro.sh:88: response=$(tor_curl_request --insecure -L -s "$remote_url")
./hosts/syspro.sh:186: if [ "${UseTorCurlImpersonate}" == "true" ]; then
./hosts/syspro.sh:188: tor_curl_request --insecure -L \
@ -466,125 +467,126 @@ _________________________________________________________________________
./hosts/up_uploadflix.sh:106: response=$(tor_curl_upload --insecure -i \
./hosts/up_uploadhive.sh:128: response=$(tor_curl_upload --insecure -i \
./hosts/up_uploadraja.sh:102: response=$(tor_curl_upload --insecure -i \
./hosts/up_uwabaki.sh:101: response=$(tor_curl_upload --insecure -i -L \
./hosts/up_yolobit.sh:102: response=$(tor_curl_upload --insecure -i \
./hosts/youdbox.sh:95: response=$(tor_curl_request --insecure -L -i -s "${fixed_url}")
./hosts/youdbox.sh:141: response=$(tor_curl_request --insecure -L -s -X POST --data "$form_data" "${fixed_url}")
./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:114:UseTorCurlImpersonate=false
./mad.sh:405:tor_curl_request() {
./mad.sh:406: if [ "${UseTorCurlImpersonate}" == "true" ]; then
./mad.sh:407: "${curl_impersonate[@]}" --proxy "socks5h://${tor_identity}@${TorIp}:${torPort}" --connect-timeout ${ConnectTimeout} --compressed --globoff "$@"
./mad.sh:409: curl --proxy "socks5h://${tor_identity}@${TorIp}:${torPort}" --connect-timeout ${ConnectTimeout} --compressed --globoff "$@"
./mad.sh:412:tor_curl_request_extended() {
./mad.sh:122:UseTorCurlImpersonate=false
./mad.sh:413:tor_curl_request() {
./mad.sh:414: if [ "${UseTorCurlImpersonate}" == "true" ]; then
./mad.sh:415: "${curl_impersonate[@]}" --proxy "socks5h://${tor_identity}@${TorIp}:${torPort}" --connect-timeout $randomtimeout --compressed --globoff "$@"
./mad.sh:417: curl --proxy "socks5h://${tor_identity}@${TorIp}:${torPort}" --connect-timeout $randomtimeout --compressed --globoff "$@"
./mad.sh:420:tor_curl_upload() {
./mad.sh:421: if [ "${UseTorCurlImpersonate}" == "true" ]; then
./mad.sh:423: "${curl_impersonate[@]}" --proxy "socks5h://${tor_identity}@${TorIp}:${torPort}" --connect-timeout ${ConnectTimeout} --speed-limit $UploadSpeedMin --speed-time $UploadTimeoutInterval --compressed --globoff "$@"
./mad.sh:425: "${curl_impersonate[@]}" --proxy "socks5h://${tor_identity}@${TorIp}:${torPort}" --connect-timeout ${ConnectTimeout} --compressed --globoff "$@"
./mad.sh:429: 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:431: 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:1382:install_curl_impersonate() {
./mad.sh:1384: echo -e "${BLUE}lwthiker curl_impersonate${NC} is the original dev, but it is relatively inactive."
./mad.sh:1385: echo -e "- Currently uses curl v8.1.1."
./mad.sh:1389: echo -e "${BLUE}lexiforest curl_impersonate${NC} is an active fork of curl_impersonate."
./mad.sh:1390: echo -e "+ Currently uses curl v8.7.1"
./mad.sh:1394: PS3='Please select which curl_impersonate to install: '
./mad.sh:1402: install_curl_impersonate_lwthiker_orig
./mad.sh:1406: install_curl_impersonate_lexiforest_fork
./mad.sh:1416:install_curl_impersonate_lwthiker_orig() {
./mad.sh:1420: echo -e "${BLUE}lwthiker curl_impersonate${NC} is the original curl_impersonate."
./mad.sh:1421: echo -e "+ Currently uses curl v8.1.1, and has low activity for updates"
./mad.sh:1424: echo -e "${GREEN}| Fetching:${NC} latest ${BLUE}lwthiker curl_impersonate${NC} info from github...${NC}"
./mad.sh:1427: response=$(tor_curl_request --insecure -L -s https://github.com/lwthiker/curl-impersonate/releases/latest)
./mad.sh:1429: debugHtml "github" "lbf_inst_curlimp$j" "$response"
./mad.sh:1432: latestTag=$(grep -oPi -m 1 '(?<=/curl-impersonate/releases/tag/).*?(?=")' <<< "$response")
./mad.sh:1442: yes_or_no "Do you wish to download and extract curl_impersonate $latestTag (using tor+curl)?" && {
./mad.sh:1444: download_url='https://github.com/lwthiker/curl-impersonate/releases/download/'"$latestTag"'/curl-impersonate-'"$latestTag"'.x86_64-linux-gnu.tar.gz'
./mad.sh:1447: file_header=$(tor_curl_request --insecure --head -Ls "$download_url")
./mad.sh:1449: debugHtml "github" "head_inst_curlimp$j" "${file_header}"
./mad.sh:1497: tor_curl_request --insecure -L "$download_url" --continue-at - --output "$file_path"
./mad.sh:1526: echo -e "| Extracting curl_impersonate..."
./mad.sh:1528: rm -f "${ScriptDir}"/curl*
./mad.sh:1529: mv "$extract_location/curl-impersonate-ff" "${ScriptDir}/"
./mad.sh:1530: mv "$extract_location/curl_ff109" "${ScriptDir}/"
./mad.sh:1531: echo -e "${GREEN}| Done.${NC} Update ${BLUE}\"UseTorCurlImpersonate=true\"${NC} in script to use..."
./mad.sh:1539:install_curl_impersonate_lexiforest_fork() {
./mad.sh:1543: echo -e "${BLUE}lexiforest curl_impersonate${NC} is an active fork of curl_impersonate."
./mad.sh:1544: echo -e "+ Currently uses curl v8.7.1, and is patched for latest CVEs"
./mad.sh:1547: echo -e "${GREEN}| Fetching:${NC} latest ${BLUE}lexiforest curl_impersonate fork${NC} info from github...${NC}"
./mad.sh:1550: response=$(tor_curl_request --insecure -L -s https://github.com/lexiforest/curl-impersonate/releases/latest)
./mad.sh:1552: debugHtml "github" "lbf_inst_curlimp$j" "$response"
./mad.sh:1555: latestTag=$(grep -oPi -m 1 '(?<=/curl-impersonate/releases/tag/).*?(?=")' <<< "$response")
./mad.sh:1565: yes_or_no "Do you wish to download and extract curl_impersonate $latestTag (using tor+curl)?" && {
./mad.sh:1567: download_url='https://github.com/lexiforest/curl-impersonate/releases/download/'"$latestTag"'/curl-impersonate-'"$latestTag"'.x86_64-linux-gnu.tar.gz'
./mad.sh:1570: file_header=$(tor_curl_request --insecure --head -Ls "$download_url")
./mad.sh:1572: debugHtml "github" "head_inst_curlimp$j" "${file_header}"
./mad.sh:1620: tor_curl_request --insecure -L "$download_url" --continue-at - --output "$file_path"
./mad.sh:1649: echo -e "| Extracting curl_impersonate..."
./mad.sh:1651: rm -f "${ScriptDir}"/curl*
./mad.sh:1652: mv "$extract_location/curl-impersonate-chrome" "${ScriptDir}/"
./mad.sh:1653: mv "$extract_location/curl_chrome131" "${ScriptDir}/"
./mad.sh:1654: echo -e "${GREEN}| Done.${NC} Update ${BLUE}\"UseTorCurlImpersonate=true\"${NC} in script to use..."
./mad.sh:1816: echo -e ":${NC} ${GREEN}MAD${PINK} Audit${NC} : Reports usage of http & curl in scripts${PINK}${BLD} :"
./mad.sh:1824: maud_curl=$(grep -n -vxE '[[:blank:]]*([#].*)?' $fil | grep --color='always' -Ei 'curl')
./mad.sh:1825: maud_torcurl=$(grep -n -vxE '[[:blank:]]*([#].*)?' $fil | grep -A 12 --color='always' -Ei 'tor_curl')
./mad.sh:1834: echo -e "${PINK}MAD Audit of curl:${NC} (${GREEN}grep \"curl\"${NC})"
./mad.sh:1836: echo -e "$maud_curl"
./mad.sh:1838: echo -e "${PINK}MAD Audit of tor_curl (+12 lines after):${NC} (${GREEN}grep \"tor_curl\"${NC})"
./mad.sh:1840: echo -e "$maud_torcurl"
./mad.sh:1852: maud_curl=$(grep -n -vxE '[[:blank:]]*([#].*)?' $fil | grep --color='always' -Ei 'curl')
./mad.sh:1853: maud_torcurl=$(grep -n -vxE '[[:blank:]]*([#].*)?' $fil | grep -A 12 --color='always' -Ei 'tor_curl')
./mad.sh:1862: echo -e "${PINK}MAD Audit of curl:${NC} (${GREEN}grep \"curl \"${NC})"
./mad.sh:1864: echo -e "$maud_curl"
./mad.sh:1866: echo -e "${PINK}MAD Audit of tor_curl (+12 lines after):${NC} (${GREEN}grep \"tor_curl\"${NC})"
./mad.sh:1868: echo -e "$maud_torcurl"
./mad.sh:1874: maud_curl=$(grep -n -vxE '[[:blank:]]*([#].*)?' $fil | grep --color='always' -Ei 'curl')
./mad.sh:1875: maud_torcurl=$(grep -n -vxE '[[:blank:]]*([#].*)?' $fil | grep -A 12 --color='always' -Ei 'tor_curl')
./mad.sh:1884: echo -e "${PINK}MAD Audit of curl:${NC} (${GREEN}grep \"curl\"${NC})"
./mad.sh:1886: echo -e "$maud_curl"
./mad.sh:1888: echo -e "${PINK}MAD Audit of tor_curl (+12 lines after):${NC} (${GREEN}grep \"tor_curl\"${NC})"
./mad.sh:1890: echo -e "$maud_torcurl"
./mad.sh:2837: if [ "${UseTorCurlImpersonate}" == "true" ]; then
./mad.sh:2838: printf "client: ${GREEN}Tor${NC} + ${BLUE}curl_impersonate${NC}\\n"
./mad.sh:2840: printf "client: ${GREEN}Tor${NC} + ${GREEN}curl${NC}\\n"
./mad.sh:3012: if [ "${UseTorCurlImpersonate}" == "true" ]; then
./mad.sh:3013: printf "client: ${GREEN}Tor${NC} + ${BLUE}curl_impersonate${NC}\\n"
./mad.sh:3015: printf "client: ${GREEN}Tor${NC} + ${GREEN}curl${NC}\\n"
./mad.sh:3213: file_header=$(tor_curl_request --insecure -m 8 -s -D - -o /dev/null \
./mad.sh:3220: file_header=$(tor_curl_request --insecure --head -H "Connection: keep-alive" -L -s -i "$download_url" |
./mad.sh:3350: tor_curl_request --insecure -L --referer "$file_url" "$download_url" --output "$file_path"
./mad.sh:3394: tor_curl_request --insecure -L --speed-limit $DownloadSpeedMin --speed-time $DownloadTimeoutInterval "$download_url" --continue-at - --output "$file_path"
./mad.sh:3396: tor_curl_request --insecure -L --referer "$file_url" "$download_url" --continue-at - --output "$file_path"
./mad.sh:3594: response=$(tor_curl_upload --insecure -i \
./mad.sh:3601: response=$(tor_curl_upload --insecure -i \
./mad.sh:3672:if [ "${UseTorCurlImpersonate}" == "true" ]; then
./mad.sh:3673: curl_impersonate=()
./mad.sh:3674: readarray -d $'' arrFiles < <(find "$ScriptDir" -maxdepth 1 -name "curl_*" -printf '%p\n' | sort -Vk1)
./mad.sh:3675: bFoundCurlHeader=false
./mad.sh:3679: curl_impersonate=($fil)
./mad.sh:3680: bFoundCurlHeader=true
./mad.sh:3684: if [ "$bFoundCurlHeader" == "false" ]; then
./mad.sh:3685: echo -e "${RED}[ERROR] Missing dependency \"curl-impersonate\"!${NC}"
./mad.sh:3688: echo -e "You'll need to download ${GREEN}\"curl-impersonate\"${NC}."
./mad.sh:3691: echo -e "The latest binary can be obtained on GitHub, search for \"curl-impersonate\""
./mad.sh:3693: echo -e " 1. Visit the page of curl-impersonate and add \"/releases/latest/\" at end of URL."
./mad.sh:3697: echo -e " 4. Download archive ${GREEN}\"curl-impersonate-vX.Y.Z.x86_64-linux-gnu.tar.gz\"${YELLOW}."
./mad.sh:3698: echo -e " 5. Extract files ${GREEN}\"curl-impersonate-ff\"${NC} and ${GREEN}\"curl_ff109\"${NC} next to this script."
./mad.sh:3701: echo -e "run $0 install_curl_impersonate\\n"
./mad.sh:3703: yes_or_no "Do you wish to download and extract latest curl_impersonate (using tor+curl)?" && {
./mad.sh:3704: UseTorCurlImpersonate=false
./mad.sh:3705: install_curl_impersonate
./mad.sh:3789: echo -e "[${YELLOW}Install curl_impersonate${NC}]: Downloads the latest binary for curl_impersonate from github repo (3 choices)"
./mad.sh:3790: printf " %s install_curl_impersonate\\n" "$0"
./mad.sh:3868:elif [[ "$arg1" == "install_curl_impersonate" ]]; then
./mad.sh:3869: install_curl_impersonate
./mad.sh:3900:if [ "${UseTorCurlImpersonate}" == "true" ]; then
./mad.sh:3901: printf "client: ${GREEN}Tor${NC} + ${BLUE}curl_impersonate${NC}\\n"
./mad.sh:3903: printf "client: ${GREEN}Tor${NC} + ${GREEN}curl${NC}\\n"
./mad.sh:415: "${curl_impersonate[@]}" --proxy "socks5h://${tor_identity}@${TorIp}:${torPort}" -4 --connect-timeout ${ConnectTimeout} --compressed --globoff "$@"
./mad.sh:417: curl --proxy "socks5h://${tor_identity}@${TorIp}:${torPort}" -4 --connect-timeout ${ConnectTimeout} --compressed --globoff "$@"
./mad.sh:420:tor_curl_request_extended() {
./mad.sh:422: if [ "${UseTorCurlImpersonate}" == "true" ]; then
./mad.sh:423: "${curl_impersonate[@]}" --proxy "socks5h://${tor_identity}@${TorIp}:${torPort}" -4 --connect-timeout $randomtimeout --compressed --globoff "$@"
./mad.sh:425: curl --proxy "socks5h://${tor_identity}@${TorIp}:${torPort}" -4 --connect-timeout $randomtimeout --compressed --globoff "$@"
./mad.sh:428:tor_curl_upload() {
./mad.sh:429: if [ "${UseTorCurlImpersonate}" == "true" ]; then
./mad.sh:431: "${curl_impersonate[@]}" --proxy "socks5h://${tor_identity}@${TorIp}:${torPort}" -4 --connect-timeout ${ConnectTimeout} --speed-limit $UploadSpeedMin --speed-time $UploadTimeoutInterval --compressed --globoff "$@"
./mad.sh:433: "${curl_impersonate[@]}" --proxy "socks5h://${tor_identity}@${TorIp}:${torPort}" -4 --connect-timeout ${ConnectTimeout} --compressed --globoff "$@"
./mad.sh:437: curl --proxy "socks5h://${tor_identity}@${TorIp}:${torPort}" -4 --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:439: curl --proxy "socks5h://${tor_identity}@${TorIp}:${torPort}" -4 --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:1395:install_curl_impersonate() {
./mad.sh:1397: echo -e "${BLUE}lwthiker curl_impersonate${NC} is the original dev, but it is relatively inactive."
./mad.sh:1398: echo -e "- Currently uses curl v8.1.1."
./mad.sh:1402: echo -e "${BLUE}lexiforest curl_impersonate${NC} is an active fork of curl_impersonate."
./mad.sh:1403: echo -e "+ Currently uses curl v8.7.1"
./mad.sh:1407: PS3='Please select which curl_impersonate to install: '
./mad.sh:1415: install_curl_impersonate_lwthiker_orig
./mad.sh:1419: install_curl_impersonate_lexiforest_fork
./mad.sh:1429:install_curl_impersonate_lwthiker_orig() {
./mad.sh:1433: echo -e "${BLUE}lwthiker curl_impersonate${NC} is the original curl_impersonate."
./mad.sh:1434: echo -e "+ Currently uses curl v8.1.1, and has low activity for updates"
./mad.sh:1437: echo -e "${GREEN}| Fetching:${NC} latest ${BLUE}lwthiker curl_impersonate${NC} info from github...${NC}"
./mad.sh:1440: response=$(tor_curl_request --insecure -L -s https://github.com/lwthiker/curl-impersonate/releases/latest)
./mad.sh:1442: debugHtml "github" "lbf_inst_curlimp$j" "$response"
./mad.sh:1445: latestTag=$(grep -oPi -m 1 '(?<=/curl-impersonate/releases/tag/).*?(?=")' <<< "$response")
./mad.sh:1455: yes_or_no "Do you wish to download and extract curl_impersonate $latestTag (using tor+curl)?" && {
./mad.sh:1457: download_url='https://github.com/lwthiker/curl-impersonate/releases/download/'"$latestTag"'/curl-impersonate-'"$latestTag"'.x86_64-linux-gnu.tar.gz'
./mad.sh:1460: file_header=$(tor_curl_request --insecure --head -Ls "$download_url")
./mad.sh:1462: debugHtml "github" "head_inst_curlimp$j" "${file_header}"
./mad.sh:1510: tor_curl_request --insecure -L "$download_url" --continue-at - --output "$file_path"
./mad.sh:1539: echo -e "| Extracting curl_impersonate..."
./mad.sh:1541: rm -f "${ScriptDir}"/curl*
./mad.sh:1542: mv "$extract_location/curl-impersonate-ff" "${ScriptDir}/"
./mad.sh:1543: mv "$extract_location/curl_ff109" "${ScriptDir}/"
./mad.sh:1544: echo -e "${GREEN}| Done.${NC} Update ${BLUE}\"UseTorCurlImpersonate=true\"${NC} in script to use..."
./mad.sh:1552:install_curl_impersonate_lexiforest_fork() {
./mad.sh:1556: echo -e "${BLUE}lexiforest curl_impersonate${NC} is an active fork of curl_impersonate."
./mad.sh:1557: echo -e "+ Currently uses curl v8.7.1, and is patched for latest CVEs"
./mad.sh:1560: echo -e "${GREEN}| Fetching:${NC} latest ${BLUE}lexiforest curl_impersonate fork${NC} info from github...${NC}"
./mad.sh:1563: response=$(tor_curl_request --insecure -L -s https://github.com/lexiforest/curl-impersonate/releases/latest)
./mad.sh:1565: debugHtml "github" "lbf_inst_curlimp$j" "$response"
./mad.sh:1568: latestTag=$(grep -oPi -m 1 '(?<=/curl-impersonate/releases/tag/).*?(?=")' <<< "$response")
./mad.sh:1578: yes_or_no "Do you wish to download and extract curl_impersonate $latestTag (using tor+curl)?" && {
./mad.sh:1580: download_url='https://github.com/lexiforest/curl-impersonate/releases/download/'"$latestTag"'/curl-impersonate-'"$latestTag"'.x86_64-linux-gnu.tar.gz'
./mad.sh:1583: file_header=$(tor_curl_request --insecure --head -Ls "$download_url")
./mad.sh:1585: debugHtml "github" "head_inst_curlimp$j" "${file_header}"
./mad.sh:1633: tor_curl_request --insecure -L "$download_url" --continue-at - --output "$file_path"
./mad.sh:1662: echo -e "| Extracting curl_impersonate..."
./mad.sh:1664: rm -f "${ScriptDir}"/curl*
./mad.sh:1665: mv "$extract_location/curl-impersonate-chrome" "${ScriptDir}/"
./mad.sh:1666: mv "$extract_location/curl_chrome131" "${ScriptDir}/"
./mad.sh:1667: echo -e "${GREEN}| Done.${NC} Update ${BLUE}\"UseTorCurlImpersonate=true\"${NC} in script to use..."
./mad.sh:1829: echo -e ":${NC} ${GREEN}MAD${PINK} Audit${NC} : Reports usage of http & curl in scripts${PINK}${BLD} :"
./mad.sh:1837: maud_curl=$(grep -n -vxE '[[:blank:]]*([#].*)?' $fil | grep --color='always' -Ei 'curl')
./mad.sh:1838: maud_torcurl=$(grep -n -vxE '[[:blank:]]*([#].*)?' $fil | grep -A 12 --color='always' -Ei 'tor_curl')
./mad.sh:1847: echo -e "${PINK}MAD Audit of curl:${NC} (${GREEN}grep \"curl\"${NC})"
./mad.sh:1849: echo -e "$maud_curl"
./mad.sh:1851: echo -e "${PINK}MAD Audit of tor_curl (+12 lines after):${NC} (${GREEN}grep \"tor_curl\"${NC})"
./mad.sh:1853: echo -e "$maud_torcurl"
./mad.sh:1865: maud_curl=$(grep -n -vxE '[[:blank:]]*([#].*)?' $fil | grep --color='always' -Ei 'curl')
./mad.sh:1866: maud_torcurl=$(grep -n -vxE '[[:blank:]]*([#].*)?' $fil | grep -A 12 --color='always' -Ei 'tor_curl')
./mad.sh:1875: echo -e "${PINK}MAD Audit of curl:${NC} (${GREEN}grep \"curl \"${NC})"
./mad.sh:1877: echo -e "$maud_curl"
./mad.sh:1879: echo -e "${PINK}MAD Audit of tor_curl (+12 lines after):${NC} (${GREEN}grep \"tor_curl\"${NC})"
./mad.sh:1881: echo -e "$maud_torcurl"
./mad.sh:1887: maud_curl=$(grep -n -vxE '[[:blank:]]*([#].*)?' $fil | grep --color='always' -Ei 'curl')
./mad.sh:1888: maud_torcurl=$(grep -n -vxE '[[:blank:]]*([#].*)?' $fil | grep -A 12 --color='always' -Ei 'tor_curl')
./mad.sh:1897: echo -e "${PINK}MAD Audit of curl:${NC} (${GREEN}grep \"curl\"${NC})"
./mad.sh:1899: echo -e "$maud_curl"
./mad.sh:1901: echo -e "${PINK}MAD Audit of tor_curl (+12 lines after):${NC} (${GREEN}grep \"tor_curl\"${NC})"
./mad.sh:1903: echo -e "$maud_torcurl"
./mad.sh:2850: if [ "${UseTorCurlImpersonate}" == "true" ]; then
./mad.sh:2851: printf "client: ${GREEN}Tor${NC} + ${BLUE}curl_impersonate${NC}\\n"
./mad.sh:2853: printf "client: ${GREEN}Tor${NC} + ${GREEN}curl${NC}\\n"
./mad.sh:3025: if [ "${UseTorCurlImpersonate}" == "true" ]; then
./mad.sh:3026: printf "client: ${GREEN}Tor${NC} + ${BLUE}curl_impersonate${NC}\\n"
./mad.sh:3028: printf "client: ${GREEN}Tor${NC} + ${GREEN}curl${NC}\\n"
./mad.sh:3226: file_header=$(tor_curl_request --insecure -m 8 -s -D - -o /dev/null \
./mad.sh:3233: file_header=$(tor_curl_request --insecure --head -H "Connection: keep-alive" -L -s -i "$download_url" |
./mad.sh:3363: tor_curl_request --insecure -L --referer "$file_url" "$download_url" --output "$file_path"
./mad.sh:3407: tor_curl_request --insecure -L --speed-limit $DownloadSpeedMin --speed-time $DownloadTimeoutInterval "$download_url" --continue-at - --output "$file_path"
./mad.sh:3409: tor_curl_request --insecure -L --referer "$file_url" "$download_url" --continue-at - --output "$file_path"
./mad.sh:3607: response=$(tor_curl_upload --insecure -i \
./mad.sh:3614: response=$(tor_curl_upload --insecure -i \
./mad.sh:3685:if [ "${UseTorCurlImpersonate}" == "true" ]; then
./mad.sh:3686: curl_impersonate=()
./mad.sh:3687: readarray -d $'' arrFiles < <(find "$ScriptDir" -maxdepth 1 -name "curl_*" -printf '%p\n' | sort -Vk1)
./mad.sh:3688: bFoundCurlHeader=false
./mad.sh:3692: curl_impersonate=($fil)
./mad.sh:3693: bFoundCurlHeader=true
./mad.sh:3697: if [ "$bFoundCurlHeader" == "false" ]; then
./mad.sh:3698: echo -e "${RED}[ERROR] Missing dependency \"curl-impersonate\"!${NC}"
./mad.sh:3701: echo -e "You'll need to download ${GREEN}\"curl-impersonate\"${NC}."
./mad.sh:3704: echo -e "The latest binary can be obtained on GitHub, search for \"curl-impersonate\""
./mad.sh:3706: echo -e " 1. Visit the page of curl-impersonate and add \"/releases/latest/\" at end of URL."
./mad.sh:3710: echo -e " 4. Download archive ${GREEN}\"curl-impersonate-vX.Y.Z.x86_64-linux-gnu.tar.gz\"${YELLOW}."
./mad.sh:3711: echo -e " 5. Extract files ${GREEN}\"curl-impersonate-ff\"${NC} and ${GREEN}\"curl_ff109\"${NC} next to this script."
./mad.sh:3714: echo -e "run $0 install_curl_impersonate\\n"
./mad.sh:3716: yes_or_no "Do you wish to download and extract latest curl_impersonate (using tor+curl)?" && {
./mad.sh:3717: UseTorCurlImpersonate=false
./mad.sh:3718: install_curl_impersonate
./mad.sh:3802: echo -e "[${YELLOW}Install curl_impersonate${NC}]: Downloads the latest binary for curl_impersonate from github repo (3 choices)"
./mad.sh:3803: printf " %s install_curl_impersonate\\n" "$0"
./mad.sh:3881:elif [[ "$arg1" == "install_curl_impersonate" ]]; then
./mad.sh:3882: install_curl_impersonate
./mad.sh:3913:if [ "${UseTorCurlImpersonate}" == "true" ]; then
./mad.sh:3914: printf "client: ${GREEN}Tor${NC} + ${BLUE}curl_impersonate${NC}\\n"
./mad.sh:3916: printf "client: ${GREEN}Tor${NC} + ${GREEN}curl${NC}\\n"
./plugins/pjscloud.sh:44: if [ "${UseTorCurlImpersonate}" == "true" ]; then
./plugins/pjscloud.sh:45: response=$("${curl_impersonate[@]}" --proxy "socks5h://${tor_identity}@${TorIp}:${torPort}" \
./plugins/pjscloud.sh:53: response=$(curl --proxy "socks5h://${tor_identity}@${TorIp}:${torPort}" \

View file

@ -1,4 +1,4 @@
DateTime: 25.01.15
DateTime: 25.01.18
Files:
./hosts/1fichier.sh
@ -140,6 +140,7 @@ Files:
./hosts/up_uploadflix.sh
./hosts/up_uploadhive.sh
./hosts/up_uploadraja.sh
./hosts/up_uwabaki.sh
./hosts/up_yolobit.sh
./hosts/uwabaki.sh
./hosts/yolobit.sh
@ -424,76 +425,79 @@ _________________________________________________________________________
./hosts/up_uploadhive.sh:149: downloadLink="https://uploadhive.com/${hash}"
./hosts/up_uploadraja.sh:99: PostUrlHost='https://awsaisiaposisition69.kalpstudio.xyz/cgi-bin/upload.cgi?upload_type=file&utype=anon'
./hosts/up_uploadraja.sh:119: downloadLink="https://uploadraja.com/$hash"
./hosts/up_uwabaki.sh:98: PostUrlHost="https://files.uwabaki.party/upload.php"
./hosts/up_uwabaki.sh:108: if grep -Eqi 'File uploaded: <a href="https://files.uwabaki.party/' <<< "${response}" ; then
./hosts/up_uwabaki.sh:120: downloadLink="https://files.uwabaki.party${url}"
./hosts/up_yolobit.sh:99: PostUrlHost='https://ns08.zipcluster.com/upload.php'
./mad.sh:683: sed -i -e "s>^${url/https:/http:}.*>#& #OK# ${filename}>g" "${InputFile}" #http (if changed)
./mad.sh:685: sed -i -e "s>^direct=${url/https:/http:}.*>#& #OK# ${filename}>g" "${InputFile}" #direct url https
./mad.sh:688: sed -i -e "s>^${url/https:/http:}.*>#&>g" "${InputFile}" #http (if changed)
./mad.sh:690: sed -i -e "s>^direct=${url/https:/http:}.*>#&>g" "${InputFile}" #direct url https
./mad.sh:711: sed -i -e "s>^${url/https:/http:}.*>#& #OK# ${filename} (File exists)>g" "${InputFile}" #http (if changed)
./mad.sh:713: sed -i -e "s>^direct=${url/https:/http:}.*>#& #OK# ${filename} (File exists)>g" "${InputFile}" #direct url https
./mad.sh:716: sed -i -e "s>^${url/https:/http:}.*>#&>g" "${InputFile}" #http (if changed)
./mad.sh:718: sed -i -e "s>^direct=${url/https:/http:}.*>#&>g" "${InputFile}" #direct url https
./mad.sh:739: sed -i -e "s>^${url/https:/http:}.*>#& #RETRY# ${message}>g" "${InputFile}" #http (if changed)
./mad.sh:741: sed -i -e "s>^direct=${url/https:/http:}.*>#& #RETRY# ${message}>g" "${InputFile}" #direct url https
./mad.sh:744: sed -i -e "s>^${url/https:/http:}.*>#&>g" "${InputFile}" #http (if changed)
./mad.sh:746: sed -i -e "s>^direct=${url/https:/http:}.*>#&>g" "${InputFile}" #direct url https
./mad.sh:768: sed -i -e "s>^${url/https:/http:}.*>#& #FAIL# $message>g" "${InputFile}" #http (if changed)
./mad.sh:770: sed -i -e "s>^direct=${url/https:/http:}.*>#& #FAIL# $message>g" "${InputFile}" #direct url https
./mad.sh:773: sed -i -e "s>^${url/https:/http:}.*>#&>g" "${InputFile}" #http (if changed)
./mad.sh:775: sed -i -e "s>^direct=${url/https:/http:}.*>#&>g" "${InputFile}" #direct url https
./mad.sh:799: sed -i -e "s>^${url/https:/http:}.*>#& #REMOVED#${message}>g" "${InputFile}" #http (if changed)
./mad.sh:801: sed -i -e "s>^direct=${url/https:/http:}.*>#& #REMOVED#${message}>g" "${InputFile}" #direct url https
./mad.sh:804: sed -i -e "s>^${url/https:/http:}.*>#&>g" "${InputFile}" #http (if changed)
./mad.sh:806: sed -i -e "s>^direct=${url/https:/http:}.*>#&>g" "${InputFile}" #direct url https
./mad.sh:832: sed -i -e "s>^${url/https:/http:}.*>${url}|${newfilename}>g" "${InputFile}" #http (if changed)
./mad.sh:834: sed -i -e "s>^direct=${url/https:/http:}.*>direct=${url}|${newfilename}>g" "${InputFile}" #direct url https
./mad.sh:854: sed -i -e "s%^${url/https:/http:}.*%${newurl//[[:space:]]/$'\\\n'}%g" "${InputFile}" #http (if changed)
./mad.sh:875: sed -i -e "s>^${url/https:/http:}.*>#& #RETRY# ${filename} (dropped or bad size)>g" "${InputFile}" #http (if changed)
./mad.sh:877: sed -i -e "s>^direct=${url/https:/http:}.*>#& #RETRY# ${filename} (dropped or bad size)>g" "${InputFile}" #direct url https
./mad.sh:880: sed -i -e "s>^${url/https:/http:}.*>#&>g" "${InputFile}" #http (if changed)
./mad.sh:882: sed -i -e "s>^direct=${url/https:/http:}.*>#&>g" "${InputFile}" #direct url https
./mad.sh:898: sed -i -e "s>^${url/https:/http:}.*>#& #RETRY# (No CDN found)>g" "${InputFile}" #http (if changed)
./mad.sh:900: sed -i -e "s>^direct=${url/https:/http:}.*>#& #RETRY# (No CDN found)>g" "${InputFile}" #direct url https
./mad.sh:903: sed -i -e "s>^${url/https:/http:}.*>#&>g" "${InputFile}" #http (if changed)
./mad.sh:905: sed -i -e "s>^direct=${url/https:/http:}.*>#&>g" "${InputFile}" #direct url https
./mad.sh:924: sed -i -e "s>^${url/https:/http:}.*>#& #PASSWORD#>g" "${InputFile}" #http (if changed)
./mad.sh:926: sed -i -e "s>^direct=${url/https:/http:}.*>#& #PASSWORD#>g" "${InputFile}" #direct url https
./mad.sh:929: sed -i -e "s>^${url/https:/http:}.*>#&>g" "${InputFile}" #http (if changed)
./mad.sh:931: sed -i -e "s>^direct=${url/https:/http:}.*>#&>g" "${InputFile}" #direct url https
./mad.sh:951: sed -i -e "s>^${url/https:/http:}.*>#& #BAD-URL#${message}>g" "${InputFile}" #http (if changed)
./mad.sh:953: sed -i -e "s>^direct=${url/https:/http:}.*>#& #BAD-URL#${message}>g" "${InputFile}" #direct url https
./mad.sh:956: sed -i -e "s>^${url/https:/http:}.*>#&>g" "${InputFile}" #http (if changed)
./mad.sh:958: sed -i -e "s>^direct=${url/https:/http:}.*>#&>g" "${InputFile}" #direct url https
./mad.sh:976: sed -i -e "s>^${url/https:/http:}.*>#& #RETRY# ${filename} (No filename or size. Try again later)>g" "${InputFile}" #http (if changed)
./mad.sh:978: sed -i -e "s>^direct=${url/https:/http:}.*>#& #RETRY# ${filename} (No filename or size. Try again later)>g" "${InputFile}" #direct url https
./mad.sh:981: sed -i -e "s>^${url/https:/http:}.*>#&>g" "${InputFile}" #http (if changed)
./mad.sh:983: sed -i -e "s>^direct=${url/https:/http:}.*>#&>g" "${InputFile}" #direct url https
./mad.sh:1002: 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:1004: 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:1007: sed -i -e "s>^${url/https:/http:}.*>#&>g" "${InputFile}" #http (if changed)
./mad.sh:1009: sed -i -e "s>^direct=${url/https:/http:}.*>#&>g" "${InputFile}" #direct url https
./mad.sh:1427: response=$(tor_curl_request --insecure -L -s https://github.com/lwthiker/curl-impersonate/releases/latest)
./mad.sh:1444: download_url='https://github.com/lwthiker/curl-impersonate/releases/download/'"$latestTag"'/curl-impersonate-'"$latestTag"'.x86_64-linux-gnu.tar.gz'
./mad.sh:1550: response=$(tor_curl_request --insecure -L -s https://github.com/lexiforest/curl-impersonate/releases/latest)
./mad.sh:1567: download_url='https://github.com/lexiforest/curl-impersonate/releases/download/'"$latestTag"'/curl-impersonate-'"$latestTag"'.x86_64-linux-gnu.tar.gz'
./mad.sh:1830: echo -e "${PINK}MAD Audit of http lines:${NC} (${GREEN}grep \"http:\" or \"https:\"${NC})"
./mad.sh:1858: echo -e "${PINK}MAD Audit of http lines:${NC} (${GREEN}grep \"http:\" or \"https:\"${NC})"
./mad.sh:1880: echo -e "${PINK}MAD Audit of http lines:${NC} (${GREEN}grep \"http:\" or \"https:\"${NC})"
./mad.sh:3196: if grep -Eqi '.onion' <<< "$download_url" && grep -Eqi 'https://' <<< "$download_url" ; then
./mad.sh:3711:arg2="$2" # auto, filelist, <https://url>
./mad.sh:3808: echo -e " - http://oshi.at/abcd/origAABB.rar|My specified file.part1.rar"
./mad.sh:3810: echo -e " - direct=http://pomf2.lain.la/f/abcd00zz.7z"
./mad.sh:3812: echo -e ' - ie. direct=http://somehost.onion/abcD|filename.part1.rar'
./mad.sh:4031: if [[ ${remote_url} =~ ^http: ]] ; then
./mad.sh:4032: remote_url=${remote_url/http:/https:}
./mad.sh:4053: if [[ ${remote_url} =~ ^http: ]] ; then
./mad.sh:4054: remote_url=${remote_url/http:/https:}
./mad.sh:4420: if [[ ${remote_url} =~ ^http: ]] ; then
./mad.sh:4421: remote_url=${remote_url/http:/https:}
./mad.sh:4479: if [[ ${remote_url} =~ ^http: ]] ; then
./mad.sh:4480: remote_url=${remote_url/http:/https:}
./mad.sh:4505: if [[ ${remote_url} =~ ^http: ]] ; then
./mad.sh:4506: remote_url=${remote_url/http:/https:}
./mad.sh:696: sed -i -e "s>^${url/https:/http:}.*>#& #OK# ${filename}>g" "${InputFile}" #http (if changed)
./mad.sh:698: sed -i -e "s>^direct=${url/https:/http:}.*>#& #OK# ${filename}>g" "${InputFile}" #direct url https
./mad.sh:701: sed -i -e "s>^${url/https:/http:}.*>#&>g" "${InputFile}" #http (if changed)
./mad.sh:703: sed -i -e "s>^direct=${url/https:/http:}.*>#&>g" "${InputFile}" #direct url https
./mad.sh:724: sed -i -e "s>^${url/https:/http:}.*>#& #OK# ${filename} (File exists)>g" "${InputFile}" #http (if changed)
./mad.sh:726: sed -i -e "s>^direct=${url/https:/http:}.*>#& #OK# ${filename} (File exists)>g" "${InputFile}" #direct url https
./mad.sh:729: sed -i -e "s>^${url/https:/http:}.*>#&>g" "${InputFile}" #http (if changed)
./mad.sh:731: sed -i -e "s>^direct=${url/https:/http:}.*>#&>g" "${InputFile}" #direct url https
./mad.sh:752: sed -i -e "s>^${url/https:/http:}.*>#& #RETRY# ${message}>g" "${InputFile}" #http (if changed)
./mad.sh:754: sed -i -e "s>^direct=${url/https:/http:}.*>#& #RETRY# ${message}>g" "${InputFile}" #direct url https
./mad.sh:757: sed -i -e "s>^${url/https:/http:}.*>#&>g" "${InputFile}" #http (if changed)
./mad.sh:759: sed -i -e "s>^direct=${url/https:/http:}.*>#&>g" "${InputFile}" #direct url https
./mad.sh:781: sed -i -e "s>^${url/https:/http:}.*>#& #FAIL# $message>g" "${InputFile}" #http (if changed)
./mad.sh:783: sed -i -e "s>^direct=${url/https:/http:}.*>#& #FAIL# $message>g" "${InputFile}" #direct url https
./mad.sh:786: sed -i -e "s>^${url/https:/http:}.*>#&>g" "${InputFile}" #http (if changed)
./mad.sh:788: sed -i -e "s>^direct=${url/https:/http:}.*>#&>g" "${InputFile}" #direct url https
./mad.sh:812: sed -i -e "s>^${url/https:/http:}.*>#& #REMOVED#${message}>g" "${InputFile}" #http (if changed)
./mad.sh:814: sed -i -e "s>^direct=${url/https:/http:}.*>#& #REMOVED#${message}>g" "${InputFile}" #direct url https
./mad.sh:817: sed -i -e "s>^${url/https:/http:}.*>#&>g" "${InputFile}" #http (if changed)
./mad.sh:819: sed -i -e "s>^direct=${url/https:/http:}.*>#&>g" "${InputFile}" #direct url https
./mad.sh:845: sed -i -e "s>^${url/https:/http:}.*>${url}|${newfilename}>g" "${InputFile}" #http (if changed)
./mad.sh:847: sed -i -e "s>^direct=${url/https:/http:}.*>direct=${url}|${newfilename}>g" "${InputFile}" #direct url https
./mad.sh:867: sed -i -e "s%^${url/https:/http:}.*%${newurl//[[:space:]]/$'\\\n'}%g" "${InputFile}" #http (if changed)
./mad.sh:888: sed -i -e "s>^${url/https:/http:}.*>#& #RETRY# ${filename} (dropped or bad size)>g" "${InputFile}" #http (if changed)
./mad.sh:890: sed -i -e "s>^direct=${url/https:/http:}.*>#& #RETRY# ${filename} (dropped or bad size)>g" "${InputFile}" #direct url https
./mad.sh:893: sed -i -e "s>^${url/https:/http:}.*>#&>g" "${InputFile}" #http (if changed)
./mad.sh:895: sed -i -e "s>^direct=${url/https:/http:}.*>#&>g" "${InputFile}" #direct url https
./mad.sh:911: sed -i -e "s>^${url/https:/http:}.*>#& #RETRY# (No CDN found)>g" "${InputFile}" #http (if changed)
./mad.sh:913: sed -i -e "s>^direct=${url/https:/http:}.*>#& #RETRY# (No CDN found)>g" "${InputFile}" #direct url https
./mad.sh:916: sed -i -e "s>^${url/https:/http:}.*>#&>g" "${InputFile}" #http (if changed)
./mad.sh:918: sed -i -e "s>^direct=${url/https:/http:}.*>#&>g" "${InputFile}" #direct url https
./mad.sh:937: sed -i -e "s>^${url/https:/http:}.*>#& #PASSWORD#>g" "${InputFile}" #http (if changed)
./mad.sh:939: sed -i -e "s>^direct=${url/https:/http:}.*>#& #PASSWORD#>g" "${InputFile}" #direct url https
./mad.sh:942: sed -i -e "s>^${url/https:/http:}.*>#&>g" "${InputFile}" #http (if changed)
./mad.sh:944: sed -i -e "s>^direct=${url/https:/http:}.*>#&>g" "${InputFile}" #direct url https
./mad.sh:964: sed -i -e "s>^${url/https:/http:}.*>#& #BAD-URL#${message}>g" "${InputFile}" #http (if changed)
./mad.sh:966: sed -i -e "s>^direct=${url/https:/http:}.*>#& #BAD-URL#${message}>g" "${InputFile}" #direct url https
./mad.sh:969: sed -i -e "s>^${url/https:/http:}.*>#&>g" "${InputFile}" #http (if changed)
./mad.sh:971: sed -i -e "s>^direct=${url/https:/http:}.*>#&>g" "${InputFile}" #direct url https
./mad.sh:989: sed -i -e "s>^${url/https:/http:}.*>#& #RETRY# ${filename} (No filename or size. Try again later)>g" "${InputFile}" #http (if changed)
./mad.sh:991: sed -i -e "s>^direct=${url/https:/http:}.*>#& #RETRY# ${filename} (No filename or size. Try again later)>g" "${InputFile}" #direct url https
./mad.sh:994: sed -i -e "s>^${url/https:/http:}.*>#&>g" "${InputFile}" #http (if changed)
./mad.sh:996: sed -i -e "s>^direct=${url/https:/http:}.*>#&>g" "${InputFile}" #direct url https
./mad.sh:1015: 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:1017: 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:1020: sed -i -e "s>^${url/https:/http:}.*>#&>g" "${InputFile}" #http (if changed)
./mad.sh:1022: sed -i -e "s>^direct=${url/https:/http:}.*>#&>g" "${InputFile}" #direct url https
./mad.sh:1440: response=$(tor_curl_request --insecure -L -s https://github.com/lwthiker/curl-impersonate/releases/latest)
./mad.sh:1457: download_url='https://github.com/lwthiker/curl-impersonate/releases/download/'"$latestTag"'/curl-impersonate-'"$latestTag"'.x86_64-linux-gnu.tar.gz'
./mad.sh:1563: response=$(tor_curl_request --insecure -L -s https://github.com/lexiforest/curl-impersonate/releases/latest)
./mad.sh:1580: download_url='https://github.com/lexiforest/curl-impersonate/releases/download/'"$latestTag"'/curl-impersonate-'"$latestTag"'.x86_64-linux-gnu.tar.gz'
./mad.sh:1843: echo -e "${PINK}MAD Audit of http lines:${NC} (${GREEN}grep \"http:\" or \"https:\"${NC})"
./mad.sh:1871: echo -e "${PINK}MAD Audit of http lines:${NC} (${GREEN}grep \"http:\" or \"https:\"${NC})"
./mad.sh:1893: echo -e "${PINK}MAD Audit of http lines:${NC} (${GREEN}grep \"http:\" or \"https:\"${NC})"
./mad.sh:3209: if grep -Eqi '.onion' <<< "$download_url" && grep -Eqi 'https://' <<< "$download_url" ; then
./mad.sh:3724:arg2="$2" # auto, filelist, <https://url>
./mad.sh:3821: echo -e " - http://oshi.at/abcd/origAABB.rar|My specified file.part1.rar"
./mad.sh:3823: echo -e " - direct=http://pomf2.lain.la/f/abcd00zz.7z"
./mad.sh:3825: echo -e ' - ie. direct=http://somehost.onion/abcD|filename.part1.rar'
./mad.sh:4044: if [[ ${remote_url} =~ ^http: ]] ; then
./mad.sh:4045: remote_url=${remote_url/http:/https:}
./mad.sh:4066: if [[ ${remote_url} =~ ^http: ]] ; then
./mad.sh:4067: remote_url=${remote_url/http:/https:}
./mad.sh:4433: if [[ ${remote_url} =~ ^http: ]] ; then
./mad.sh:4434: remote_url=${remote_url/http:/https:}
./mad.sh:4492: if [[ ${remote_url} =~ ^http: ]] ; then
./mad.sh:4493: remote_url=${remote_url/http:/https:}
./mad.sh:4518: if [[ ${remote_url} =~ ^http: ]] ; then
./mad.sh:4519: 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)

View file

@ -1,4 +1,4 @@
DateTime: 25.01.15
DateTime: 25.01.18
Files:
./hosts/1fichier.sh
@ -140,6 +140,7 @@ Files:
./hosts/up_uploadflix.sh
./hosts/up_uploadhive.sh
./hosts/up_uploadraja.sh
./hosts/up_uwabaki.sh
./hosts/up_yolobit.sh
./hosts/uwabaki.sh
./hosts/yolobit.sh
@ -1964,38 +1965,38 @@ _________________________________________________________________________
./hosts/ranoz.sh:166: warnAndRetryUnknownError=true
./hosts/ranoz.sh:167: if [ "${finalAttempt}" == "true" ] ; then
--
./hosts/ranoz.sh:266: tor_curl_request --insecure -L -G --no-alpn \
./hosts/ranoz.sh:267: --speed-limit $DownloadSpeedMin --speed-time $DownloadTimeoutInterval \
./hosts/ranoz.sh:268: "$download_url" --continue-at - --output "$file_path"
./hosts/ranoz.sh:269: else
./hosts/ranoz.sh:270: tor_curl_request --insecure -L -G --no-alpn \
./hosts/ranoz.sh:269: tor_curl_request --insecure -L -G --no-alpn \
./hosts/ranoz.sh:270: --speed-limit $DownloadSpeedMin --speed-time $DownloadTimeoutInterval \
./hosts/ranoz.sh:271: "$download_url" --continue-at - --output "$file_path"
./hosts/ranoz.sh:272: fi
./hosts/ranoz.sh:273: else
./hosts/ranoz.sh:274: if [ "${RateMonitorEnabled}" == "true" ]; then
./hosts/ranoz.sh:275: tor_curl_request --insecure -L -G --no-alpn \
./hosts/ranoz.sh:276: --speed-limit $DownloadSpeedMin --speed-time $DownloadTimeoutInterval \
./hosts/ranoz.sh:277: -H "User-Agent: $RandomUA" \
./hosts/ranoz.sh:278: -H "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8" \
./hosts/ranoz.sh:279: -H "Accept-Language: en-US,en;q=0.5" \
./hosts/ranoz.sh:280: -H "Accept-Encoding: gzip, deflate, br" \
./hosts/ranoz.sh:281: -H "Connection: keep-alive" \
./hosts/ranoz.sh:282: -H "Cookie: lng=eng" \
./hosts/ranoz.sh:283: -H "Upgrade-Insecure-Requests: 1" \
./hosts/ranoz.sh:284: -H "Sec-Fetch-Dest: document" \
./hosts/ranoz.sh:285: -H "Sec-Fetch-Mode: navigate" \
./hosts/ranoz.sh:272: else
./hosts/ranoz.sh:273: tor_curl_request --insecure -L -G --no-alpn \
./hosts/ranoz.sh:274: "$download_url" --continue-at - --output "$file_path"
./hosts/ranoz.sh:275: fi
./hosts/ranoz.sh:276: else
./hosts/ranoz.sh:277: if [ "${RateMonitorEnabled}" == "true" ]; then
./hosts/ranoz.sh:278: tor_curl_request --insecure -L -G --no-alpn \
./hosts/ranoz.sh:279: --speed-limit $DownloadSpeedMin --speed-time $DownloadTimeoutInterval \
./hosts/ranoz.sh:280: -H "User-Agent: $RandomUA" \
./hosts/ranoz.sh:281: -H "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8" \
./hosts/ranoz.sh:282: -H "Accept-Language: en-US,en;q=0.5" \
./hosts/ranoz.sh:283: -H "Accept-Encoding: gzip, deflate, br" \
./hosts/ranoz.sh:284: -H "Connection: keep-alive" \
./hosts/ranoz.sh:285: -H "Cookie: lng=eng" \
./hosts/ranoz.sh:286: -H "Upgrade-Insecure-Requests: 1" \
./hosts/ranoz.sh:287: -H "Sec-Fetch-Dest: document" \
./hosts/ranoz.sh:288: -H "Sec-Fetch-Mode: navigate" \
--
./hosts/ranoz.sh:290: tor_curl_request --insecure -L -G --no-alpn \
./hosts/ranoz.sh:291: -H "User-Agent: $RandomUA" \
./hosts/ranoz.sh:292: -H "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8" \
./hosts/ranoz.sh:293: -H "Accept-Language: en-US,en;q=0.5" \
./hosts/ranoz.sh:294: -H "Accept-Encoding: gzip, deflate, br" \
./hosts/ranoz.sh:295: -H "Connection: keep-alive" \
./hosts/ranoz.sh:296: -H "Cookie: lng=eng" \
./hosts/ranoz.sh:297: -H "Upgrade-Insecure-Requests: 1" \
./hosts/ranoz.sh:298: -H "Sec-Fetch-Dest: document" \
./hosts/ranoz.sh:299: -H "Sec-Fetch-Mode: navigate" \
./hosts/ranoz.sh:300: -H "Sec-Fetch-Site: same-origin" \
./hosts/ranoz.sh:293: tor_curl_request --insecure -L -G --no-alpn \
./hosts/ranoz.sh:294: -H "User-Agent: $RandomUA" \
./hosts/ranoz.sh:295: -H "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8" \
./hosts/ranoz.sh:296: -H "Accept-Language: en-US,en;q=0.5" \
./hosts/ranoz.sh:297: -H "Accept-Encoding: gzip, deflate, br" \
./hosts/ranoz.sh:298: -H "Connection: keep-alive" \
./hosts/ranoz.sh:299: -H "Cookie: lng=eng" \
./hosts/ranoz.sh:300: -H "Upgrade-Insecure-Requests: 1" \
./hosts/ranoz.sh:301: -H "Sec-Fetch-Dest: document" \
./hosts/ranoz.sh:302: -H "Sec-Fetch-Mode: navigate" \
./hosts/ranoz.sh:303: -H "Sec-Fetch-Site: same-origin" \
--
./hosts/syspro.sh:88: response=$(tor_curl_request --insecure -L -s "$remote_url")
./hosts/syspro.sh:89: if [ "${DebugAllEnabled}" == "true" ] ; then
@ -2592,7 +2593,7 @@ _________________________________________________________________________
./hosts/up_axfc.sh:190: if [ "${DebugAllEnabled}" == "true" ] ; then
./hosts/up_axfc.sh:191: debugHtml "${filepath##*/}" "${_hostCode}_upload" "post_url: ${PostUrlHost}"$'\n'"${response}"
./hosts/up_axfc.sh:192: fi
./hosts/up_axfc.sh:193: response_ascii=$(echo "$response" | iconv -c -f UTF-8 -t ASCII//TRANSLIT)
./hosts/up_axfc.sh:193: response_ascii=$(mconvert_utf8_to_ascii "$response")
./hosts/up_axfc.sh:194: if [ "${DebugAllEnabled}" == "true" ] ; then
--
./hosts/up_bedrive.sh:102: response=$(tor_curl_upload --insecure -i \
@ -3111,6 +3112,18 @@ _________________________________________________________________________
./hosts/up_uploadraja.sh:111: -F "file_0=@${filepath}" \
./hosts/up_uploadraja.sh:112: "${PostUrlHost}")
--
./hosts/up_uwabaki.sh:101: response=$(tor_curl_upload --insecure -i -L \
./hosts/up_uwabaki.sh:102: -H "Content-Type: multipart/form-data" \
./hosts/up_uwabaki.sh:103: -F "files[]=@${arrFiles[@]}" \
./hosts/up_uwabaki.sh:104: "${PostUrlHost}")
./hosts/up_uwabaki.sh:105: if [ "${DebugAllEnabled}" == "true" ] ; then
./hosts/up_uwabaki.sh:106: debugHtml "${filepath##*/}" "${_hostCode}_upload" "post_url: ${PostUrlHost}"$'\n'"${response}"
./hosts/up_uwabaki.sh:107: fi
./hosts/up_uwabaki.sh:108: if grep -Eqi 'File uploaded: <a href="https://files.uwabaki.party/' <<< "${response}" ; then
./hosts/up_uwabaki.sh:109: url=$(grep -oPi '(?<=File uploaded: <a href=").*?(?=">.*$)' <<< "$response")
./hosts/up_uwabaki.sh:110: filesize=$(GetFileSize "$filepath" "false")
./hosts/up_uwabaki.sh:111: downloadLink="${url}"
--
./hosts/up_yolobit.sh:102: response=$(tor_curl_upload --insecure -i \
./hosts/up_yolobit.sh:103: -H "Content-Type: multipart/form-data" \
./hosts/up_yolobit.sh:104: -F "file[]=@${arrFiles[@]}" \
@ -3173,235 +3186,235 @@ _________________________________________________________________________
./hosts/youdbox.sh:287: containsHtml=true
./hosts/youdbox.sh:288: fi
--
./mad.sh:405:tor_curl_request() {
./mad.sh:406: if [ "${UseTorCurlImpersonate}" == "true" ]; then
./mad.sh:407: "${curl_impersonate[@]}" --proxy "socks5h://${tor_identity}@${TorIp}:${torPort}" --connect-timeout ${ConnectTimeout} --compressed --globoff "$@"
./mad.sh:408: else
./mad.sh:409: curl --proxy "socks5h://${tor_identity}@${TorIp}:${torPort}" --connect-timeout ${ConnectTimeout} --compressed --globoff "$@"
./mad.sh:410: fi
./mad.sh:411:}
./mad.sh:412:tor_curl_request_extended() {
./mad.sh:413: randomtimeout=$((30 + RANDOM % (60 - 30)))
./mad.sh:413:tor_curl_request() {
./mad.sh:414: if [ "${UseTorCurlImpersonate}" == "true" ]; then
./mad.sh:415: "${curl_impersonate[@]}" --proxy "socks5h://${tor_identity}@${TorIp}:${torPort}" --connect-timeout $randomtimeout --compressed --globoff "$@"
./mad.sh:415: "${curl_impersonate[@]}" --proxy "socks5h://${tor_identity}@${TorIp}:${torPort}" -4 --connect-timeout ${ConnectTimeout} --compressed --globoff "$@"
./mad.sh:416: else
./mad.sh:417: curl --proxy "socks5h://${tor_identity}@${TorIp}:${torPort}" --connect-timeout $randomtimeout --compressed --globoff "$@"
./mad.sh:417: curl --proxy "socks5h://${tor_identity}@${TorIp}:${torPort}" -4 --connect-timeout ${ConnectTimeout} --compressed --globoff "$@"
./mad.sh:418: fi
./mad.sh:419:}
./mad.sh:420:tor_curl_upload() {
./mad.sh:421: if [ "${UseTorCurlImpersonate}" == "true" ]; then
./mad.sh:422: if [ "${RateMonitorEnabled}" == "true" ]; then
./mad.sh:423: "${curl_impersonate[@]}" --proxy "socks5h://${tor_identity}@${TorIp}:${torPort}" --connect-timeout ${ConnectTimeout} --speed-limit $UploadSpeedMin --speed-time $UploadTimeoutInterval --compressed --globoff "$@"
./mad.sh:420:tor_curl_request_extended() {
./mad.sh:421: randomtimeout=$((30 + RANDOM % (60 - 30)))
./mad.sh:422: if [ "${UseTorCurlImpersonate}" == "true" ]; then
./mad.sh:423: "${curl_impersonate[@]}" --proxy "socks5h://${tor_identity}@${TorIp}:${torPort}" -4 --connect-timeout $randomtimeout --compressed --globoff "$@"
./mad.sh:424: else
./mad.sh:425: "${curl_impersonate[@]}" --proxy "socks5h://${tor_identity}@${TorIp}:${torPort}" --connect-timeout ${ConnectTimeout} --compressed --globoff "$@"
./mad.sh:425: curl --proxy "socks5h://${tor_identity}@${TorIp}:${torPort}" -4 --connect-timeout $randomtimeout --compressed --globoff "$@"
./mad.sh:426: fi
./mad.sh:427: else
./mad.sh:428: if [ "${RateMonitorEnabled}" == "true" ]; then
./mad.sh:429: 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:430: else
./mad.sh:427:}
./mad.sh:428:tor_curl_upload() {
./mad.sh:429: if [ "${UseTorCurlImpersonate}" == "true" ]; then
./mad.sh:430: if [ "${RateMonitorEnabled}" == "true" ]; then
./mad.sh:431: "${curl_impersonate[@]}" --proxy "socks5h://${tor_identity}@${TorIp}:${torPort}" -4 --connect-timeout ${ConnectTimeout} --speed-limit $UploadSpeedMin --speed-time $UploadTimeoutInterval --compressed --globoff "$@"
./mad.sh:432: else
./mad.sh:433: "${curl_impersonate[@]}" --proxy "socks5h://${tor_identity}@${TorIp}:${torPort}" -4 --connect-timeout ${ConnectTimeout} --compressed --globoff "$@"
./mad.sh:434: fi
./mad.sh:435: else
./mad.sh:436: if [ "${RateMonitorEnabled}" == "true" ]; then
./mad.sh:437: curl --proxy "socks5h://${tor_identity}@${TorIp}:${torPort}" -4 --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:438: else
--
./mad.sh:1427: response=$(tor_curl_request --insecure -L -s https://github.com/lwthiker/curl-impersonate/releases/latest)
./mad.sh:1428: if [ "${DebugAllEnabled}" == "true" ] ; then
./mad.sh:1429: debugHtml "github" "lbf_inst_curlimp$j" "$response"
./mad.sh:1430: fi
./mad.sh:1431: if [ ! -z "$response" ]; then
./mad.sh:1432: latestTag=$(grep -oPi -m 1 '(?<=/curl-impersonate/releases/tag/).*?(?=")' <<< "$response")
./mad.sh:1433: latestBinaryDate=$(grep -oPi -m 1 '(?<=<relative-time class="no-wrap" prefix="" datetime=").*?(?=T)' <<< "$response")
./mad.sh:1434: break
./mad.sh:1435: fi
./mad.sh:1436: done
./mad.sh:1437: if [ -z $latestTag ]; then
./mad.sh:1440: response=$(tor_curl_request --insecure -L -s https://github.com/lwthiker/curl-impersonate/releases/latest)
./mad.sh:1441: if [ "${DebugAllEnabled}" == "true" ] ; then
./mad.sh:1442: debugHtml "github" "lbf_inst_curlimp$j" "$response"
./mad.sh:1443: fi
./mad.sh:1444: if [ ! -z "$response" ]; then
./mad.sh:1445: latestTag=$(grep -oPi -m 1 '(?<=/curl-impersonate/releases/tag/).*?(?=")' <<< "$response")
./mad.sh:1446: latestBinaryDate=$(grep -oPi -m 1 '(?<=<relative-time class="no-wrap" prefix="" datetime=").*?(?=T)' <<< "$response")
./mad.sh:1447: break
./mad.sh:1448: fi
./mad.sh:1449: done
./mad.sh:1450: if [ -z $latestTag ]; then
--
./mad.sh:1447: file_header=$(tor_curl_request --insecure --head -Ls "$download_url")
./mad.sh:1448: if [ "${DebugAllEnabled}" == "true" ] ; then
./mad.sh:1449: debugHtml "github" "head_inst_curlimp$j" "${file_header}"
./mad.sh:1450: fi
./mad.sh:1451: if ! grep -Eqi 'HTTP/2 200|HTTP/1.1 200|200 OK' <<< $file_header ; then
./mad.sh:1452: if ((j == 8)) ; then
./mad.sh:1453: return 1
./mad.sh:1454: else
./mad.sh:1455: continue
./mad.sh:1456: fi
./mad.sh:1457: fi
./mad.sh:1460: file_header=$(tor_curl_request --insecure --head -Ls "$download_url")
./mad.sh:1461: if [ "${DebugAllEnabled}" == "true" ] ; then
./mad.sh:1462: debugHtml "github" "head_inst_curlimp$j" "${file_header}"
./mad.sh:1463: fi
./mad.sh:1464: if ! grep -Eqi 'HTTP/2 200|HTTP/1.1 200|200 OK' <<< $file_header ; then
./mad.sh:1465: if ((j == 8)) ; then
./mad.sh:1466: return 1
./mad.sh:1467: else
./mad.sh:1468: continue
./mad.sh:1469: fi
./mad.sh:1470: fi
--
./mad.sh:1497: tor_curl_request --insecure -L "$download_url" --continue-at - --output "$file_path"
./mad.sh:1498: received_file_size=0
./mad.sh:1499: if [ -f "$file_path" ] ; then
./mad.sh:1500: received_file_size=$(stat --format="%s" "$file_path" | tr -d '[:space:]')
./mad.sh:1501: fi
./mad.sh:1502: if ((received_file_size == file_size_bytes)) ; then
./mad.sh:1503: break
./mad.sh:1504: elif ((received_file_size < file_size_bytes)) ; then
./mad.sh:1505: if ((j >= MaxDownloadRetries)) ; then
./mad.sh:1506: echo -e "${RED}| FAILED: Size mismatch after downloading${NC}"
./mad.sh:1507: exit 1
./mad.sh:1510: tor_curl_request --insecure -L "$download_url" --continue-at - --output "$file_path"
./mad.sh:1511: received_file_size=0
./mad.sh:1512: if [ -f "$file_path" ] ; then
./mad.sh:1513: received_file_size=$(stat --format="%s" "$file_path" | tr -d '[:space:]')
./mad.sh:1514: fi
./mad.sh:1515: if ((received_file_size == file_size_bytes)) ; then
./mad.sh:1516: break
./mad.sh:1517: elif ((received_file_size < file_size_bytes)) ; then
./mad.sh:1518: if ((j >= MaxDownloadRetries)) ; then
./mad.sh:1519: echo -e "${RED}| FAILED: Size mismatch after downloading${NC}"
./mad.sh:1520: exit 1
--
./mad.sh:1550: response=$(tor_curl_request --insecure -L -s https://github.com/lexiforest/curl-impersonate/releases/latest)
./mad.sh:1551: if [ "${DebugAllEnabled}" == "true" ] ; then
./mad.sh:1552: debugHtml "github" "lbf_inst_curlimp$j" "$response"
./mad.sh:1553: fi
./mad.sh:1554: if [ ! -z "$response" ]; then
./mad.sh:1555: latestTag=$(grep -oPi -m 1 '(?<=/curl-impersonate/releases/tag/).*?(?=")' <<< "$response")
./mad.sh:1556: latestBinaryDate=$(grep -oPi -m 1 '(?<=<relative-time class="no-wrap" prefix="" datetime=").*?(?=T)' <<< "$response")
./mad.sh:1557: break
./mad.sh:1558: fi
./mad.sh:1559: done
./mad.sh:1560: if [ -z $latestTag ]; then
./mad.sh:1563: response=$(tor_curl_request --insecure -L -s https://github.com/lexiforest/curl-impersonate/releases/latest)
./mad.sh:1564: if [ "${DebugAllEnabled}" == "true" ] ; then
./mad.sh:1565: debugHtml "github" "lbf_inst_curlimp$j" "$response"
./mad.sh:1566: fi
./mad.sh:1567: if [ ! -z "$response" ]; then
./mad.sh:1568: latestTag=$(grep -oPi -m 1 '(?<=/curl-impersonate/releases/tag/).*?(?=")' <<< "$response")
./mad.sh:1569: latestBinaryDate=$(grep -oPi -m 1 '(?<=<relative-time class="no-wrap" prefix="" datetime=").*?(?=T)' <<< "$response")
./mad.sh:1570: break
./mad.sh:1571: fi
./mad.sh:1572: done
./mad.sh:1573: if [ -z $latestTag ]; then
--
./mad.sh:1570: file_header=$(tor_curl_request --insecure --head -Ls "$download_url")
./mad.sh:1571: if [ "${DebugAllEnabled}" == "true" ] ; then
./mad.sh:1572: debugHtml "github" "head_inst_curlimp$j" "${file_header}"
./mad.sh:1573: fi
./mad.sh:1574: if ! grep -Eqi 'HTTP/2 200|HTTP/1.1 200|200 OK' <<< $file_header ; then
./mad.sh:1575: if ((j == 8)) ; then
./mad.sh:1576: return 1
./mad.sh:1577: else
./mad.sh:1578: continue
./mad.sh:1579: fi
./mad.sh:1580: fi
./mad.sh:1583: file_header=$(tor_curl_request --insecure --head -Ls "$download_url")
./mad.sh:1584: if [ "${DebugAllEnabled}" == "true" ] ; then
./mad.sh:1585: debugHtml "github" "head_inst_curlimp$j" "${file_header}"
./mad.sh:1586: fi
./mad.sh:1587: if ! grep -Eqi 'HTTP/2 200|HTTP/1.1 200|200 OK' <<< $file_header ; then
./mad.sh:1588: if ((j == 8)) ; then
./mad.sh:1589: return 1
./mad.sh:1590: else
./mad.sh:1591: continue
./mad.sh:1592: fi
./mad.sh:1593: fi
--
./mad.sh:1620: tor_curl_request --insecure -L "$download_url" --continue-at - --output "$file_path"
./mad.sh:1621: received_file_size=0
./mad.sh:1622: if [ -f "$file_path" ] ; then
./mad.sh:1623: received_file_size=$(stat --format="%s" "$file_path" | tr -d '[:space:]')
./mad.sh:1624: fi
./mad.sh:1625: if ((received_file_size == file_size_bytes)) ; then
./mad.sh:1626: break
./mad.sh:1627: elif ((received_file_size < file_size_bytes)) ; then
./mad.sh:1628: if ((j >= MaxDownloadRetries)) ; then
./mad.sh:1629: echo -e "${RED}| FAILED: Size mismatch after downloading${NC}"
./mad.sh:1630: exit 1
./mad.sh:1633: tor_curl_request --insecure -L "$download_url" --continue-at - --output "$file_path"
./mad.sh:1634: received_file_size=0
./mad.sh:1635: if [ -f "$file_path" ] ; then
./mad.sh:1636: received_file_size=$(stat --format="%s" "$file_path" | tr -d '[:space:]')
./mad.sh:1637: fi
./mad.sh:1638: if ((received_file_size == file_size_bytes)) ; then
./mad.sh:1639: break
./mad.sh:1640: elif ((received_file_size < file_size_bytes)) ; then
./mad.sh:1641: if ((j >= MaxDownloadRetries)) ; then
./mad.sh:1642: echo -e "${RED}| FAILED: Size mismatch after downloading${NC}"
./mad.sh:1643: exit 1
--
./mad.sh:1825: maud_torcurl=$(grep -n -vxE '[[:blank:]]*([#].*)?' $fil | grep -A 12 --color='always' -Ei 'tor_curl')
./mad.sh:1826: echo -e "Files:"
./mad.sh:1827: echo -e "${BLUE}${fil}${NC}"
./mad.sh:1828: echo -e ""
./mad.sh:1829: echo -e ""
./mad.sh:1830: echo -e "${PINK}MAD Audit of http lines:${NC} (${GREEN}grep \"http:\" or \"https:\"${NC})"
./mad.sh:1831: echo -e "_________________________________________________________________________"
./mad.sh:1832: echo -e "$maud_http"
./mad.sh:1833: echo -e ""
./mad.sh:1834: echo -e "${PINK}MAD Audit of curl:${NC} (${GREEN}grep \"curl\"${NC})"
./mad.sh:1835: echo -e "_________________________________________________________________________"
--
./mad.sh:1838: echo -e "${PINK}MAD Audit of tor_curl (+12 lines after):${NC} (${GREEN}grep \"tor_curl\"${NC})"
./mad.sh:1839: echo -e "_________________________________________________________________________"
./mad.sh:1840: echo -e "$maud_torcurl"
./mad.sh:1838: maud_torcurl=$(grep -n -vxE '[[:blank:]]*([#].*)?' $fil | grep -A 12 --color='always' -Ei 'tor_curl')
./mad.sh:1839: echo -e "Files:"
./mad.sh:1840: echo -e "${BLUE}${fil}${NC}"
./mad.sh:1841: echo -e ""
./mad.sh:1842: echo -e ""
./mad.sh:1843: done
./mad.sh:1844: else
./mad.sh:1845: cd "$ScriptDir"
./mad.sh:1846: readarray -d $'' arrFiles < <(find . -name "*.sh" -printf '%p\n' | sort -Vk1)
./mad.sh:1847: cd "$WorkDir"
./mad.sh:1848: readarray -d $'' arrFiles2 < <(find . -name "*.sh" -printf '%p\n' | sort -Vk1)
./mad.sh:1843: echo -e "${PINK}MAD Audit of http lines:${NC} (${GREEN}grep \"http:\" or \"https:\"${NC})"
./mad.sh:1844: echo -e "_________________________________________________________________________"
./mad.sh:1845: echo -e "$maud_http"
./mad.sh:1846: echo -e ""
./mad.sh:1847: echo -e "${PINK}MAD Audit of curl:${NC} (${GREEN}grep \"curl\"${NC})"
./mad.sh:1848: echo -e "_________________________________________________________________________"
--
./mad.sh:1853: maud_torcurl=$(grep -n -vxE '[[:blank:]]*([#].*)?' $fil | grep -A 12 --color='always' -Ei 'tor_curl')
./mad.sh:1854: echo -e "Files:"
./mad.sh:1855: echo -e "${BLUE}${fil}${NC}"
./mad.sh:1856: echo -e ""
./mad.sh:1857: echo -e ""
./mad.sh:1858: echo -e "${PINK}MAD Audit of http lines:${NC} (${GREEN}grep \"http:\" or \"https:\"${NC})"
./mad.sh:1859: echo -e "_________________________________________________________________________"
./mad.sh:1860: echo -e "$maud_http"
./mad.sh:1861: echo -e ""
./mad.sh:1862: echo -e "${PINK}MAD Audit of curl:${NC} (${GREEN}grep \"curl \"${NC})"
./mad.sh:1863: echo -e "_________________________________________________________________________"
./mad.sh:1851: echo -e "${PINK}MAD Audit of tor_curl (+12 lines after):${NC} (${GREEN}grep \"tor_curl\"${NC})"
./mad.sh:1852: echo -e "_________________________________________________________________________"
./mad.sh:1853: echo -e "$maud_torcurl"
./mad.sh:1854: echo -e ""
./mad.sh:1855: echo -e ""
./mad.sh:1856: done
./mad.sh:1857: else
./mad.sh:1858: cd "$ScriptDir"
./mad.sh:1859: readarray -d $'' arrFiles < <(find . -name "*.sh" -printf '%p\n' | sort -Vk1)
./mad.sh:1860: cd "$WorkDir"
./mad.sh:1861: readarray -d $'' arrFiles2 < <(find . -name "*.sh" -printf '%p\n' | sort -Vk1)
--
./mad.sh:1866: echo -e "${PINK}MAD Audit of tor_curl (+12 lines after):${NC} (${GREEN}grep \"tor_curl\"${NC})"
./mad.sh:1867: echo -e "_________________________________________________________________________"
./mad.sh:1868: echo -e "$maud_torcurl"
./mad.sh:1866: maud_torcurl=$(grep -n -vxE '[[:blank:]]*([#].*)?' $fil | grep -A 12 --color='always' -Ei 'tor_curl')
./mad.sh:1867: echo -e "Files:"
./mad.sh:1868: echo -e "${BLUE}${fil}${NC}"
./mad.sh:1869: echo -e ""
./mad.sh:1870: done
./mad.sh:1871: for fil in "${arrFiles2[@]}";
./mad.sh:1872: do
./mad.sh:1873: maud_http=$(grep -n -vxE '[[:blank:]]*([#].*)?' $fil | grep --color='always' -Ei '(http|https):')
./mad.sh:1874: maud_curl=$(grep -n -vxE '[[:blank:]]*([#].*)?' $fil | grep --color='always' -Ei 'curl')
./mad.sh:1875: maud_torcurl=$(grep -n -vxE '[[:blank:]]*([#].*)?' $fil | grep -A 12 --color='always' -Ei 'tor_curl')
./mad.sh:1876: echo -e "Files:"
./mad.sh:1877: echo -e "${BLUE}${fil}${NC}"
./mad.sh:1878: echo -e ""
./mad.sh:1879: echo -e ""
./mad.sh:1880: echo -e "${PINK}MAD Audit of http lines:${NC} (${GREEN}grep \"http:\" or \"https:\"${NC})"
./mad.sh:1881: echo -e "_________________________________________________________________________"
./mad.sh:1882: echo -e "$maud_http"
./mad.sh:1883: echo -e ""
./mad.sh:1884: echo -e "${PINK}MAD Audit of curl:${NC} (${GREEN}grep \"curl\"${NC})"
./mad.sh:1885: echo -e "_________________________________________________________________________"
./mad.sh:1870: echo -e ""
./mad.sh:1871: echo -e "${PINK}MAD Audit of http lines:${NC} (${GREEN}grep \"http:\" or \"https:\"${NC})"
./mad.sh:1872: echo -e "_________________________________________________________________________"
./mad.sh:1873: echo -e "$maud_http"
./mad.sh:1874: echo -e ""
./mad.sh:1875: echo -e "${PINK}MAD Audit of curl:${NC} (${GREEN}grep \"curl \"${NC})"
./mad.sh:1876: echo -e "_________________________________________________________________________"
--
./mad.sh:1888: echo -e "${PINK}MAD Audit of tor_curl (+12 lines after):${NC} (${GREEN}grep \"tor_curl\"${NC})"
./mad.sh:1889: echo -e "_________________________________________________________________________"
./mad.sh:1890: echo -e "$maud_torcurl"
./mad.sh:1879: echo -e "${PINK}MAD Audit of tor_curl (+12 lines after):${NC} (${GREEN}grep \"tor_curl\"${NC})"
./mad.sh:1880: echo -e "_________________________________________________________________________"
./mad.sh:1881: echo -e "$maud_torcurl"
./mad.sh:1882: echo -e ""
./mad.sh:1883: done
./mad.sh:1884: for fil in "${arrFiles2[@]}";
./mad.sh:1885: do
./mad.sh:1886: maud_http=$(grep -n -vxE '[[:blank:]]*([#].*)?' $fil | grep --color='always' -Ei '(http|https):')
./mad.sh:1887: maud_curl=$(grep -n -vxE '[[:blank:]]*([#].*)?' $fil | grep --color='always' -Ei 'curl')
./mad.sh:1888: maud_torcurl=$(grep -n -vxE '[[:blank:]]*([#].*)?' $fil | grep -A 12 --color='always' -Ei 'tor_curl')
./mad.sh:1889: echo -e "Files:"
./mad.sh:1890: echo -e "${BLUE}${fil}${NC}"
./mad.sh:1891: echo -e ""
./mad.sh:1892: done
./mad.sh:1893: fi
./mad.sh:1894:}
./mad.sh:1895:madStatus() {
./mad.sh:1896: local InputFile="$1"
./mad.sh:1897: if [ "$arg1" == "status" ] ; then
./mad.sh:1898: clear
./mad.sh:1892: echo -e ""
./mad.sh:1893: echo -e "${PINK}MAD Audit of http lines:${NC} (${GREEN}grep \"http:\" or \"https:\"${NC})"
./mad.sh:1894: echo -e "_________________________________________________________________________"
./mad.sh:1895: echo -e "$maud_http"
./mad.sh:1896: echo -e ""
./mad.sh:1897: echo -e "${PINK}MAD Audit of curl:${NC} (${GREEN}grep \"curl\"${NC})"
./mad.sh:1898: echo -e "_________________________________________________________________________"
--
./mad.sh:3213: file_header=$(tor_curl_request --insecure -m 8 -s -D - -o /dev/null \
./mad.sh:3214: -H "Connection: keep-alive" \
./mad.sh:3215: -w 'EffectiveUrl=%{url_effective}' \
./mad.sh:3216: "$download_url")
./mad.sh:3217: else
./mad.sh:3218: printf "| Retrieving Head: attempt #$j"
./mad.sh:3219: rm -f "${WorkDir}/.temp/directhead"
./mad.sh:3220: file_header=$(tor_curl_request --insecure --head -H "Connection: keep-alive" -L -s -i "$download_url" |
./mad.sh:3221: tee "${WorkDir}/.temp/directhead" &
./mad.sh:3222: sleep 6
./mad.sh:3223: [ -s "${WorkDir}/.temp/directhead" ]
./mad.sh:3224: kill $! 2>/dev/null
./mad.sh:3225: )
./mad.sh:3226: if [ ! -f "${WorkDir}/.flocks/${remote_url//[^a-zA-Z0-9]/}" ]; then
./mad.sh:3227: touch "${WorkDir}/.flocks/${remote_url//[^a-zA-Z0-9]/}"
./mad.sh:3228: fi
./mad.sh:3229: rm -f "${WorkDir}/.temp/directhead"
./mad.sh:3230: fi
./mad.sh:1901: echo -e "${PINK}MAD Audit of tor_curl (+12 lines after):${NC} (${GREEN}grep \"tor_curl\"${NC})"
./mad.sh:1902: echo -e "_________________________________________________________________________"
./mad.sh:1903: echo -e "$maud_torcurl"
./mad.sh:1904: echo -e ""
./mad.sh:1905: done
./mad.sh:1906: fi
./mad.sh:1907:}
./mad.sh:1908:madStatus() {
./mad.sh:1909: local InputFile="$1"
./mad.sh:1910: if [ "$arg1" == "status" ] ; then
./mad.sh:1911: clear
--
./mad.sh:3350: tor_curl_request --insecure -L --referer "$file_url" "$download_url" --output "$file_path"
./mad.sh:3351: rc=$?
./mad.sh:3352: if [ $rc -ne 0 ] ; then
./mad.sh:3353: printf "${RED}Download Failed (bad exit status).${NC}"
./mad.sh:3354: if [ -f ${file_path} ]; then
./mad.sh:3355: printf "${YELLOW} Partial removed...${NC}"
./mad.sh:3356: printf "\n\n"
./mad.sh:3357: rm -f "${file_path}"
./mad.sh:3358: else
./mad.sh:3359: printf "\n\n"
./mad.sh:3360: fi
./mad.sh:3226: file_header=$(tor_curl_request --insecure -m 8 -s -D - -o /dev/null \
./mad.sh:3227: -H "Connection: keep-alive" \
./mad.sh:3228: -w 'EffectiveUrl=%{url_effective}' \
./mad.sh:3229: "$download_url")
./mad.sh:3230: else
./mad.sh:3231: printf "| Retrieving Head: attempt #$j"
./mad.sh:3232: rm -f "${WorkDir}/.temp/directhead"
./mad.sh:3233: file_header=$(tor_curl_request --insecure --head -H "Connection: keep-alive" -L -s -i "$download_url" |
./mad.sh:3234: tee "${WorkDir}/.temp/directhead" &
./mad.sh:3235: sleep 6
./mad.sh:3236: [ -s "${WorkDir}/.temp/directhead" ]
./mad.sh:3237: kill $! 2>/dev/null
./mad.sh:3238: )
./mad.sh:3239: if [ ! -f "${WorkDir}/.flocks/${remote_url//[^a-zA-Z0-9]/}" ]; then
./mad.sh:3240: touch "${WorkDir}/.flocks/${remote_url//[^a-zA-Z0-9]/}"
./mad.sh:3241: fi
./mad.sh:3242: rm -f "${WorkDir}/.temp/directhead"
./mad.sh:3243: fi
--
./mad.sh:3394: tor_curl_request --insecure -L --speed-limit $DownloadSpeedMin --speed-time $DownloadTimeoutInterval "$download_url" --continue-at - --output "$file_path"
./mad.sh:3395: else
./mad.sh:3396: tor_curl_request --insecure -L --referer "$file_url" "$download_url" --continue-at - --output "$file_path"
./mad.sh:3397: fi
./mad.sh:3398: received_file_size=0
./mad.sh:3399: if [ -f "$file_path" ] ; then
./mad.sh:3400: received_file_size=$(stat --format="%s" "$file_path" | tr -d '[:space:]')
./mad.sh:3401: fi
./mad.sh:3402: if CheckNoHtml "$remote_url" "$filename" "$file_path" ; then
./mad.sh:3403: containsHtml=false
./mad.sh:3404: else
./mad.sh:3405: containsHtml=true
./mad.sh:3406: fi
./mad.sh:3363: tor_curl_request --insecure -L --referer "$file_url" "$download_url" --output "$file_path"
./mad.sh:3364: rc=$?
./mad.sh:3365: if [ $rc -ne 0 ] ; then
./mad.sh:3366: printf "${RED}Download Failed (bad exit status).${NC}"
./mad.sh:3367: if [ -f ${file_path} ]; then
./mad.sh:3368: printf "${YELLOW} Partial removed...${NC}"
./mad.sh:3369: printf "\n\n"
./mad.sh:3370: rm -f "${file_path}"
./mad.sh:3371: else
./mad.sh:3372: printf "\n\n"
./mad.sh:3373: fi
--
./mad.sh:3594: response=$(tor_curl_upload --insecure -i \
./mad.sh:3595: -H "Content-Type: multipart/form-data" \
./mad.sh:3596: -F "key=" \
./mad.sh:3597: -F "time=$jira_timeval" \
./mad.sh:3598: -F "file=@${filepath}" \
./mad.sh:3599: "${jira_PostUrlHost}")
./mad.sh:3600: else
./mad.sh:3601: response=$(tor_curl_upload --insecure -i \
./mad.sh:3602: -H "Content-Type: multipart/form-data" \
./mad.sh:3603: -F "key=" \
./mad.sh:3604: -F "time=$jira_timeval" \
./mad.sh:3605: -F "files[]=@${arrFiles[@]}" \
./mad.sh:3606: "${jira_PostUrlHost}")
./mad.sh:3607: fi
./mad.sh:3608: if [ "${DebugAllEnabled}" == "true" ] ; then
./mad.sh:3609: debugHtml "${filepath##*/}" "${_hostCode}_upload" "post_url: ${jira_PostUrlHost}"$'\n'"${response}"
./mad.sh:3610: fi
./mad.sh:3611: if grep -Eqi ' 200 ' <<< "${response}" ; then
./mad.sh:3407: tor_curl_request --insecure -L --speed-limit $DownloadSpeedMin --speed-time $DownloadTimeoutInterval "$download_url" --continue-at - --output "$file_path"
./mad.sh:3408: else
./mad.sh:3409: tor_curl_request --insecure -L --referer "$file_url" "$download_url" --continue-at - --output "$file_path"
./mad.sh:3410: fi
./mad.sh:3411: received_file_size=0
./mad.sh:3412: if [ -f "$file_path" ] ; then
./mad.sh:3413: received_file_size=$(stat --format="%s" "$file_path" | tr -d '[:space:]')
./mad.sh:3414: fi
./mad.sh:3415: if CheckNoHtml "$remote_url" "$filename" "$file_path" ; then
./mad.sh:3416: containsHtml=false
./mad.sh:3417: else
./mad.sh:3418: containsHtml=true
./mad.sh:3419: fi
--
./mad.sh:3607: response=$(tor_curl_upload --insecure -i \
./mad.sh:3608: -H "Content-Type: multipart/form-data" \
./mad.sh:3609: -F "key=" \
./mad.sh:3610: -F "time=$jira_timeval" \
./mad.sh:3611: -F "file=@${filepath}" \
./mad.sh:3612: "${jira_PostUrlHost}")
./mad.sh:3613: else
./mad.sh:3614: response=$(tor_curl_upload --insecure -i \
./mad.sh:3615: -H "Content-Type: multipart/form-data" \
./mad.sh:3616: -F "key=" \
./mad.sh:3617: -F "time=$jira_timeval" \
./mad.sh:3618: -F "files[]=@${arrFiles[@]}" \
./mad.sh:3619: "${jira_PostUrlHost}")
./mad.sh:3620: fi
./mad.sh:3621: if [ "${DebugAllEnabled}" == "true" ] ; then
./mad.sh:3622: debugHtml "${filepath##*/}" "${_hostCode}_upload" "post_url: ${jira_PostUrlHost}"$'\n'"${response}"
./mad.sh:3623: fi
./mad.sh:3624: if grep -Eqi ' 200 ' <<< "${response}" ; then

View file

@ -24,6 +24,7 @@ Max Size . HostCode . Nickname . Notes
2GB fs firestorage.jp 90d+ inactive expiry
2GB sysp syspro.com.br ?? expiry
* 2GB axfc axfc.net 90d+ inactive expiry
1GB uwab uwabaki.party no expiry, no DMCA, no logs
- 1GB kraken krakenfiles.com 90d inactive expiry
1GB ansh anonsharing.com 6mo expiry
512MB anon anonfile.de ?? expiry
@ -38,7 +39,7 @@ Max Size . HostCode . Nickname . Notes
100MB fb fileblade.com ?? expiry
100MB ubay uploadbay.net ?? expiry
100MB upee upload.ee 50d expiry
100MB bow bowfile.com 20d inactive expiry
- 100MB bow bowfile.com 20d inactive expiry
- 100MB yolo yolobit ?? expiry
- 100MB nofile nofile.org ?? expiry
- 100MB so share-online.vg ?? expiry
@ -95,6 +96,7 @@ dosya dosyaupload -- Uploads failing / downloads Captcha / js required
cyx cyssoux.fr -- Error 6 -- server temp file location issue
frso freesocial.co -- No response
squid filesquid.net -- No response
bow bowfiles -- js required
NOTES (*):
----------------
@ -104,6 +106,6 @@ axfc axfc.net (MAD download not implemented)
# Jirafeau hosts:
(recommended upload 100MB splits as many host only support that)
(recommended upload 100MB splits as many host only support that, and the retention algo favors smaller files)

View file

@ -1,6 +1,6 @@
#! Name: isupload.sh
#! Name: fileblade.sh
#! Author: kittykat
#! Version: 2025.01.14
#! Version: 2025.01.17
#! Desc: Add support for downloading and processing of urls for a new host
#! Usage: Copy this file into the ./${ScriptDir}/hosts/ folder
#!
@ -106,8 +106,8 @@ fb_FetchFileInfo() {
fi
fi
if grep -Eqi "Sorry, you are banned|Sorry, you have been blocked" <<< "$response"; then
if [ $i == $maxfetchretries ] ; then
rm -f "${fb_cookie_jar}";
if [ $i == $maxfetchretries ] ; then
printf "\\n"
echo -e "${RED}| Failed to extract download link [blocked ip]${NC}"
warnAndRetryUnknownError=true

View file

@ -1,6 +1,6 @@
#! Name: ranoz.sh
#! Author: kittykat
#! Version: 2025.01.11
#! Version: 2025.01.18
#! Desc: Add support for downloading and processing of urls for a new host
#! Usage: Copy this file into the ./${ScriptDir}/hosts/ folder
#!
@ -247,12 +247,15 @@ rz_FetchFileInfo() {
#! ----------- (3) Fetch File / Download File Function --------------- #
#!
rz_GetFile() {
echo -e "${GREEN}# Downloading…"
echo -e "${GREEN}# Downloading… ${BLUE}(no resume)${NC}"
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"
if [ -f "$file_path" ]; then
rm -f "$file_path"
fi
for ((j=1; j<=$MaxDownloadRetries; j++)); do
pd_presize=0
if [ -f "$file_path" ] ; then

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

@ -1,6 +1,6 @@
#! Name: up_axfc.sh
#! Author: kittykat
#! Version: 2025.01.02
#! Version: 2025.01.16
#! Desc: Add support for uploading files to a new host
#! Info: Files are accessible at https://www.axfc.net/<hash>
#! MaxSize: 2GB
@ -190,7 +190,7 @@ axfc_PostFile() {
if [ "${DebugAllEnabled}" == "true" ] ; then
debugHtml "${filepath##*/}" "${_hostCode}_upload" "post_url: ${PostUrlHost}"$'\n'"${response}"
fi
response_ascii=$(echo "$response" | iconv -c -f UTF-8 -t ASCII//TRANSLIT)
response_ascii=$(mconvert_utf8_to_ascii "$response")
if [ "${DebugAllEnabled}" == "true" ] ; then
debugHtml "${filepath##*/}" "${_hostCode}_upload_ascii" "post_url: ${PostUrlHost}"$'\n'"${response_ascii}"
fi

View file

@ -1,6 +1,6 @@
#! Name: up_nantes.sh
#! Author: kittykat
#! Version: 2024.10.23
#! Version: 2025.01.18
#! Desc: Add support for uploading files to fichiers.nantes.cloud
#! Info: Files are accessible at https://address/f.php?h=<file_code>&p=1
#! MaxSize: 10GB
@ -36,7 +36,7 @@ nant_UploadFile() {
jira_MaxUploadSizeInBytes=10737418240
jira_PostUrlHost='https://fichiers.nantes.cloud/script.php'
jira_filetype=1
jira_timeval="month"
jira_timeval="week"
jira_downloadLinkPrefix='https://fichiers.nantes.cloud/f.php?h='
jira_UploadFile ${1} ${2} ${3} ${4}
}

141
hosts/up_uwabaki.sh Normal file
View file

@ -0,0 +1,141 @@
#! Name: up_uwabaki.sh
#! Author: kittykat
#! Version: 2025.01.17
#! Desc: Add support for uploading files to a new host
#! Info: Files are accessible at https://address.com/<hash>
#! MaxSize: 1GB
#! Expire: none
#! Note: No expiry, no logs, DMCA ignored (hosted in the EU). Files are always encrypted server-side. Up to 5 files, max 1 GB each.
#! Usage: Copy this file into the ./${ScriptDir}/hosts/ folder
#!
#!
#! ------------ REQUIRED SECTION ---------------
#! @[UPDATE] ListUploadHosts: This string is loaded into mad.sh and allows dynamic handling of new url data
#! Format: '/HostCode/HostNick/HostFuncPrefix@'
#! HostCode: <aUniqueCodeForHost> (ie. 'fh' for filehaus -- cannot be used by other hosts)
#! HostNick: What is displayed throughout MAD output
#! HostFuncPrefix: <aUniqueStringThatMustPrefixHostFunctions> ie. 'fh' -- fh_UploadFile()
#! * Note: Must begin with a letter a-z (functions beginning with numbers are no bueno)
HostCode='uwab'
HostNick='uwabaki'
HostFuncPrefix='uwab'
#!
#! !! DO NOT UPDATE OR REMOVE !!
#! This merges the Required HostAndDomainRegexes into mad.sh
ListUploadHosts=${ListUploadHosts}'/'${HostCode}'/'${HostNick}'/'${HostFuncPrefix}'@'
#!
#!
#! Configurables
#! -------------
#!
#! ------------ (1) Host Main Upload Function --------------- #
#!
#! @REQUIRED: Host Main Upload function
#! Must be named specifically as such:
#! <HostFuncPrefix>_UploadFile()
uwab_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 uwab_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 --------------- #
#!
uwab_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]/}"
PostUrlHost="https://files.uwabaki.party/upload.php"
arrFiles=("$filepath")
trap "rm -f ${UploadTicket}; echo ""; tput cnorm; exit" 0 1 2 3 6 15
response=$(tor_curl_upload --insecure -i -L \
-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 'File uploaded: <a href="https://files.uwabaki.party/' <<< "${response}" ; then
url=$(grep -oPi '(?<=File uploaded: <a href=").*?(?=">.*$)' <<< "$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
elif grep -Eqi 'File uploaded: <a href="/' <<< "${response}" ; then
url=$(grep -oPi '(?<=File uploaded: <a href=").*?(?=">.*$)' <<< "$response")
filesize=$(GetFileSize "$filepath" "false")
downloadLink="https://files.uwabaki.party${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 ------------------- #
#!

View file

@ -1,6 +1,6 @@
#! Name: uwabaki.sh
#! Author: kittykat
#! Version: 2025.01.14
#! Version: 2025.01.17
#! Desc: Add support for downloading and processing of urls for a new host
#! Usage: Copy this file into the ./${ScriptDir}/hosts/ folder
#!
@ -16,13 +16,24 @@
HostCode='uwab'
HostNick='uwabaki'
HostFuncPrefix='direct'
HostUrls='uwabaki.party'
HostUrls='uwabaki.party, ufilesviwg67gcdyivvuanbx27c54bohd2e4mrichg5yrsaohom5dvid.onion'
HostDomainRegex='^(http|https)://(.*\.)?files\.uwabaki\.party/'
#!
#! !! DO NOT UPDATE OR REMOVE !!
#! This merges the Required HostAndDomainRegexes into mad.sh
ListHostAndDomainRegexes=${ListHostAndDomainRegexes}'/'${HostCode}'/'${HostNick}'/'${HostFuncPrefix}'/'${HostUrls}':'${HostDomainRegex}'@'
#!
#! Additional domains (oshi.onion)
HostCode='uwab'
HostNick='uwabaki'
HostFuncPrefix='direct'
HostUrls='uwabaki.party, ufilesviwg67gcdyivvuanbx27c54bohd2e4mrichg5yrsaohom5dvid.onion'
HostDomainRegex='^(http|https)://ufilesviwg67gcdyivvuanbx27c54bohd2e4mrichg5yrsaohom5dvid\.onion'
#!
#! !! 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 --------------- #
#!

39
mad.sh
View file

@ -23,15 +23,23 @@
# * MisterFL - unzip after completion code and ideas
# * stacktrough - click captcha workarounds and pixel websock code
# * oldfart - code suggestions, helpful feedback, clipmon implementation, WorkDir, fixes
# * ysDyx - code suggestions, alternative imagemagick ocr implemention
#
# Thanks for testing, feedback, bug reports, suggestions, and encouragement:
# * zaire, Rexmaxx, TinyPanties56, klonkerz, Stifflove
# * zaire, Rexmaxx, TinyPanties56, klonkerz, Stifflove, samiam22, peachbutler
#
# * Everyone who provided feedback and helped test.. and those who wish to remain anonymous
ScriptVersion=2025.01.14
ScriptVersion=2025.01.18
#=================================================
# Recent Additions
# 2025.01.18 - [up_nantes] Update the post retention to "week" (host removed "month" option)
# 2025.01.18 - [mad] Updates to url_encode function and addition of conversion of utf8 to ascii function
# 2025.01.17 - [ranoz] Servers response to resume changed, set as no resume type for now
# 2025.01.17 - [uwabaki] Add download handling for uwabaki onion address urls
# 2025.01.16 - [ranoz] Fix filenames with unicode chars in the download url
# 2025.01.16 - [up_axfc] Move convert utf8 to ascii to mad function
# 2025.01.16 - [up_uwabaki] Add uwabaki.party as upload host (1GB, no expiration, no DMCA, no logs)
# 2025.01.14 - [gagneux / up_gagneux] Add fichier.gagneux.info as upload / download host
# 2025.01.14 - [uwabaki] Add uwabaki.party as download host
# 2025.01.14 - [fileblade] Additional retries and handling for blocked Tor ips (until alternative)
@ -404,31 +412,31 @@ checkTor() {
}
tor_curl_request() {
if [ "${UseTorCurlImpersonate}" == "true" ]; then
"${curl_impersonate[@]}" --proxy "socks5h://${tor_identity}@${TorIp}:${torPort}" --connect-timeout ${ConnectTimeout} --compressed --globoff "$@"
"${curl_impersonate[@]}" --proxy "socks5h://${tor_identity}@${TorIp}:${torPort}" -4 --connect-timeout ${ConnectTimeout} --compressed --globoff "$@"
else
curl --proxy "socks5h://${tor_identity}@${TorIp}:${torPort}" --connect-timeout ${ConnectTimeout} --compressed --globoff "$@"
curl --proxy "socks5h://${tor_identity}@${TorIp}:${torPort}" -4 --connect-timeout ${ConnectTimeout} --compressed --globoff "$@"
fi
}
tor_curl_request_extended() {
randomtimeout=$((30 + RANDOM % (60 - 30)))
if [ "${UseTorCurlImpersonate}" == "true" ]; then
"${curl_impersonate[@]}" --proxy "socks5h://${tor_identity}@${TorIp}:${torPort}" --connect-timeout $randomtimeout --compressed --globoff "$@"
"${curl_impersonate[@]}" --proxy "socks5h://${tor_identity}@${TorIp}:${torPort}" -4 --connect-timeout $randomtimeout --compressed --globoff "$@"
else
curl --proxy "socks5h://${tor_identity}@${TorIp}:${torPort}" --connect-timeout $randomtimeout --compressed --globoff "$@"
curl --proxy "socks5h://${tor_identity}@${TorIp}:${torPort}" -4 --connect-timeout $randomtimeout --compressed --globoff "$@"
fi
}
tor_curl_upload() {
if [ "${UseTorCurlImpersonate}" == "true" ]; then
if [ "${RateMonitorEnabled}" == "true" ]; then
"${curl_impersonate[@]}" --proxy "socks5h://${tor_identity}@${TorIp}:${torPort}" --connect-timeout ${ConnectTimeout} --speed-limit $UploadSpeedMin --speed-time $UploadTimeoutInterval --compressed --globoff "$@"
"${curl_impersonate[@]}" --proxy "socks5h://${tor_identity}@${TorIp}:${torPort}" -4 --connect-timeout ${ConnectTimeout} --speed-limit $UploadSpeedMin --speed-time $UploadTimeoutInterval --compressed --globoff "$@"
else
"${curl_impersonate[@]}" --proxy "socks5h://${tor_identity}@${TorIp}:${torPort}" --connect-timeout ${ConnectTimeout} --compressed --globoff "$@"
"${curl_impersonate[@]}" --proxy "socks5h://${tor_identity}@${TorIp}:${torPort}" -4 --connect-timeout ${ConnectTimeout} --compressed --globoff "$@"
fi
else
if [ "${RateMonitorEnabled}" == "true" ]; then
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 "$@"
curl --proxy "socks5h://${tor_identity}@${TorIp}:${torPort}" -4 --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 "$@"
else
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 "$@"
curl --proxy "socks5h://${tor_identity}@${TorIp}:${torPort}" -4 --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 "$@"
fi
fi
}
@ -440,7 +448,7 @@ SetEnabledUploadHosts() {
lstEnabledUploadHosts+="up_pixeldrain,up_quax,up_ranoz,up_skrepr,up_torup,up_turboonion,up_uploadee,"
lstEnabledUploadHosts+="up_uploadhive,up_uploadraja,up_herbolistique,up_uploadbay,up_ateasystems,up_syspro,"
lstEnabledUploadHosts+="up_dashfile,up_anonfile,up_fileland,up_fireget,up_euromussels,up_ramsgaard,"
lstEnabledUploadHosts+="up_gagneux"
lstEnabledUploadHosts+="up_gagneux,up_uwabaki"
elif [[ "$EnabledUploadHosts" == "online" ]] ; then
lstEnabledUploadHosts="up_1fichier,up_anonsharing,up_axfc,up_bedrive,up_bowfile,up_depotkaz,"
lstEnabledUploadHosts+="up_familleflender,up_fileblade,up_fileditch,up_firestorage,up_free4e,up_gofile,"
@ -449,7 +457,7 @@ SetEnabledUploadHosts() {
lstEnabledUploadHosts+="up_shareonline,up_skrepr,up_torup,up_turboonion,up_uploadee,up_uploadhive,"
lstEnabledUploadHosts+="up_uploadraja,up_yolobit,up_herbolistique,up_uploadbay,up_ateasystems,up_syspro,"
lstEnabledUploadHosts+="up_dashfile,up_anonfile,up_fileland,up_fireget,up_euromussels,up_ramsgaard,"
lstEnabledUploadHosts+="up_gagneux"
lstEnabledUploadHosts+="up_gagneux,up_uwabaki"
fi
}
SetEnabledDownloadHosts() {
@ -505,8 +513,13 @@ GetRandomFiledotUser() {
fi
done
}
mconvert_utf8_to_ascii() {
local response_ascii=$(echo "$1" | iconv -c -f UTF-8 -t ASCII//TRANSLIT)
printf "%s" "$response_ascii"
}
urlencode_literal_grouped_case () {
string=$1; format=; set --
local inputCleaned=$(echo -en "$1")
string=$inputCleaned; format=; set --
while
literal=${string%%[!-._~0-9A-Za-z]*}
case "$literal" in

View file

@ -1,19 +1,17 @@
# 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
# 300GB 1f 1fichier 250MB upev uploadev.org 20GB pd pixeldrain
# 5GB oshi oshi 300GB fh filehaus 4GB offcat offshore.cat
# 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
# 195MB dup dataupload.net 2GB axfc axfc.net 240MB ko kouploader.jp
# 10GB raja uploadraja.com 4GB tmpsh temp.sh 256MB qx qu.ax
# 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 256MB qx qu.ax
# 40GB isup isupload.com 100MB fb fileblade.com 20GB atea ateasystems.com
# 100MB ubay uploadbay.net 2GB sysp syspro.com.br 400MB dash dashfile.net
# 512MB anon anonfile.de 100MB fget fireget.com 500MB fland fileland.io
# 1GB ansh anonsharing.com 1GB torp TorUp.onion 20GB atea ateasystems.com
# 100MB upee upload.ee 5GB fd fileditch.com 400MB dash dashfile.net
# 40GB isup isupload.com 100MB fb fileblade.com 500MB fland fileland.io
# 100MB ubay uploadbay.net 2GB sysp syspro.com.br 1GB uwab uwabaki.party
# 512MB anon anonfile.de 100MB fget fireget.com
# Jirafeau 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
@ -22,9 +20,6 @@
# ?? skpr skrepr.com 5GB edd eddowding.com 2GB dict dictvm.org
# 10GB cyx cyssoux.fr 5GB frso freesocial.co 512MB herb herbolistique.com
# 512MB gagn gagneux.info
# (Require js -- do not use)
# 4GB daily dailyuploads 1GB kraken krakenfiles 2GB hex hexload
# 4GB bd bedrive.ru 5GB uflix uploadflix
# ------------------------------- ------------------------------ ------------------------------
# Example Uploads Todo: