Vuze Forums

Full Version: Authenticating to HTTP proxy does not work
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
Hello,

I have a HTTP proxy that requires authentication and I'd like to use it for tracker communications.

I went to Options -> Connection -> Proxy, ticked [x] Enable proxying of tracker communications and put in my proxy address, port, username and password. Then I restarted Vuze.

Unfortunately it does not work. Vuze reports:

Code:
[tracker] Error from scrape interface https://tracker.example.com.invalid/scrape.php : Unable to tunnel through proxy. Proxy returns "HTTP/1.1 407 Proxy Authentication Required" (class java.io.IOException)

I verified the authentication problem with tcpdump and indeed no proxy authentication is sent by Vuze. Here's the request:

Code:
CONNECT tracker.example.com.invalid:443 HTTP/1.1
User-Agent: Java/1.8.0_121
Host: tracker.example.com.invalid
Accept: text/html, image/gif, image/jpeg, *; q=.2, */*; q=.2
Proxy-Connection: keep-alive

There is no Proxy-Authorization header in the request. Compare to a typical request sent by a web browser:

Code:
CONNECT www.example.com.invalid:443 HTTP/1.1
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:51.0) Gecko/20100101 Firefox/51.0
Proxy-Connection: keep-alive
Connection: keep-alive
Host: www.example.com.invalid:443
Proxy-Authorization: Basic cMirc3k6a69sbG8=

Note the Proxy-Authorization header, which is required to authenticate to the HTTP proxy.

Is this a bug in Vuze or is it just not supported, despite the UI allowing me to enter username and password for the HTTP proxy?
Hmm, Vuze relies on Java to handle the authentication protocol flow but it does seem to not be setting the username/password properties for HTTPS - I'll try adding this in - please test in the next beta (B23) - see https://wiki.vuze.com/w/Beta_Program
Quote:I'll try adding this in - please test in the next beta (B23)
 

Thank you for your help, will do.

(Embarrassingly I forgot to mention that I was running B18 on Linux x86-64)
Quote:please test in the next beta (B23)
 

Unfortunately still no proxy authentication in B23.

If you're still interested in pursuing then I'll help however I can.
darn it :( I'll think on it some more, thanks!
Bah, can't find a proxy server to test against. Tried installing WinGate but darned if I can get it to authenticate anything :(
Actually I got it working by using a second machine for the proxy - NTLM was getting in somehow and marking all my test connections as authenticated.

Anyway, once setup I can see HTTPS CONNECTs being authorized correctly and everything appears to work - not sure where this leaves things! I'll try and wireshark it to see what's being sent
When I set the tracker to a (fake) https://www.vuze.com address I got


Code:
CONNECT www.vuze.com:443 HTTP/1.1
User-Agent: Java/1.8.0_77
Host: www.vuze.com
Accept: text/html, image/gif, image/jpeg, *; q=.2, */*; q=.2
Proxy-Connection: keep-alive
Proxy-authorization: Basic Sm9lIEZhcnQ6dnV6ZQ==

HTTP/1.1 200 Connection established
Date: Tue, 21 Feb 2017 21:25:14 GMT
Server: WinGate Engine
Connection: Keep-Alive

I must say though that there's something odd about the fact that even though I set the username/password under the proxy settings I still got a prompt to enter them once
Thank you again for your effort. Unfortunately still no luck for me (tested again on B24), no proxy authentication gets sent and no password prompts either.

I guess you're using Windows? Maybe it's platform dependent. I could set up a virtual machine and test Vuze on Windows to verify your results.
For my test setup I had the proxy running on Windows 7 and the client on OSX 10.12.3

Do you have any other network settings in place? Bindings for example? I know there are some issues with the fact that the native HTTP(S) connection library doesn't support binding and therefore there is a hack work around that might be causing proxy issues.