จะตั้งค่า proxy สำหรับเทอร์มินัลได้อย่างไร?


36

ฉันต้องการตั้งค่าพร็อกซีสำหรับเทอร์มินัล สิ่งที่ฉันต้องการคือฉันต้องการที่จะส่งการสื่อสาร terminal ทั้งหมดไปยังอินเทอร์เน็ตผ่านทางพร็อกซี่พูดว่า tor

ฉันพยายามตั้งค่าพร็อกซีทั้งระบบ แต่เทอร์มินัลไม่เชื่อฟังการกำหนดค่าพร็อกซีทั้งระบบ

มีวิธีอื่นที่จะทำเช่นนี้?


คุณหมายถึง ssh หรือ telnet หรือ ... ? โปรดอธิบายเรา "การสื่อสารด้วยเครื่อง" คุณสามารถเทลเน็ตไปยังโฮสต์ผ่านพร็อกซีหรือ ftp ได้ แต่การสื่อสารจากมินิคอมคุณไม่สามารถส่งผ่านเน็ต ... ยกเว้นเช่นล็อกไฟล์ ....
2707974

1
เป็นไปได้ไหมที่จะตั้งค่าพร็อกซีสำหรับกิจกรรมที่เกี่ยวข้องกับเครือข่ายทั้งหมดที่กระทำผ่านเทอร์มินัล แทนที่จะตั้งค่าพร็อกซีสำหรับ wget, curl และอื่น ๆ แยกจากกัน ฉันกำลังมองหาวิธีแก้ปัญหาดังกล่าว
ตุ่นปากเป็ดนิรนาม

ใช่ แต่ wget มักจะทำงานบนพอร์ต 80 หรือ 443, ssh บนพอร์ต 22, telnet บน 23, ftp ในวันที่ 20 และ 21 ... คุณสามารถใช้simpleproxyหรือtinyproxy
2707974

จะตั้งค่า proxy นี้สำหรับเทอร์มินัลได้อย่างไร ฉันจะตั้งค่าไว้อย่างชัดเจนสำหรับแอพต่าง ๆ ที่รันบนเทอร์มินัลหรือฉันสามารถตั้งค่าในเทอร์มินัลในลักษณะที่คำสั่งทั้งหมดที่ฉันรันในเทอร์มินัลผ่านพร็อกซีนี้หรือไม่
ไม่ประสงค์ออกนาม Platypus

เทอร์มินัลอูบุนตูต้องการพร็อกซี http เมื่อคุณใช้พร็อกซี SOCKS5 เช่นเงาคุณสามารถใช้proxychainsเพื่อเชื่อม SOCKS5 กับพร็อกซี http ได้ ตรวจสอบgithub.com/shadowsocks/shadowsocks/wiki/
hakunami

คำตอบ:


18

เทอร์มินัลไม่ใช่แอปพลิเคชันสุทธิ อาจจะดีกว่าที่จะบอกว่าในกรณีของคุณ, terminal เป็นภาชนะสำหรับการประยุกต์ใช้สุทธิเช่น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ใน terminal

sshไม่มีSOCKSการสนับสนุนลูกค้าดั้งเดิมคุณจำเป็นต้องใช้ProxyCommandเพื่อการนั้นเช่นsocat :

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

หรือใช้สิ่งต่าง ๆ เช่น tsocksใช้SOCKSเพื่อTCPการจราจรอย่างโปร่งใส

สำหรับ SOCKS5ด้วย socat 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 ควรจะทำให้ปฏิบัติการได้
Alireza

40

ส่งออกตัวแปรด้านล่างใน terminal

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

และใช้คำสั่งต่อไปนี้เพื่อปิดการใช้งานพรอกซี

unset http_proxy
unset https_proxy

+1 สำหรับคำสั่ง unset :)
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 และ / etc / สภาพแวดล้อม


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 คำสั่งเพื่อให้ทำงานแยกกันสามครั้ง

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.