FelisCatus / switchysharp

Automatically exported from code.google.com/p/switchysharp
GNU General Public License v3.0
140 stars 50 forks source link

Password protected proxies #173

Closed GoogleCodeExporter closed 9 years ago

GoogleCodeExporter commented 9 years ago
What enhancement do you suggest? (e.g. New function or features.)

Allow us to specify proxy password and username, as auto-switching proxies does 
not work with password-protected proxy servers.

Do you urgently need this enhancement?
Urgency: (High, Medium, Low)

Medium - pretty much the only reason I installed the plugin.

Do you think this enhancement is important to the project?
Importance: (High, Medium, Low)

Thanks for your support.
The project members may request more info about the suggestion, or mark the
issue as "Fixed". Please check your email for updates on this issue.

Original issue reported on code.google.com by the.t...@gmail.com on 29 Dec 2011 at 3:46

GoogleCodeExporter commented 9 years ago
Also, I do think the enhancement is important to the project, as not 
password-protecting your personal proxy server welcomes you to a whole mess of 
problems.

Original comment by the.t...@gmail.com on 29 Dec 2011 at 3:47

GoogleCodeExporter commented 9 years ago
Sorry, but it is impossible to do so.

As you know, SwitchySharp use the Chrome Proxy API to change proxy settings. 
Since there is no API to provide a username/password pair, password-protected 
proxies can not be supported.

So I think this should be an enhancement to the Chromium project. To be clear, 
Chromium( or Chrome ) itself do not support password-protected proxies, so 
there is no way for SwitchySharp to support it.

However, there is a way to workaround it. You can use Privoxy to create a proxy 
server which forward requests to your password-protected proxy. Of course, the 
username and password should be provided to Privoxy. Note the new proxy can not 
be password-protected (otherwise Chrome can't use it), but you can bind the 
listening address to 127.0.0.1 or ::1 in order to make it private. Hope it 
helps.

Original comment by shyc2...@gmail.com on 30 Dec 2011 at 8:04

GoogleCodeExporter commented 9 years ago
Issue 551 has been merged into this issue.

Original comment by shyc2...@gmail.com on 16 Jan 2013 at 12:43

GoogleCodeExporter commented 9 years ago
[deleted comment]
GoogleCodeExporter commented 9 years ago
I don't think the work around works:

"Privoxy itself does not support proxy authentication, but can allow clients to 
authenticate against Privoxy's parent proxy."

And since Chrom(e|ium) doesn't, as a client, support authentication of proxies, 
it's a bit of a catch-22.

Happy to be shown incorrect.

Hamish.

Original comment by hamish.m...@gmail.com on 21 Apr 2013 at 9:31

GoogleCodeExporter commented 9 years ago
Hi Hamish,

Sorry for my bad English. In the workaround, Privoxy listens to a local port 
WITHOUT any authentication, so Chrome is able to connect to it. Then Privoxy 
forwards the request to the remote proxy server with authentication configured. 
In this way, Privoxy acts like an unprotected proxy server to Chrome, but an 
authentication-enabled client to the remote server.

I hope that I make my self understood. If not, please don't hesitate to ask.

Original comment by shyc2...@gmail.com on 22 Apr 2013 at 3:22

GoogleCodeExporter commented 9 years ago
The problem isn't your English, which is very clear, but confusion over where 
the authentication is required and who supplies the credentials.

As per the quote from the Privoxy documentation (7.4.9. 
enable-proxy-authentication-forwarding):

"Privoxy itself does not support proxy authentication, but can allow clients to 
authenticate against Privoxy's parent proxy."
http://www.privoxy.org/user-manual/config.html

So, as I read this, 

Client provides credentials -> Privoxy (proxy-authentication-forwarding 
enabled) -> Parent Proxy (requires Authentication)

As you wrote earlier: 

"To be clear, Chromium( or Chrome ) itself do not support password-protected 
proxies, so there is no way for SwitchySharp to support it."

Since neither Chrom(e|ium) nor SwitchySharp can provide the authentication 
headers, and Privoxy does not support providing credentials for Parent proxy 
authentication, there is no way to get the credentials to the Parent proxy.

I have found the whole area of password protected proxies incredibly 
disappointing.  Why is such a simple obvious well documented and used standard 
completely ignored by at least two of the worlds leading standards compliant 
browsers?

The only demonstrated working solution I've found described is Proxifier:

https://www.privateinternetaccess.com/forum/index.php?p=/discussion/284/proxifie
r-a-working-example-windows-guide#Item_2

But why I should pay $US39.95 to remedy a flaw in libre software is beyond me.

It's as if password protected proxy use carried some kind of social taint.

Thanks for your response.

Hamish.

Original comment by hamish.m...@gmail.com on 22 Apr 2013 at 8:32

GoogleCodeExporter commented 9 years ago
Oops. My memory is getting worse. I thought Privoxy had authentication support.
Sorry for the wrong advice.

I think Squid should be able to do this, for it has a lot of features. Please 
feel free to point out if my memory is tricking me again.

Original comment by shyc2...@gmail.com on 22 Apr 2013 at 12:57

GoogleCodeExporter commented 9 years ago
Issue 630 has been merged into this issue.

Original comment by shyc2...@gmail.com on 29 Apr 2013 at 10:44

GoogleCodeExporter commented 9 years ago
英语不好,用翻译看懂了大致意思,也就是说要支持的话只��
�靠Chrome本身提供相关功能了?
Privoxy帮不上忙的。

Original comment by mj198...@gmail.com on 29 Apr 2013 at 1:27

GoogleCodeExporter commented 9 years ago
mj198798: 嗯,是这样的。

Original comment by shyc2...@gmail.com on 29 Apr 2013 at 1:35

GoogleCodeExporter commented 9 years ago
I found that there's another extension which provides the remembering the 
password functionality, by registering listener on webRequest.onAuthRequired 
method, and it seems to work. 
Is there any possibility to integrate this method into switchysharp?

Link: 
https://chrome.google.com/webstore/detail/proxy-auto-auth/ggmdpepbjljkkkdaklfihh
ngmmgmpggp?hl=en

Original comment by Shi...@gmail.com on 28 May 2014 at 5:37

GoogleCodeExporter commented 9 years ago
Hi ShivaW,

This issue is now tracked at https://github.com/FelisCatus/SwitchyOmega/issues/2

I will try to add the onAuthRequired functionality later.

Original comment by shyc2...@gmail.com on 28 May 2014 at 7:06

GoogleCodeExporter commented 9 years ago
Issue 984 has been merged into this issue.

Original comment by shyc2...@gmail.com on 23 Jul 2014 at 4:20

GoogleCodeExporter commented 9 years ago
Issue 996 has been merged into this issue.

Original comment by shyc2...@gmail.com on 12 Aug 2014 at 8:10

GoogleCodeExporter commented 9 years ago
Password protected proxies are now supported in 2.x.

Install on Chrome Web Store: http://goo.gl/5kbmZp

Github: https://github.com/FelisCatus/SwitchyOmega/releases

Original comment by shyc2...@gmail.com on 15 Dec 2014 at 2:05

GoogleCodeExporter commented 9 years ago
Issue 910 has been merged into this issue.

Original comment by shyc2...@gmail.com on 18 Dec 2014 at 8:56

GoogleCodeExporter commented 9 years ago
Any plans to support SOCKS 4 or 5 authentication? Thanks! :)

Original comment by mootacco...@gmail.com on 13 Feb 2015 at 7:31

GoogleCodeExporter commented 9 years ago
@mootaccount: SOCKS authentication is not supported by Chromium and therefore 
cannot be implemented by extensions (unless they want to implement the whole 
protocol stack by themselves using native code or NaCl on every platform).

https://code.google.com/p/chromium/issues/detail?id=256785

Original comment by shyc2...@gmail.com on 14 Feb 2015 at 2:02