# 2025.02.02 - [mad] Add function to handle urlencode of cyrillic / kanji / latin / etc

# 2025.02.02 - [ranoz] Fix handling filenames containing cyrillic / kanji / latin chars
# 2025.02.02 - [all] Reduced character processing for urlencode to special url characters
# 2025.01.30 - [isupload] Add handling of 404 Not Found on initial page fetch
# 2025.01.23 - [mad] Do not check for supported host on "direct=" lines
# 2025.01.19 - [fileditch] Add direct download url processing fileditchfiles.me (though they block Tor now)
This commit is contained in:
kittykat 2025-02-02 08:20:42 +00:00
parent 0ba636a488
commit fd4723eb24
Signed by: kittykat
GPG key ID: E3F1556620F70C3C
7 changed files with 519 additions and 460 deletions

View file

@ -1,4 +1,4 @@
DateTime: 25.01.18
DateTime: 25.02.02
Files:
./hosts/1fichier.sh
@ -352,12 +352,12 @@ _________________________________________________________________________
./hosts/quax.sh:176: tor_curl_request --insecure --speed-limit $DownloadSpeedMin --speed-time $DownloadTimeoutInterval "$download_url" --continue-at - --output "$file_path"
./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: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/ranoz.sh:158: file_header=$(tor_curl_request --insecure --head -L -i -s "$download_url")
./hosts/ranoz.sh:268: if [ "${UseTorCurlImpersonate}" == "true" ]; then
./hosts/ranoz.sh:270: tor_curl_request --insecure -L -G --no-alpn \
./hosts/ranoz.sh:274: tor_curl_request --insecure -L -G --no-alpn \
./hosts/ranoz.sh:279: tor_curl_request --insecure -L -G --no-alpn \
./hosts/ranoz.sh:294: 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 \
@ -474,119 +474,119 @@ _________________________________________________________________________
./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: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}" -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"
./mad.sh:128:UseTorCurlImpersonate=false
./mad.sh:419:tor_curl_request() {
./mad.sh:420: if [ "${UseTorCurlImpersonate}" == "true" ]; then
./mad.sh:421: "${curl_impersonate[@]}" --proxy "socks5h://${tor_identity}@${TorIp}:${torPort}" -4 --connect-timeout ${ConnectTimeout} --compressed --globoff "$@"
./mad.sh:423: curl --proxy "socks5h://${tor_identity}@${TorIp}:${torPort}" -4 --connect-timeout ${ConnectTimeout} --compressed --globoff "$@"
./mad.sh:426:tor_curl_request_extended() {
./mad.sh:428: if [ "${UseTorCurlImpersonate}" == "true" ]; then
./mad.sh:429: "${curl_impersonate[@]}" --proxy "socks5h://${tor_identity}@${TorIp}:${torPort}" -4 --connect-timeout $randomtimeout --compressed --globoff "$@"
./mad.sh:431: curl --proxy "socks5h://${tor_identity}@${TorIp}:${torPort}" -4 --connect-timeout $randomtimeout --compressed --globoff "$@"
./mad.sh:434:tor_curl_upload() {
./mad.sh:435: if [ "${UseTorCurlImpersonate}" == "true" ]; then
./mad.sh:437: "${curl_impersonate[@]}" --proxy "socks5h://${tor_identity}@${TorIp}:${torPort}" -4 --connect-timeout ${ConnectTimeout} --speed-limit $UploadSpeedMin --speed-time $UploadTimeoutInterval --compressed --globoff "$@"
./mad.sh:439: "${curl_impersonate[@]}" --proxy "socks5h://${tor_identity}@${TorIp}:${torPort}" -4 --connect-timeout ${ConnectTimeout} --compressed --globoff "$@"
./mad.sh:443: 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:445: 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:1441:install_curl_impersonate() {
./mad.sh:1443: echo -e "${BLUE}lwthiker curl_impersonate${NC} is the original dev, but it is relatively inactive."
./mad.sh:1444: echo -e "- Currently uses curl v8.1.1."
./mad.sh:1448: echo -e "${BLUE}lexiforest curl_impersonate${NC} is an active fork of curl_impersonate."
./mad.sh:1449: echo -e "+ Currently uses curl v8.7.1"
./mad.sh:1453: PS3='Please select which curl_impersonate to install: '
./mad.sh:1461: install_curl_impersonate_lwthiker_orig
./mad.sh:1465: install_curl_impersonate_lexiforest_fork
./mad.sh:1475:install_curl_impersonate_lwthiker_orig() {
./mad.sh:1479: echo -e "${BLUE}lwthiker curl_impersonate${NC} is the original curl_impersonate."
./mad.sh:1480: echo -e "+ Currently uses curl v8.1.1, and has low activity for updates"
./mad.sh:1483: echo -e "${GREEN}| Fetching:${NC} latest ${BLUE}lwthiker curl_impersonate${NC} info from github...${NC}"
./mad.sh:1486: response=$(tor_curl_request --insecure -L -s https://github.com/lwthiker/curl-impersonate/releases/latest)
./mad.sh:1488: debugHtml "github" "lbf_inst_curlimp$j" "$response"
./mad.sh:1491: latestTag=$(grep -oPi -m 1 '(?<=/curl-impersonate/releases/tag/).*?(?=")' <<< "$response")
./mad.sh:1501: yes_or_no "Do you wish to download and extract curl_impersonate $latestTag (using tor+curl)?" && {
./mad.sh:1503: download_url='https://github.com/lwthiker/curl-impersonate/releases/download/'"$latestTag"'/curl-impersonate-'"$latestTag"'.x86_64-linux-gnu.tar.gz'
./mad.sh:1506: file_header=$(tor_curl_request --insecure --head -Ls "$download_url")
./mad.sh:1508: debugHtml "github" "head_inst_curlimp$j" "${file_header}"
./mad.sh:1556: tor_curl_request --insecure -L "$download_url" --continue-at - --output "$file_path"
./mad.sh:1585: echo -e "| Extracting curl_impersonate..."
./mad.sh:1587: rm -f "${ScriptDir}"/curl*
./mad.sh:1588: mv "$extract_location/curl-impersonate-ff" "${ScriptDir}/"
./mad.sh:1589: mv "$extract_location/curl_ff109" "${ScriptDir}/"
./mad.sh:1590: echo -e "${GREEN}| Done.${NC} Update ${BLUE}\"UseTorCurlImpersonate=true\"${NC} in script to use..."
./mad.sh:1598:install_curl_impersonate_lexiforest_fork() {
./mad.sh:1602: echo -e "${BLUE}lexiforest curl_impersonate${NC} is an active fork of curl_impersonate."
./mad.sh:1603: echo -e "+ Currently uses curl v8.7.1, and is patched for latest CVEs"
./mad.sh:1606: echo -e "${GREEN}| Fetching:${NC} latest ${BLUE}lexiforest curl_impersonate fork${NC} info from github...${NC}"
./mad.sh:1609: response=$(tor_curl_request --insecure -L -s https://github.com/lexiforest/curl-impersonate/releases/latest)
./mad.sh:1611: debugHtml "github" "lbf_inst_curlimp$j" "$response"
./mad.sh:1614: latestTag=$(grep -oPi -m 1 '(?<=/curl-impersonate/releases/tag/).*?(?=")' <<< "$response")
./mad.sh:1624: yes_or_no "Do you wish to download and extract curl_impersonate $latestTag (using tor+curl)?" && {
./mad.sh:1626: download_url='https://github.com/lexiforest/curl-impersonate/releases/download/'"$latestTag"'/curl-impersonate-'"$latestTag"'.x86_64-linux-gnu.tar.gz'
./mad.sh:1629: file_header=$(tor_curl_request --insecure --head -Ls "$download_url")
./mad.sh:1631: debugHtml "github" "head_inst_curlimp$j" "${file_header}"
./mad.sh:1679: tor_curl_request --insecure -L "$download_url" --continue-at - --output "$file_path"
./mad.sh:1708: echo -e "| Extracting curl_impersonate..."
./mad.sh:1710: rm -f "${ScriptDir}"/curl*
./mad.sh:1711: mv "$extract_location/curl-impersonate-chrome" "${ScriptDir}/"
./mad.sh:1712: mv "$extract_location/curl_chrome131" "${ScriptDir}/"
./mad.sh:1713: echo -e "${GREEN}| Done.${NC} Update ${BLUE}\"UseTorCurlImpersonate=true\"${NC} in script to use..."
./mad.sh:1875: echo -e ":${NC} ${GREEN}MAD${PINK} Audit${NC} : Reports usage of http & curl in scripts${PINK}${BLD} :"
./mad.sh:1883: maud_curl=$(grep -n -vxE '[[:blank:]]*([#].*)?' $fil | grep --color='always' -Ei 'curl')
./mad.sh:1884: maud_torcurl=$(grep -n -vxE '[[:blank:]]*([#].*)?' $fil | grep -A 12 --color='always' -Ei 'tor_curl')
./mad.sh:1893: echo -e "${PINK}MAD Audit of curl:${NC} (${GREEN}grep \"curl\"${NC})"
./mad.sh:1895: echo -e "$maud_curl"
./mad.sh:1897: echo -e "${PINK}MAD Audit of tor_curl (+12 lines after):${NC} (${GREEN}grep \"tor_curl\"${NC})"
./mad.sh:1899: echo -e "$maud_torcurl"
./mad.sh:1911: maud_curl=$(grep -n -vxE '[[:blank:]]*([#].*)?' $fil | grep --color='always' -Ei 'curl')
./mad.sh:1912: maud_torcurl=$(grep -n -vxE '[[:blank:]]*([#].*)?' $fil | grep -A 12 --color='always' -Ei 'tor_curl')
./mad.sh:1921: echo -e "${PINK}MAD Audit of curl:${NC} (${GREEN}grep \"curl \"${NC})"
./mad.sh:1923: echo -e "$maud_curl"
./mad.sh:1925: echo -e "${PINK}MAD Audit of tor_curl (+12 lines after):${NC} (${GREEN}grep \"tor_curl\"${NC})"
./mad.sh:1927: echo -e "$maud_torcurl"
./mad.sh:1933: maud_curl=$(grep -n -vxE '[[:blank:]]*([#].*)?' $fil | grep --color='always' -Ei 'curl')
./mad.sh:1934: maud_torcurl=$(grep -n -vxE '[[:blank:]]*([#].*)?' $fil | grep -A 12 --color='always' -Ei 'tor_curl')
./mad.sh:1943: echo -e "${PINK}MAD Audit of curl:${NC} (${GREEN}grep \"curl\"${NC})"
./mad.sh:1945: echo -e "$maud_curl"
./mad.sh:1947: echo -e "${PINK}MAD Audit of tor_curl (+12 lines after):${NC} (${GREEN}grep \"tor_curl\"${NC})"
./mad.sh:1949: echo -e "$maud_torcurl"
./mad.sh:2896: if [ "${UseTorCurlImpersonate}" == "true" ]; then
./mad.sh:2897: printf "client: ${GREEN}Tor${NC} + ${BLUE}curl_impersonate${NC}\\n"
./mad.sh:2899: printf "client: ${GREEN}Tor${NC} + ${GREEN}curl${NC}\\n"
./mad.sh:3071: if [ "${UseTorCurlImpersonate}" == "true" ]; then
./mad.sh:3072: printf "client: ${GREEN}Tor${NC} + ${BLUE}curl_impersonate${NC}\\n"
./mad.sh:3074: printf "client: ${GREEN}Tor${NC} + ${GREEN}curl${NC}\\n"
./mad.sh:3272: file_header=$(tor_curl_request --insecure -m 8 -s -D - -o /dev/null \
./mad.sh:3279: file_header=$(tor_curl_request --insecure --head -H "Connection: keep-alive" -L -s -i "$download_url" |
./mad.sh:3409: tor_curl_request --insecure -L --referer "$file_url" "$download_url" --output "$file_path"
./mad.sh:3453: tor_curl_request --insecure -L --speed-limit $DownloadSpeedMin --speed-time $DownloadTimeoutInterval "$download_url" --continue-at - --output "$file_path"
./mad.sh:3455: tor_curl_request --insecure -L --referer "$file_url" "$download_url" --continue-at - --output "$file_path"
./mad.sh:3653: response=$(tor_curl_upload --insecure -i \
./mad.sh:3660: response=$(tor_curl_upload --insecure -i \
./mad.sh:3731:if [ "${UseTorCurlImpersonate}" == "true" ]; then
./mad.sh:3732: curl_impersonate=()
./mad.sh:3733: readarray -d $'' arrFiles < <(find "$ScriptDir" -maxdepth 1 -name "curl_*" -printf '%p\n' | sort -Vk1)
./mad.sh:3734: bFoundCurlHeader=false
./mad.sh:3738: curl_impersonate=($fil)
./mad.sh:3739: bFoundCurlHeader=true
./mad.sh:3743: if [ "$bFoundCurlHeader" == "false" ]; then
./mad.sh:3744: echo -e "${RED}[ERROR] Missing dependency \"curl-impersonate\"!${NC}"
./mad.sh:3747: echo -e "You'll need to download ${GREEN}\"curl-impersonate\"${NC}."
./mad.sh:3750: echo -e "The latest binary can be obtained on GitHub, search for \"curl-impersonate\""
./mad.sh:3752: echo -e " 1. Visit the page of curl-impersonate and add \"/releases/latest/\" at end of URL."
./mad.sh:3756: echo -e " 4. Download archive ${GREEN}\"curl-impersonate-vX.Y.Z.x86_64-linux-gnu.tar.gz\"${YELLOW}."
./mad.sh:3757: echo -e " 5. Extract files ${GREEN}\"curl-impersonate-ff\"${NC} and ${GREEN}\"curl_ff109\"${NC} next to this script."
./mad.sh:3760: echo -e "run $0 install_curl_impersonate\\n"
./mad.sh:3762: yes_or_no "Do you wish to download and extract latest curl_impersonate (using tor+curl)?" && {
./mad.sh:3763: UseTorCurlImpersonate=false
./mad.sh:3764: install_curl_impersonate
./mad.sh:3848: echo -e "[${YELLOW}Install curl_impersonate${NC}]: Downloads the latest binary for curl_impersonate from github repo (3 choices)"
./mad.sh:3849: printf " %s install_curl_impersonate\\n" "$0"
./mad.sh:3927:elif [[ "$arg1" == "install_curl_impersonate" ]]; then
./mad.sh:3928: install_curl_impersonate
./mad.sh:3959:if [ "${UseTorCurlImpersonate}" == "true" ]; then
./mad.sh:3960: printf "client: ${GREEN}Tor${NC} + ${BLUE}curl_impersonate${NC}\\n"
./mad.sh:3962: 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}" \