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