archlinuxfr / yaourt

[unmaintained] A Pacman frontend with more features and AUR support
598 stars 98 forks source link

Not able to customize curl callouts #300

Closed klauern closed 8 years ago

klauern commented 8 years ago

I am behind a corporate HTTP proxy, and as such, I have to use some custom configurations to work with the proxy server. In particular, I have had to update my /etc/pacman.conf to use a different tool to get the package files.

[options]
...
XferCommand = /usr/bin/wget --no-check-certificate -H -T 3600 --passive-ftp -c -O %o %u
...

Related to this, I have tried curl with this XferCommand, but was unable to get it to successfully wait and/or negotiate the communication+waiting on the proxy server to retrieve+scan+forward the file on to me when making requests.

I would like to be able to customize the command used to retrieve package files. Right now, curl times out, and is unable to work with my proxy.

f2404 commented 8 years ago

You need to export 'http_proxy' and 'https_proxy' environment variables to make curl use your proxy.

klauern commented 8 years ago

Yes, that's true, and I already have that set systemwide in the /etc/environment file. However, it's not a blind proxy that you can just request whatever you want and traffic will go through. There's other middleware like an antivirus, that holds your connection open, disallowing you from downloading it until the AV "blesses" it. I don't know how to customize this through flags like --connect-timeout, -L, or --max-time from yaourt, as I don't see any options to allow that to exist.

Is there an environment variable that I could set to pass cUrl command-line options to all curl calls?

f2404 commented 8 years ago

Can curl config file help?

FILES
       ~/.curlrc
              Default config file, see -K, --config for details.
klauern commented 8 years ago

Hm, I'm attempting to use a ~/.curlrc file, but it seems to be timing out after 30-35seconds. I'm not sure it's picking it up or reading it:

connect-timeout = 3600
max-time = 3600

I may have to reconvene on this later today or tomorrow, but it's odd that it doesn't seem to be taking these settings in.

f2404 commented 8 years ago

Are you testing yaourt or curl itself? I would suggest to first make curl binary work for you (e.g. download some file using https) and then see if the same config works for yaourt.

klauern commented 8 years ago

Okay, I think I found the underlying cause @f2404 . It may be due to my company's proxy simply blocking the tool I'm trying to download. I have to find something big to test, though, but I think I will close this for the time being, and if I find that it still doesn't work after they unblock it, I'll create another ticket.

Thank you for the help.

f2404 commented 8 years ago

@klauern You are welcome!