如何为终端设置代理?

Ano*_*pus 52 command-line bash proxy tor

我正在寻找为终端设置代理。我需要的是我想通过代理将所有终端通信发送到互联网,比如 tor。

我尝试设置系统范围的代理设置。但是终端不遵守系统范围的代理配置。

有没有其他方法可以做到这一点?

PKu*_*mar 55

在终端中导出以下变量

export http_proxy='http://proxyServerSddress:proxyPort'    
export https_proxy='https://proxyServerSddress:proxyPort'
Run Code Online (Sandbox Code Playgroud)

并使用以下命令禁用代理

unset http_proxy
unset https_proxy
Run Code Online (Sandbox Code Playgroud)

  • +1表示未设置的指令:) (2认同)

270*_*974 28

终端不是网络应用程序。也许更好的说法是,在您的情况下,终端是网络应用程序的容器,例如ssh, telnet, lftp, wget, lynx...

编辑您的:

sudo -H gedit /etc/profile.d/proxy.sh
Run Code Online (Sandbox Code Playgroud)

以这种格式输入详细信息。

export http_proxy=http://username:password@proxyhost:port/ 
export ftp_proxy=http://username:password@proxyhost:port/
export telnet_proxy=http://username:password@proxyhost:port/
Run Code Online (Sandbox Code Playgroud)

这用于在终端中使用wget, ftp, lftp,telnet

ssh没有本SOCKS机客户端支持,您需要为此使用 a ProxyCommand,例如socat

ssh -o ProxyCommand='socat - SOCKS4A:myproxy:%h:%p,socksuser=nobody' user@host
Run Code Online (Sandbox Code Playgroud)

或者使用诸如tsocks透明地SOCKS用于TCP流量之类的东西。

对于SOCKS5socat 2:

ssh -o ProxyCommand='socat - "SOCKS5:%h:%p|tcp:myproxy:1080"' user@host
Run Code Online (Sandbox Code Playgroud)

对于带有 socat 2 的 HTTP 代理 CONNECT 方法:

ssh -o ProxyCommand='socat - "PROXY:%h:%p|tcp:myproxy:80"' user@host
Run Code Online (Sandbox Code Playgroud)