Come impostare un proxy per il terminale?


36

Sto cercando di impostare un proxy per il terminale. Ciò di cui ho bisogno è che desidero inviare tutte le comunicazioni del terminale a Internet tramite un proxy, per esempio.

Ho provato a impostare una configurazione proxy a livello di sistema. Ma Terminal non obbedisce alla configurazione proxy a livello di sistema.

C'è un altro modo di fare questo?


Intendi ssh o telnet o ...? Spiegaci "comunicazioni terminali". Puoi telnet ad un host tramite proxy o ftp, ma la comunicazione da Minicom non è possibile inviare tramite rete ... tranne come file di registro ....
2707974

1
È possibile impostare un proxy per tutte le attività relative alla rete eseguite sul terminale? Invece di impostare il proxy per wget, curl e altri separatamente. Sto cercando una soluzione del genere.
Platypus anonimo l'

Sì, ma di solito funziona sulla porta 80 o 443, ssh sulla porta 22, telnet su 23, ftp su 20 e 21 ... È possibile utilizzare simpleproxy o tinyproxy
2707974

Come impostare questo proxy per il terminale? L'ho impostato esplicitamente per diverse app in esecuzione sul terminale o posso impostarlo nel terminale in modo tale che tutti i comandi che eseguo nel terminale passino attraverso questo proxy?
Platypus anonimo l'

Il terminale ubuntu ha bisogno del proxy http, quando si utilizza il proxy SOCKS5, come shadowsocks, è possibile utilizzare proxychainsper collegare SOCKS5 al proxy http.
Dai un'occhiata a

Risposte:


18

Il terminale non è un'applicazione netta. Forse è meglio dire, nel tuo caso, terminale è contenitore per applicazioni rete come ssh, telnet, lftp, wget, lynx...

Modifica il tuo:

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

Inserisci i dettagli in questo 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/

Questo è per quando si utilizzano wget, ftp, lftp, telnetin terminal

sshnon ha SOCKSsupporto client nativo , è necessario utilizzare a ProxyCommandper quello, ad esempio con socat:

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

O usa cose come tsocksusare in modo trasparente SOCKSper il TCPtraffico.

Per SOCKS5con socat 2:

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

Per il metodo HTTP CONNECT proxy con socat 2:

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

1
Vale la pena ricordare che il file proxy.sh dovrebbe essere reso eseguibile.
Alireza,

41

esportare le variabili seguenti nel terminale

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

e utilizzare i seguenti comandi per disabilitare il proxy

unset http_proxy
unset https_proxy

+1 per istruzioni non impostate :)
RezaSh

0

Ho impostato le variabili di esportazione

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 e / etc / enviroment


0

Nel mio caso o mi mancava racchiudere la virgola invertita su entrambi i lati. mettere "http//.."era sbagliato e non mettere anche qualcosa di simile http//.... Ciò che ha funzionato è stato ... quando ho usato virgolette singole invertite su entrambi i lati.

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

Ricorda che questi tre sono 3 comandi da eseguire separatamente tre volte.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.