Re: [Tails-dev] Proposal: Add support for curl (does ALL_PRO…

Delete this message

Reply to this message
Author: David A. Wheeler
Date:  
To: The Tails public development discussion list
Subject: Re: [Tails-dev] Proposal: Add support for curl (does ALL_PROXY fix it?)

>>>>> oh yeah, we all like curl. I wonder what kind of user needs curl, though. ...



> On Feb 28, 2023, at 2:20 PM, sajolida <sajolida@???> wrote:
> I wanted to complete a bit the picture on "who the heck would use curl"?
> Daniel Moßbrucker used wget for his investigative journalism:
> https://tails.boum.org/contribute/how/user_experience/interviews/daniel
> In his own words:
> « For the research on child abuse, we used wget for most of our crawling
> and it's super useful to have it already installed. »
> ...
> There I also met other journos who have a bit of a technical profile and investigate online data in ways that could totally benefit from wget and curl.
> In that regard (and many others), the personas on https://tails.boum.org/contribute/personas/ are quite outdated, I think. Thinking about these more techie-journos, curl could totally makes sense in Tails.


I've created a proposal to briefly describe how to use
additional software within Tails. It includes some information on how to use curl:
https://gitlab.tails.boum.org/tails/tails/-/merge_requests/1044

If curl is later added the curl specifics could be removed, but at least that information makes it
easier for people to use curl if they wish to.

> David: Actually, I'm curious what made you suggest adding curl to Tails.
> Did you had any particular use case or users in mind?


I had in mind investigative journalists & similar researchers with a *modest* technical background.
More generally, people who gather data (and sometimes send it) from the Internet,
especially those who can write simple scripts to do that.

There are many websites that provide data access via an API (e.g., a RESTful API
with JSON data formats). It's possible to use wget, but curl is more typically used for this
purpose. Curl is *designed* to be used this way. E.g.:
* curl includes the libcurl library; it's not just a command line system. Various
programming language's libraries use libcurl directly (e.g., pycurl for Python). This
ease of access via libraries makes curl the easy/obvious choice for using curl in
simple scripting in languages like Python.
* curl supports HTTP multipart/form-data sending. That is, it better supports HTTP(s) upload.
* For other pluses, see: https://daniel.haxx.se/docs/curl-vs-wget.html

Wget is far better than curl for recursively downloading websites, but for other
kinds of interactions, curl is often more capable than wget. Both have their uses.

--- David A. Wheeler