¿Cómo configurar un proxy para terminal?

36

Estoy buscando configurar un proxy para la terminal. Lo que necesito es que quiero enviar todas las comunicaciones de la terminal a Internet a través de un proxy, por ejemplo.

Traté de establecer una configuración de proxy de todo el sistema. Pero Terminal no obedece la configuración del proxy de todo el sistema.

Hay alguna otra manera de hacer esto?

Ornitorrinco anónimo
fuente
¿Te refieres a ssh o telnet o ...? Por favor explíquenos "comunicaciones de terminal". Puede telnet a algún host a través de proxy o ftp, pero la comunicación desde minicom no se puede enviar a través de la red ... excepto como archivo de registro ....
2707974
1
¿Es posible establecer un proxy para todas las actividades relacionadas con la red realizadas a través del terminal? En lugar de configurar proxy para wget, curl y otros por separado. Estoy buscando tal solución.
Ornitorrinco anónimo
Sí, pero wget generalmente funciona en el puerto 80 o 443, ssh en el puerto 22, telnet en 23, ftp en 20 y 21 ... Puede usar simpleproxy o tinyproxy
2707974
¿Cómo configurar este proxy para terminal? ¿Lo configuro explícitamente para diferentes aplicaciones que se ejecutan en la terminal o puedo configurarlo en la terminal de tal manera que todos los comandos que ejecuto en la terminal pasen por este proxy?
Anónimo Ornitorrinco
El terminal ubuntu necesita proxy http, cuando usa el proxy SOCKS5, como shadowsocks, puede usar proxychainspara conectar SOCKS5 al proxy http. Mira esto github.com/shadowsocks/shadowsocks/wiki/…
hakunami el

Respuestas:

18

El terminal no es una aplicación neta. Tal vez es mejor decir, en su caso, la terminal de contenedores es de aplicación red como ssh, telnet, lftp, wget, lynx...

Edita tu:

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

Ingrese los detalles en este 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/

Esto es para cuando se utiliza wget, ftp, lftp, telneten el terminal

sshno tiene SOCKSsoporte de cliente nativo , necesita usar un ProxyCommandpara eso, por ejemplo con socat:

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

O use cosas como el tsocksuso transparente SOCKSpara el TCPtráfico.

Para SOCKS5con socat 2:

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

Para el método HTTP Proxy CONNECT con socat 2:

ssh -o ProxyCommand='socat - "PROXY:%h:%p|tcp:myproxy:80"' user@host
2707974
fuente
1
Vale la pena mencionar que el archivo proxy.sh debe hacerse ejecutable.
Alireza
41

exportar las siguientes variables en la terminal

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

y use los siguientes comandos para deshabilitar el proxy

unset http_proxy
unset https_proxy
PKumar
fuente
+1 para instrucciones sin configurar :)
RezaSh
0

Establezco variables de exportación

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

en ~ / .bashrc y / etc / enviroment

Francuz
fuente
0

En mi caso, tampoco estaba encerrando una coma invertida en ambos lados. poner "http//.."estaba mal y no poner nada como http//...estaba mal también. Lo que funcionó fue ... cuando usé comillas simples invertidas en ambos 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/'

Recuerde que estos tres son 3 comandos para ejecutarse por separado tres veces.

surendrapanday
fuente