Як встановити проксі для терміналу?


36

Я хочу встановити проксі для терміналу. Що мені потрібно, я хочу надіслати всі термінальні комунікації в Інтернет через проксі, скажімо, tor.

Я намагався встановити системний проксі-сервер. Але термінал не підпорядковується системній конфігурації проксі.

Чи є якийсь інший спосіб зробити це?


Ви маєте на увазі ssh чи telnet чи ...? Будь ласка, поясніть нам "термінальний зв'язок". Ви можете телефонувати на якийсь хост через проксі або ftp, але зв’язок з minicom ви не можете надсилати через мережу ... крім випадків, як файл журналу ....
2707974

1
Чи можна встановити проксі-сервер для всіх заходів, пов’язаних з мережею, що виконуються через термінал? Замість того, щоб встановлювати проксі для wget, curl та інших окремо. Я шукаю таке рішення.
Анонімний Платипус

Так, але wget зазвичай працює на порту 80 або 443, ssh на порту 22, telnet на 23, ftp на 20 і 21 ... Ви можете використовувати simpleproxy або tinyproxy
2707974

Як встановити цей проксі для терміналу? Чи я встановлюю це явно для різних додатків, що працюють на терміналі, чи можу його встановити в терміналі таким чином, щоб усі команди, які я запускаю в терміналі, проходили через цей проксі?
Анонімний Платипус

Термінал ubuntu потребує проксі-сервера, коли ви використовуєте проксі-сервер SOCKS5, як тіньові шкарпетки, ви можете використовувати proxychainsдля з'єднання SOCKS5 до http-проксі. Перевірте це github.com/shadowsocks/shadowsocks/wiki/…
hakunami

Відповіді:


18

Термінал не є чистим додатком. Може бути , краще сказати, в вашому випадку, термінал контейнер для чистих додатків , таких як ssh, telnet, lftp, wget, lynx...

Відредагуйте:

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

Введіть деталі в цей формат.

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

Це для при використанні wget, ftp, lftp, telnetв терміналі

sshне має SOCKSпідтримки рідного клієнта, вам потрібно використовувати ProxyCommandдля цього, наприклад, для socat:

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

Або використовувати такі речі, як tsocksпрозоре використання SOCKSдля TCPруху.

Для SOCKS5соката 2:

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

Для методу HTTP Proxy CONNECT з socat 2:

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

1
Варто зазначити, що файл proxy.sh повинен бути виконаним.
Аліреза

41

експортуйте наведені нижче змінні в термінал

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

і використовуйте наступні команди для відключення проксі

unset http_proxy
unset https_proxy

+1 за невстановлену інструкцію :)
RezaSh

0

Я встановлюю змінні експорту

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

в ~ / .bashrc та / і т.д. / навколишньому середовищі


0

У моєму випадку мені або не вистачало додавання перевернутої коми з обох сторін. ставити "http//.."було неправильно і не ставити нічого такого, як http//...було неправильно. Що працювало, це було ... коли я використовував поодинокі перевернуті коми з обох сторін.

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

Пам'ятайте, що ці три - це 3 команди, які потрібно виконати окремо три рази.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.