ไวยากรณ์สำหรับพร็อกซี SOCKS ใน apt.conf


23

ฉันต้องการเพิ่มการตั้งค่าพร็อกซี SOCKS ไปที่ /etc/apt/apt.conf ไวยากรณ์สำหรับมันคืออะไร? มันเหมือนกับไวยากรณ์ http และ ftp หรือไม่

ขอบคุณ

คำตอบ:


31

ทางออกที่เป็นไปได้คือการใช้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

11
ดูเหมือน tsocks sudo tsocks apt-get install tsocksไม่ได้ติดตั้งโดยค่าเริ่มต้นดังนั้นผมจึงจำเป็นต้องเรียกใช้ Hahahahahaha ...
fikr4n

1
คุณสามารถใช้ curl เพื่อดาวน์โหลดtsocksติดตั้งและใช้ :)
neutrinus

3
ยัง: จาก apt 1.3 ~ rc1 (เวอร์ชันเดเบียน, ไม่แน่ใจว่าเป็น Ubuntu เวอร์ชันไหน, ถึงแม้ว่าฉันเดาว่าไม่ถึง Zesty), คุณสามารถใช้งานAcquire::http::Proxy "socks5h://hostname:port/"ได้ ดูการเปลี่ยนแปลงที่anonscm.debian.org/gitweb/?p=apt/apt.git;a=blob;f=debian/…
derobert

1
เอ่อ ... มันตลกดี เพื่อให้ได้งานที่เหมาะสมคุณต้อง ... apt-get something!
Equidamoid

2
การแก้ไขเล็กน้อยสำหรับ @derobert line: Acquire::socks::Proxy "socks5h://hostname:port/";ทำการหลอกลวง http ไม่ - ลองใช้กับ Tor และคุณจะเห็นการตอบกลับมาตรฐาน "Tor ไม่ใช่พร็อกซี http" ดังนั้นการhttpแทนที่จะถูกแทนที่ด้วยsocks- และใช้งานได้!
Alexey Vesnin

17
Acquire::http::proxy "socks5h://server:port";

สิ่งนี้ใช้ได้กับฉันใน Ubuntu 18.04 อย่างที่หน้าคนพูด, socks5h, ไม่ใช่ socks5, รองรับโดย apt, ซึ่งหมายถึงพร็อกซี socks5 ที่มีความสามารถในการแก้ไข DNS


1
สิ่งนี้ถูกต้องและดูเหมือนว่าจะใช้ได้กับ Ubuntu 18.04 แม้ว่าหนึ่งอาจต้องการรวมถึงAcquire :: https :: proxyและAcquire :: ftp :: proxyเช่นกัน (ด้วยค่าเดียวกัน)
Hamy

1
การเพิ่มกฎพร็อกซีAcquire::https::proxy "socks5h://server:port";ลงในapt.conf.dไฟล์ (เช่น/etc/apt/apt.conf.d/12proxy) ใช้งานได้ดี ฉันอยากจะแนะนำให้ติดกับhttpsเว้นแต่จะมีความจำเป็น
codegenki

Acquire::http::proxy "socks5h://user:pass@server:port";นอกจากนี้สำหรับเซิร์ฟเวอร์พร็อกซี่ที่กำหนดให้ตรวจสอบสายนี้มีการปรับเปลี่ยนเป็น กฎดังกล่าวใช้งานได้ดีใน Ubuntu 18.04 ที่นี่socks5hบังคับใช้การแก้ไข DNS ที่พร็อกซีเซิร์ฟเวอร์
codegenki

ใครรู้ว่าสิ่งนี้ทำงานใน Ubuntu 16.04?
เบ็กโก

ไม่ทำงานเมื่อวันที่ 14.04
razieh babaee

8

การใช้บรรทัดปรับแต่งถัดไปใช้งานได้สำหรับฉัน:

Acquire::socks::proxy "socks5://server:port";

เพื่อรักษาความapt.confสะอาดและหลีกเลี่ยงปัญหาในการอัปเกรด Linux ฉันได้สร้างไฟล์ใหม่ ( /etc/apt/apt.conf.d/12proxy) และเพิ่มไฟล์ปรับแต่งเข้าไป


เลขเริ่มต้นมีความหมายว่าอย่างไรในผู้ใช้
Kris Roofe

เป็นเพียงคำสั่งเรียกใช้งานสคริปต์
Bit-Man

นี่เป็นสิ่งที่ผิด มันใช้งานไม่ได้
dedunumax

@dedunumax คุณล้มเหลวอะไร ข้อผิดพลาดใด ๆ เบาะแสใด ๆ
Bit-Man

1
มันควรจะได้รับ :: http :: proxy และถุงเท้าอีก 5 ชั่วโมงสำหรับการแก้ปัญหา dns ด้าน proxy
ZAB

4

ฉันไม่พบสิ่งใดบน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/";

3

หรือคุณสามารถใส่ /etc/apt/apt.conf ของคุณแบบนี้:

Acquire::socks::proxy "socks://user:pass@host:port/";

2
ดูเหมือนจะไม่สามารถใช้งานได้ใน Ubuntu 12.04
Shnatsel

ทำงานใน 13.10
isaaclw

4
ฉันค่อนข้างแน่ใจว่านี่เป็นไวยากรณ์ที่ผิดมันหมายถึง "พร็อกซี URL ทั้งหมดที่ขึ้นต้นด้วย socks: // ถึง socks: // user: pass @ host: port /" จริง ๆ ควรเป็นเช่นนี้:Acquire::http::proxy "socks://user:pass@host:port/";
Hans-Christoph Steiner

@ Hans-ChristophSteiner: สิ่งนี้ทำให้การเชื่อมต่อกับโฮสต์และพอร์ตที่ระบุ แต่การเชื่อมต่อไม่ได้ใช้โปรโตคอลถุงเท้า ดูเหมือนว่าโปรโตคอล HTTP proxy แต่ฉันไม่ได้ตรวจสอบกับ http proxy จริง
Seth Robertson

ณ จุดนี้ฉันแน่ใจว่าAcquire::socksเป็นสำหรับการตั้งค่าพร็อกซีสำหรับ URL socks://ที่เริ่มต้นด้วย ดังนั้นหมายความว่าคุณไม่จำเป็นต้องพร็อกซี่ในการเข้าถึงอินเทอร์เน็ตและaptไม่ได้ใช้พร็อกซี่ใด ๆftp://, http://หรือhttps://.. aptเพียงสนับสนุน HTTP Acquire::http::proxy "http://localhost:8118ผู้รับมอบฉันทะคือ
Hans-Christoph Steiner

0

ใน 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 ในทุกอินเตอร์เฟส นี่อาจเป็นความเสี่ยงด้านความปลอดภัยหรือการฝ่าฝืนนโยบาย (องค์กร) ตรวจสอบให้แน่ใจว่าคุณรู้ว่าคุณกำลังทำอะไรอยู่

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