Before in older versions I was able to and you can verify that its still possible but

torsocks -i /usr/bin/curl -x http://192.168.0.1:80 ipinfo.io/ip
192.168.0.1

but if I use the curl wrapper "/usr/local/bin/curl" (curl)


curl -x http://192.168.0.1:80 ipinfo.io/ip
curl: (7) Failed to connect to 192.168.0.1 port 80: Connection refused


(192.168.0.1 is not the real proxy I don't want to list my private proxy)

Proposed fix check with if statement that -x was provided and use torsocks --isolate :

#!/bin/sh

# This script is a wrapper around curl that forces it to use Tor.
# We do that by setting the ALL_PROXY environment variable instead of
# using torsocks, because torsocks has issues with IPv6 and therefore
# disabled it by default (see https://forum.torproject.net/t/torsocks-release-2-4-0/3425).

# Similarly to what torsocks does with the --isolate option, we set a
# random username to make Tor use different circuits each time curl is
# called (see IsolateSOCKSAuth).
username=curl-$(head -c 12 /dev/urandom | xxd -p)
ALL_PROXY="socks5://${username}:[email protected]:9050"
export ALL_PROXY

# Check if the user has provided an -x option
for arg in "$@"; do
    if [ "$arg" = "-x" ]; then
        # If -x is found, use torsocks to execute cURL
        exec /usr/bin/torsocks --isolate /usr/bin/curl "$@"
    fi
done

# If no -x option is provided, just execute cURL with the ALL_PROXY IPv6 support
exec /usr/bin/curl "$@"
_______________________________________________
Tails-dev mailing list
[email protected]
https://www.autistici.org/mailman/listinfo/tails-dev
To unsubscribe from this list, send an empty email to 
[email protected].

Reply via email to