How to set a proxy for terminal?

I am looking to set a proxy for terminal. What I need is I want to send all terminal communications to the internet through a proxy, say tor.

I tried to set a system wide proxy set up. But Terminal doesn't obey the system wide proxy configuration.

Is there any other way to do this?


Solution 1:

export the below variables in terminal

export http_proxy='http://proxyServerSddress:proxyPort'    
export https_proxy='https://proxyServerSddress:proxyPort'

and use the following commands to disable proxy

unset http_proxy
unset https_proxy

Solution 2:

Terminal is not net application. Maybe is better to say, in your case, terminal is container for net application like ssh, telnet, lftp, wget, lynx ...

Edit your:

sudo -H gedit /etc/profile.d/proxy.sh

Enter the details in this format.

export http_proxy=http://username:password@proxyhost:port/ 
export ftp_proxy=http://username:password@proxyhost:port/
export telnet_proxy=http://username:password@proxyhost:port/

This is for when using wget, ftp, lftp, telnet in terminal

ssh has no native SOCKS client support, you need to use a ProxyCommand for that, for instance with socat:

ssh -o ProxyCommand='socat - SOCKS4A:myproxy:%h:%p,socksuser=nobody' user@host

Or use things like tsocks to transparently use SOCKS for TCP traffic.

For SOCKS5 with socat 2:

ssh -o ProxyCommand='socat - "SOCKS5:%h:%p|tcp:myproxy:1080"' user@host

For HTTP Proxy CONNECT method with socat 2:

ssh -o ProxyCommand='socat - "PROXY:%h:%p|tcp:myproxy:80"' user@host

Solution 3:

In my case I was either missing enclosing inverted comma on both sides. putting "http//.." was wrong and not putting anything such as http//... was wrong too. What worked was ..when I used single inverted commas on both sides.

export http_proxy='http://username:password@proxyhost:port/' export https_proxy='https://username:password@proxyhost:port/' export ftp_proxy='http://username:password@proxyhost:port/'

Remember these three are 3 commands to be run separately three times.

Solution 4:

I set export variables

export http_proxy=http://username:password@proxyhost:port/ 
export https_proxy=https://username:password@proxyhost:port/
export ftp_proxy=http://username:password@proxyhost:port/

in ~/.bashrc and /etc/enviroment