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?

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/

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
Answered By: 2707974

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
Answered By: PKumar

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

Answered By: Francuz

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.

Answered By: surendrapanday

using torsocks this can be accomplished like so:

ultralazer@askubuntu:~$ torsocks --shell
New torified shell coming right up...

ultralazer@askubuntu:~$ curl (tor ip)

man page:

ultralazer@askubuntu:~$ torsocks --help
ultralazer@askubuntu:~$ man torsocks
Answered By: ultralazer

From my research this was the only thing that worked for me:

Install ProxyChains:

sudo apt-get install proxychains

Edit the conf file to use your proxy:

sudo vi /etc/proxychains.conf

Check the last line and edit it.
Then just run:

proxychains ssh/curl/wget 

or whatever command you want to go through the proxy.

This is someone else answer

Answered By: Chop Labalagun
Categories: Answers Tags: , , , ,
Answers are sorted by their score. The answer accepted by the question owner as the best is marked with
at the top-right corner.