ฉันต้องการเพิ่มการตั้งค่าพร็อกซี SOCKS ไปที่ /etc/apt/apt.conf ไวยากรณ์สำหรับมันคืออะไร? มันเหมือนกับไวยากรณ์ http และ ftp หรือไม่
ขอบคุณ
ฉันต้องการเพิ่มการตั้งค่าพร็อกซี SOCKS ไปที่ /etc/apt/apt.conf ไวยากรณ์สำหรับมันคืออะไร? มันเหมือนกับไวยากรณ์ http และ ftp หรือไม่
ขอบคุณ
คำตอบ:
ทางออกที่เป็นไปได้คือการใช้tsocks
แอพพลิเคชั่นที่สามารถเปลี่ยนเส้นทางการรับส่งข้อมูลเครือข่ายผ่านพร็อกซีถุงเท้า ติดตั้งtsocks
แพคเกจแก้ไข/etc/tsocks.conf
เพื่อกำหนดที่อยู่และหมายเลขพอร์ตของพร็อกซีถุงเท้าของคุณและเรียกใช้:
$ sudo -s
# tsocks apt-get update
# tsocks apt-get dist-upgrade
# exit
$
หรือ
$ sudo -s
# . tsocks -on
# apt-get update
# apt-get dist-upgrade
# . tsocks -off # not really necessary, given the exit
# exit
$
คุณสามารถคิดถึงตัวเลือกจำนวนมากเพื่อทำให้การใช้งานง่ายขึ้นและเป็นแบบอัตโนมัติ
อย่าลืมจุดชั้นนำmanpageมี deatails เพิ่มเติมเกี่ยวกับเรื่องนี้
แก้ไข : วิธีที่สั้นกว่าที่จะใช้:
$ sudo tsocks apt-get update
$ sudo tsocks apt-get dist-upgrade
tsocks
ติดตั้งและใช้ :)
Acquire::http::Proxy "socks5h://hostname:port/"
ได้ ดูการเปลี่ยนแปลงที่anonscm.debian.org/gitweb/?p=apt/apt.git;a=blob;f=debian/…
apt-get something
!
Acquire::socks::Proxy "socks5h://hostname:port/";
ทำการหลอกลวง http ไม่ - ลองใช้กับ Tor และคุณจะเห็นการตอบกลับมาตรฐาน "Tor ไม่ใช่พร็อกซี http" ดังนั้นการhttp
แทนที่จะถูกแทนที่ด้วยsocks
- และใช้งานได้!
Acquire::http::proxy "socks5h://server:port";
สิ่งนี้ใช้ได้กับฉันใน Ubuntu 18.04 อย่างที่หน้าคนพูด, socks5h, ไม่ใช่ socks5, รองรับโดย apt, ซึ่งหมายถึงพร็อกซี socks5 ที่มีความสามารถในการแก้ไข DNS
Acquire::https::proxy "socks5h://server:port";
ลงในapt.conf.d
ไฟล์ (เช่น/etc/apt/apt.conf.d/12proxy
) ใช้งานได้ดี ฉันอยากจะแนะนำให้ติดกับhttpsเว้นแต่จะมีความจำเป็น
Acquire::http::proxy "socks5h://user:pass@server:port";
นอกจากนี้สำหรับเซิร์ฟเวอร์พร็อกซี่ที่กำหนดให้ตรวจสอบสายนี้มีการปรับเปลี่ยนเป็น กฎดังกล่าวใช้งานได้ดีใน Ubuntu 18.04 ที่นี่socks5h
บังคับใช้การแก้ไข DNS ที่พร็อกซีเซิร์ฟเวอร์
การใช้บรรทัดปรับแต่งถัดไปใช้งานได้สำหรับฉัน:
Acquire::socks::proxy "socks5://server:port";
เพื่อรักษาความapt.conf
สะอาดและหลีกเลี่ยงปัญหาในการอัปเกรด Linux ฉันได้สร้างไฟล์ใหม่ ( /etc/apt/apt.conf.d/12proxy
) และเพิ่มไฟล์ปรับแต่งเข้าไป
ฉันไม่พบสิ่งใดบนAcquire :: socks :: proxyในคู่มือ apt.conf ของ Ubuntu Xenial คุณสามารถแก้ไขได้โดยการเรียกใช้พร็อกซี http ท้องถิ่นที่สนับสนุน upstream ถุงเท้าพร็อกซีตัวอย่างเช่น Polipo คุณต้องกำหนดค่า Polipo ดังนี้:
proxyAddress = "::1"
proxyPort = 8118
socksParentProxy = "sockshost:socksport"
socksProxyType = socks5
จากนั้นตั้งค่าพร็อกซี http ในไฟล์ apt.conf ของคุณ:
Acquire::http::proxy "http://127.0.0.1:8118/";
Acquire::https::proxy "https://127.0.0.1:8118/";
หรือคุณสามารถใส่ /etc/apt/apt.conf ของคุณแบบนี้:
Acquire::socks::proxy "socks://user:pass@host:port/";
Acquire::http::proxy "socks://user:pass@host:port/";
Acquire::socks
เป็นสำหรับการตั้งค่าพร็อกซีสำหรับ URL socks://
ที่เริ่มต้นด้วย ดังนั้นหมายความว่าคุณไม่จำเป็นต้องพร็อกซี่ในการเข้าถึงอินเทอร์เน็ตและapt
ไม่ได้ใช้พร็อกซี่ใด ๆftp://
, http://
หรือhttps://
.. apt
เพียงสนับสนุน HTTP Acquire::http::proxy "http://localhost:8118
ผู้รับมอบฉันทะคือ
ใน Debian คุณสามารถอ่าน manpage apt-transport-http(1)
และค้นหาโครงร่าง URI ที่รองรับ ดังที่เคยตอบไว้ก่อนใส่
Acquire::http::proxy "socks5h://server:port";
ใน
/etc/apt/apt.conf.d/12proxy
คุณสามารถอ่านเพิ่มเติมเกี่ยวกับ APT-config โดยทั่วไปใน apt.conf(5)
และอ่านตัวอย่างที่/usr/share/doc/apt/examples/configure-index.gz
กล่าวถึงในตอนท้ายของ manpage
นี้สามารถใช้ร่วมกับการสร้างพร็อกซี่ถุงเท้ากับระบบที่แตกต่างกันเพื่อให้สามารถฉลาดแล้วใช้พร็อกซี่ราวกับว่าทุกอย่างที่เกิดขึ้นในssh -D <LOCAL PORT> <USER>@<HOST>
<HOST>
หากคุณใช้ssh -D 0.0.0.0:<LOCAL PORT> <USER>@<HOST>
หรือssh -D [::]:<LOCAL PORT> <USER>@<HOST>
(สำหรับ IPv6) เพื่อเปิดใช้งานระบบอื่น ๆ ให้ใช้พร็อกซี SOCKS ในทุกอินเตอร์เฟส นี่อาจเป็นความเสี่ยงด้านความปลอดภัยหรือการฝ่าฝืนนโยบาย (องค์กร) ตรวจสอบให้แน่ใจว่าคุณรู้ว่าคุณกำลังทำอะไรอยู่
sudo tsocks apt-get install tsocks
ไม่ได้ติดตั้งโดยค่าเริ่มต้นดังนั้นผมจึงจำเป็นต้องเรียกใช้ Hahahahahaha ...