Bug 189019

Summary: No SOCKS proxy support
Product: [Applications] systemsettings Reporter: Konstantin <ria.freelander>
Component: kcm_proxyAssignee: Dawit Alemayehu <adawit>
Status: RESOLVED FIXED    
Severity: normal CC: adawit, admin, basu123ra, bekesa, bugs.kde.enrique, bugs.kde.org, cubranic, ebrahim, ernestopheles, gjunk, hersche, kdelibs-bugs, luis.zaldivar, marix, mensoif_gerard, miso, rdieter, tnemeth
Priority: NOR    
Version: unspecified   
Target Milestone: ---   
Platform: unspecified   
OS: Linux   
Latest Commit: Version Fixed In: 4.8
Sentry Crash Report:
Attachments: A diff with last revision and revision with SOCKS.
Stupid configuration
Error message of last Stupid configuration
Message Box: Restart KDE

Description Konstantin 2009-04-07 10:24:20 UTC
Version:            (using 4.2.2 (KDE 4.2.2), Arch Linux)
Compiler:          gcc
OS:                Linux (i686) release 2.6.28-ARCH

A regression: no SOCKS proxy support and configuration GUI for it (Systemmsettings network module). KDE 4.2.2 QT 4.5 ArchLinux KDEMod.
Comment 1 Justin 2009-04-15 17:32:20 UTC
Confirmed (and desperately missed). KDE 4.2.2 (Kubuntu Jaunty).
Comment 2 frank 2009-05-14 12:59:34 UTC
*** This bug has been confirmed by popular vote. ***
Comment 3 Gerard Mensoif 2009-05-18 15:02:33 UTC
Any News? A workaround? A reason for removal? I upgraded my debian testing today, and I also have this issue, which is a big problem for me.

Many thanks
Gerard
Comment 4 Rex Dieter 2009-05-18 16:14:47 UTC
"A regression: no SOCKS proxy support", a regression vs. what?  kde3?  A prior release of kde4?
Comment 5 Rex Dieter 2009-05-18 16:19:20 UTC
on my kde-4.2.3 box: systemsettings -> network settings -> proxy 

Are you missing this, or are you talking about something else?
Comment 6 Gerard Mensoif 2009-05-18 16:25:34 UTC
We talk about socks Proxy, in kde 4.1 there was a tab Socks tab in "systemsettings -> network settings -> proxy" but in kde 4.2 and 4.3 beta 1, this tab is nowhere.

Thanks for your reply
Gerard
Comment 7 Gerard Mensoif 2009-05-26 15:25:04 UTC
I found teh reason:
disabled socks tab because socks library isn't available on win32

http://websvn.kde.org/trunk/KDE/kdebase/apps/konqueror/settings/kio/kproxydlg.cpp?view=log#rev788750
Comment 8 Tranquillity 2009-05-27 12:33:00 UTC
It seems not to be a good reason to remove a nice feature for Linux users because it is not available on Windows.

I even saw this one: http://websvn.kde.org/trunk/KDE/kdebase/apps/konqueror/settings/kio/kproxydlg.cpp?view=log#rev880094 and could not confirm that it is non-working because I used this feature up to KDE 3.5.9 and a colleague of mine used it in KDE 4.1.

It took indeed some time until I understood how to use this SOCKS thing but then it worked great for some years with KMail, Korn, Konqueror (FTP) to name only a few.

The dialog should have clearly stated that you have to install for example dante-client and configure your /etc/dante.conf accordingly. A more intuitive and/or integrated version in the future would be fantastic.

In general the proxy settings seem to be less mature than in earlier versions. After switching from KDE 3.5.1 to 4.2.0 I had even problems with HTTPS.

Some tips:

- In the meantime I use another FTP client together with socksify (Kasablanca instead of Konqueror although it is not as comfortable)

- I start amarok from the command line like this to use streams because there are no proxy settings for xine anymore (neither in Amarok nor in SystemSettings): http_proxy=http://xxx.xxx.xxx.xxx:3128/ amarok

I hope proxy support will become mature again soon. Apart from that keep up the good work, KDE4 looks really great.

Related bug reports:
http://bugs.kde.org/show_bug.cgi?id=155707
https://bugs.kde.org/show_bug.cgi?id=192747
Comment 9 Matthias Bach 2009-05-27 13:41:55 UTC
If you are unsattisfied with amaroks current proxy support you might want to add yourself to bug 192747.
Comment 10 Konstantin 2009-05-27 16:45:20 UTC
What about a platform-different compilation (such as with QT from patch to bug 186038)? I think this is a reason (compile SOCKS only if Linux are presented)
Comment 11 Konstantin 2009-06-09 15:45:47 UTC
Do you add SOCKS proxy support again in 4.3 or 4.4?
Comment 12 Konstantin 2009-06-09 15:56:40 UTC
Created attachment 34385 [details]
A diff with last revision and revision with SOCKS.
Comment 13 Enrique Iglesias 2009-07-16 19:06:23 UTC
On kde 4.1.3 (opensuse 11.1) you have the sock option on systemsettings | network settings but socks support (with dante) it doesn't work at all.

Whatever push the test button I always got 'SOCKS could not be loaded'.

Seems like SOCKS support is completely broken on KDE4.

Weird after being used this feature for years on KDE3.
Comment 14 Vinzenz Hersche 2009-08-25 10:33:07 UTC
hope it came in kde 4.. it's one of my most missing features.. :s
Comment 15 Andras Georgy Bekes 2009-08-25 11:01:24 UTC
Please note that this functionality is essential for some of us.
I can not upgrade to KDE 4 without this feature, I am still using KDE 3 and will be using it until proper socks proxy support is available in KDE 4.

If there is a workaround to use socks proxy (with at least kmail and kopete, in debian testing), please share this knowledge with us.

If there exists a proper solution (for example platform-different compilation) please implement it.
Comment 16 Christoph Feck 2010-01-25 23:00:06 UTC
*** Bug 224131 has been marked as a duplicate of this bug. ***
Comment 17 Ebrahim Mohammadi 2010-05-03 00:25:46 UTC
Is there any plan for adding SOCKS proxy support to KDE? Any third-party patches?
Comment 18 Gerard Mensoif 2010-08-31 11:37:18 UTC
For me the big problem was kmail, I here is what I found today (I was not even searching for it). http://userbase.kde.org/Kontact#Enabling_SOCKS.C2.A0support_in_KMail_and_KNode

So by configuring dante-client and launching "socksify kdeinit4" I was able to use kmail again.

I'm really happy to have found this workaround, and I hope it will help some other users.
Comment 19 SME 2010-11-17 00:25:51 UTC
https://bugs.kde.org/show_bug.cgi?id=147340

... looks very much like a related bug.
Comment 20 Muhammad Bashir Al-Noimi 2011-01-05 10:46:21 UTC
Just like other guys, I think adding socks support for KDE is critical procedures because many KDE folks use socks daily.
Comment 21 tnemeth 2011-03-11 13:45:54 UTC
Socks proxy is a mandatory feature for those wanting privacy in public wifi/network access environment. I hope it'll come back as soon as possible...
Comment 22 Dawit Alemayehu 2011-03-24 17:12:36 UTC
Improving the KDE proxy support in 4.x is one of the items on my TODO list and something I hope I will be able to address for the 4.7 release. In the meantime for those of you needing socks proxy support for HTTP/HTTPS can simply type "socks://<address>" into the proxy configuration input box. For the rest of you, you have to wait...
Comment 23 basu123ra 2011-05-14 07:40:28 UTC
Change the  socks://<address>  in the proxy configuration input box leads to a message box 

You have to restart KDE for these changes to take effect.

That is simply inefficient, because people needs to change their configuration several times at day.
Comment 24 Muhammad Bashir Al-Noimi 2011-05-15 18:53:51 UTC
Created attachment 60037 [details]
Stupid configuration 

(In reply to comment #23)
> Change the  socks://<address>  in the proxy configuration input box leads to a
> message box 
> 

Which input box you mean? could you please point to it with a screenshot.

SP
See my screenshot it contains my stupid configuration.
Comment 25 Muhammad Bashir Al-Noimi 2011-05-15 18:54:45 UTC
Created attachment 60038 [details]
Error message of last Stupid configuration
Comment 26 Dawit Alemayehu 2011-05-15 19:12:08 UTC
(In reply to comment #24)
> Created an attachment (id=60037) [details]
> Stupid configuration 
> 
> (In reply to comment #23)
> > Change the  socks://<address>  in the proxy configuration input box leads to a
> > message box 
> > 
> 
> Which input box you mean? could you please point to it with a screenshot.
> 
> SP
> See my screenshot it contains my stupid configuration.

Sorry, but the hack i mentioned will only work when you use the "Manually specify the proxy settings". From the screenshot you seem to be using proxy configuration script file. In that case, you have to wait for KDE 4.7.x where SOCKS support is slated to be implemented for all proxy modes.
Comment 27 Dawit Alemayehu 2011-05-15 19:13:36 UTC
(In reply to comment #23)
> Change the  socks://<address>  in the proxy configuration input box leads to a
> message box 
> 
> You have to restart KDE for these changes to take effect.
> 
> That is simply inefficient, because people needs to change their configuration
> several times at day.


That is unrelated issue. Anyhow, it is bogus for what you are doing and you can safely ignore the message. It is slated to be fixed for the KDE 4.7 proxy overhaul.
Comment 28 basu123ra 2011-05-18 18:20:01 UTC
Created attachment 60122 [details]
Message Box: Restart KDE

(In reply to comment #24)
> Created an attachment (id=60037) [details]
> Stupid configuration 
> 
> (In reply to comment #23)
> > Change the  socks://<address>  in the proxy configuration input box leads to a
> > message box 
> > 
> 
> Which input box you mean? could you please point to it with a screenshot.
> 
> SP
> See my screenshot it contains my stupid configuration.


Here is the message box
Comment 29 Dawit Alemayehu 2011-05-18 20:40:19 UTC
(In reply to comment #28)
> Created an attachment (id=60122) [details]
> Message Box: Restart KDE
> 
> (In reply to comment #24)
> > Created an attachment (id=60037) [details] [details]
> > Stupid configuration 
> > 
> > (In reply to comment #23)
> > > Change the  socks://<address>  in the proxy configuration input box leads to a
> > > message box 
> > > 
> > 
> > Which input box you mean? could you please point to it with a screenshot.
> > 
> > SP
> > See my screenshot it contains my stupid configuration.
> 
> 
> Here is the message box

You can only use the workaround for the "Manually specify proxy settings" option. What you are doing does not even make sense. Why would you enter a SOCKS proxy in the input that requires a proxy configuration script URL ? If you are using "Use proxy configuration script", then the workaround WILL NOT work and you have to wait for KDE 4.7.
Comment 30 gene c 2011-07-15 11:33:37 UTC
*** Bug 277593 has been marked as a duplicate of this bug. ***
Comment 31 Dawit Alemayehu 2011-10-04 17:12:03 UTC
Here is an update:

Starting with KDE 4.7, you can specify SOCKS proxy manually as laid out below. The GUI that goes along with this change will have to wait for KDE 4.8:

- Edit $KDEHOME/share/config/kioslaverc.

- Add socksProxy=<address> <port> to the "Proxy Settings" section. 
For example, if your proxy server is running on port 8118 on your own machine, you would enter:  socksProxy=http://127.0.0.1:8118

- Restart your KDE session or simply do ALT+ F2, type "kdeinit4" (without the quotes) and press enter.

Your browsers should then be using the SOCKS proxy server you set up above. 

Alternatively, you can create your own minimal Proxy Auto Configuration (PAC) script file. The advantage of doing that, especially in KDE 4.7.2 and up where multiple proxy servers are supported by kio_http, is the fact that you can have fall backs when one proxy server fails. For example, if you use a priovxy proxy server you can use a simple script like the one below, assuming the proxy server is running locally on your machine:

function FindProxyForURL( url, host )
{
    var resolved_ip = dnsResolve(host);

    if (isInNet(resolved_ip, "127.0.0.1", "255.255.255.0"))
        return "DIRECT";

    return "PROXY 127.0.0.1:8118; SOCKS 127.0.0.1:9999; DIRECT";
}

Simply save the above script to a file, update the addresses as necessary and set the filename in the automatic proxy configuration URL input box.
Comment 32 Dawit Alemayehu 2011-10-20 06:16:29 UTC
Git commit f90f318f2162df18a08b889d24ae8bbeab3b834c by Dawit Alemayehu.
Committed on 01/08/2011 at 07:44.
Pushed by adawit into branch 'master'.

Rewrote the proxy configuration dialog to include missing SOCKS
proxy entry and make it much simpler to use.

BUG:82352
BUG:115704
BUG:139789
BUG:147340
BUG:164460
BUG:189019
BUG:190149
BUG:190901
BUG:205594
BUG:258196
BUG:283226
FIXED-IN:4.8

REVIEW: 102802

GUI:  Proxy configuration dialog rewrite.

M  +0    -5    konqueror/settings/kio/CMakeLists.txt
D  +0    -251  konqueror/settings/kio/envvarproxy.ui
D  +0    -310  konqueror/settings/kio/kenvvarproxydlg.cpp
D  +0    -71   konqueror/settings/kio/kenvvarproxydlg.h
D  +0    -496  konqueror/settings/kio/kmanualproxydlg.cpp
D  +0    -86   konqueror/settings/kio/kmanualproxydlg.h
M  +410  -215  konqueror/settings/kio/kproxydlg.cpp
M  +30   -18   konqueror/settings/kio/kproxydlg.h
M  +833  -248  konqueror/settings/kio/kproxydlg.ui
D  +0    -79   konqueror/settings/kio/kproxydlgbase.cpp
D  +0    -69   konqueror/settings/kio/kproxydlgbase.h
M  +77   -88   konqueror/settings/kio/ksaveioconfig.cpp
M  +28   -32   konqueror/settings/kio/ksaveioconfig.h
D  +0    -291  konqueror/settings/kio/manualproxy.ui

http://commits.kde.org/kde-baseapps/f90f318f2162df18a08b889d24ae8bbeab3b834c