ลินุกซ์ส่วนใหญ่สั่งการเข้าถึงที่ดูอินเทอร์เน็ตใน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>