ลินุกซ์ส่วนใหญ่สั่งการเข้าถึงที่ดูอินเทอร์เน็ตในHTTP_PROXY, FTP_PROXYและSOCKS_SERVERตัวแปรสภาพแวดล้อมสำหรับข้อมูลพร็อกซี่ ดังนั้นหากต้องการทำตัวอย่างของคุณให้เรียกใช้:
export SOCKS_SERVER=1.2.3.4:8000
wget http://superuser.com/q/262956/66003
ไวยากรณ์สำหรับHTTP_PROXYและFTP_PROXYแตกต่างกันเล็กน้อย:
export HTTP_PROXY=http://1.2.3.4:3128/
export FTP_PROXY=ftp://1.2.3.4:25/
สภาพแวดล้อมเดสก์ท็อปเริ่มต้นของ GNOME ที่มาพร้อมกับการตั้งค่าพรอกซีของ Ubuntu มีปุ่มใช้ระบบกว้างซึ่งจะตั้งค่าตัวแปรสภาพแวดล้อมเหล่านั้นให้คุณโดยอัตโนมัติ มิฉะนั้นคุณสามารถเพิ่มexportบรรทัดลงใน~/.bashrcไฟล์ของคุณเพื่อให้มีผลในทุกการเข้าสู่ระบบ
น่าเสียดายที่wgetไม่รองรับ SOCKS เลย คุณสามารถใช้curlซึ่งรวมอยู่ใน Ubuntu เพื่อให้บรรลุสิ่งต่าง ๆ ที่wgetทำ แต่น่าเสียดายที่มันไม่ได้ตรวจสอบSOCKS_SERVERในขณะที่มันจะตรวจสอบHTTP_PROXY(เช่นเดียวกับwget) หากต้องการใช้ curl เพื่อดาวน์โหลดหน้านี้ด้วยเซิร์ฟเวอร์ SOCKS5 (ดำเนินการแก้ไขปัญหา DNS กับเซิร์ฟเวอร์นั้น) และบันทึกเป็นsuperuser.htmlเรียกใช้สิ่งนี้:
curl --socks5-hostname 1.2.3.4:8000 http://superuser.com/q/262956/66003 > superuser.html
หากคุณต้องการcurlใช้พร็อกซี SOCKS นั้นตลอดเวลาคุณสามารถสร้างนามแฝงของเชลล์ได้ เพียงเพิ่มบรรทัดต่อไปนี้ใน~/.bashrc:
alias curl='curl --socks5-hostname 1.2.3.4:8000'
คุณจะต้องรีสตาร์ทเครื่องของคุณหรือเรียกใช้บรรทัดนั้นราวกับว่ามันเป็นคำสั่งเพื่อให้การเปลี่ยนแปลงมีผล
wgetด้วยSOCKS_SERVERแต่ดูเหมือนจะไม่ทำงานwgetอ่านการตั้งค่าพร็อกซีจาก/etc/wgetrcเท่านั้น ฉันพยายามlinksมากเกินไปก็โอเคที่จะระบุแต่ก็ล้มเหลวในการใช้links -socks-proxy 127.0.0.1:7878 <url>export SOCKS_SERVER=...; links <url>