[Tails-dev] Proposal: Add support for curl (does ALL_PROXY f…

Delete this message

Reply to this message
Author: David A. Wheeler
Date:  
To: The Tails public development discussion list
Subject: [Tails-dev] Proposal: Add support for curl (does ALL_PROXY fix it?)
Currently Tails includes and supports wget. I propose *also* adding support for curl.

Curl is widely-used and is the "go-to" tool for many people at the command line.
Thus, including it would make Tails more convenient for some. In addition,
enabling curl would make a number of added packages in Debian "just work",

I think it would be best to make curl part of the installation. Then it'd be immediately
available & it'd more obviously tested.
Curl and wget do some similar things, but each can do things the other can't,
and in any case many people & tools expect curl to be available.
Curl also isn't large compared to many other tools, e.g., libreoffice.
If there's no agreement on including curl by default,
please at *least* make curl "just work" when it's installed as a separate program.

In some brief testing, it appears this is all that's needed to make curl "just work":
export ALL_PROXY='socks5h://127.0.0.1:9050'

I don't see a need for 'torify' (which uses LD_PRELOAD to try to intercept requests).
The curl tool already knows about proxies and has many controls for them.
Using socks5h asks it to make DNS requests also go to the proxy. In short,
I *think* setting this in the default environment makes it curl "just work", as long
as when the user logs in the environment includes that setting (which is easy to cause).
If all it takes is setting an environment variable, then I think it's important to do that
by default, e.g., via /etc/environment.d or /etc/profile.d or similar.

I haven't seriously examined if ALL_PROXY works in special cases, e.g.,
with other intermediate proxies or with Tor bridges. Maybe there's
a problem with this approach, or a better way to make curl work on Tails.
But no matter what, I'd like curl to "just work" on Tails, and ideally available by default.

Discussion welcome!

--- David A. Wheeler