Como definir um proxy para o terminal?

36

Eu estou olhando para definir um proxy para o terminal. O que eu preciso é que eu quero enviar todas as comunicações do terminal para a Internet através de um proxy, digamos tor.

Tentei definir uma configuração de proxy em todo o sistema. Mas o Terminal não obedece à configuração de proxy em todo o sistema.

Existe alguma outra maneira de fazer isso?

Ornitorrinco Anônimo
fonte
Você quer dizer ssh ou telnet ou ...? Por favor, explique-nos "comunicações terminais". Você pode telnet para algum host via proxy ou FTP-los, mas a comunicação do minicom você não pode enviar via net ... exceto como arquivo de log ....
2707974
1
É possível definir um proxy para todas as atividades relacionadas à rede realizadas no terminal? Em vez de configurar o proxy para o wget, curl e outros separadamente. Estou procurando uma solução desse tipo.
Platypus anônimo
Sim, mas wget normalmente trabalho na porta 80 ou 443, ssh na porta 22, telnet em 23, ftp, em 20 e 21 ... Você pode usar simpleproxy ou tinyproxy
2707974
Como definir esse proxy para o terminal? Eu o defino explicitamente para diferentes aplicativos em execução no terminal ou posso configurá-lo no terminal de forma que todos os comandos executados no terminal passem por esse proxy?
Ornitorrinco anônimo
O terminal ubuntu precisa de proxy http, quando você usa o proxy SOCKS5, como shadowsocks, pode usar proxychainsa ponte do SOCKS5 para o proxy http. Verifique este github.com/shadowsocks/shadowsocks/wiki/…
hakunami (

Respostas:

18

O terminal não é um aplicativo de rede. Talvez seja melhor dizer, no seu caso, o terminal é recipiente para aplicação rede como ssh, telnet, lftp, wget, lynx...

Edite seu:

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

Digite os detalhes neste formato.

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

Isto é para quando se utiliza wget, ftp, lftp, telnetem de terminal

sshnão possui SOCKSsuporte ao cliente nativo , é necessário usar um ProxyCommandpara isso, por exemplo, com socat:

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

Ou use coisas como tsockstransparentemente SOCKSpara o TCPtráfego.

Para SOCKS5com socat 2:

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

Para o método HTTP Proxy CONNECT com o socat 2:

ssh -o ProxyCommand='socat - "PROXY:%h:%p|tcp:myproxy:80"' user@host
2707974
fonte
1
Vale ressaltar que o arquivo proxy.sh deve ser executável.
Alireza
41

exportar as variáveis ​​abaixo no terminal

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

e use os seguintes comandos para desativar o proxy

unset http_proxy
unset https_proxy
PKumar
fonte
+1 para instruções não
definidas
0

Eu defino variáveis ​​de exportação

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

em ~ / .bashrc e / etc / environment

Francuz
fonte
0

No meu caso, estava faltando uma vírgula invertida nos dois lados. colocar "http//.."estava errado e não colocar nada do que http//...estava errado também. O que funcionou foi ... quando eu usei vírgulas invertidas em ambos os lados.

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

Lembre-se de que esses três são três comandos a serem executados separadamente três vezes.

surendrapanday
fonte