Tôi muốn thêm cài đặt proxy SOCKS vào /etc/apt/apt.conf. Cú pháp cho nó là gì? Có giống như cú pháp http và ftp không?
Cảm ơn.
Tôi muốn thêm cài đặt proxy SOCKS vào /etc/apt/apt.conf. Cú pháp cho nó là gì? Có giống như cú pháp http và ftp không?
Cảm ơn.
Câu trả lời:
Một giải pháp khả thi có thể là sử dụng tsocks
, một ứng dụng có thể chuyển hướng lưu lượng mạng thông qua proxy vớ. Cài đặt tsocks
gói, sửa đổi /etc/tsocks.conf
để đặt địa chỉ và số cổng của proxy vớ của bạn và chạy:
$ sudo -s
# tsocks apt-get update
# tsocks apt-get dist-upgrade
# exit
$
hoặc là
$ sudo -s
# . tsocks -on
# apt-get update
# apt-get dist-upgrade
# . tsocks -off # not really necessary, given the exit
# exit
$
Bạn có thể nghĩ đến một số tùy chọn, để đơn giản hóa và tự động hóa việc sử dụng nó.
Đừng quên dấu chấm hàng đầu, Manpage có nhiều phần mềm hơn về điều này.
Chỉnh sửa : một cách ngắn hơn để sử dụng nó:
$ sudo tsocks apt-get update
$ sudo tsocks apt-get dist-upgrade
tsocks
, cài đặt và sau đó sử dụng :)
Acquire::http::Proxy "socks5h://hostname:port/"
. Xem thay đổi tại anonscm.debian.org/gitweb/?p=apt/apt.git;a=blob;f=debian/iêu
apt-get something
!
Acquire::socks::Proxy "socks5h://hostname:port/";
thực hiện thủ thuật. Http không - hãy thử với Tor và bạn sẽ thấy phản hồi tiêu chuẩn "Tor không phải là proxy http", do đó http
, thay thế bằng socks
- và nó hoạt động!
Acquire::http::proxy "socks5h://server:port";
Điều này làm việc cho tôi trên Ubuntu 18.04. Như trang người đàn ông nói, vớ5h, không phải vớ5, được hỗ trợ bởi apt, có nghĩa là vớ5 proxy với khả năng phân giải DNS.
Acquire::https::proxy "socks5h://server:port";
vào một apt.conf.d
tệp (như /etc/apt/apt.conf.d/12proxy
) hoạt động tốt. Tôi sẽ đề nghị bám vào https trừ khi cần thiết.
Acquire::http::proxy "socks5h://user:pass@server:port";
. Quy tắc trên chỉ hoạt động tốt trong Ubuntu 18.04. Ở đây socks5h
thực thi độ phân giải DNS tại máy chủ proxy.
Sử dụng dòng cấu hình tiếp theo hoạt động với tôi:
Acquire::socks::proxy "socks5://server:port";
Để giữ apt.conf
sạch và tránh các sự cố khi nâng cấp Linux, tôi đã tạo một tệp mới ( /etc/apt/apt.conf.d/12proxy
) và thêm tệp cấu hình vào đó.
Tôi không thể tìm thấy bất cứ điều gì trên Acquire :: vớ :: proxy trong hướng dẫn apt.conf của Ubuntu Xenial. Bạn có thể khắc phục điều này bằng cách chạy proxy http cục bộ hỗ trợ proxy vớ ngược dòng, ví dụ như Polipo. Bạn cần cấu hình Polipo như sau:
proxyAddress = "::1"
proxyPort = 8118
socksParentProxy = "sockshost:socksport"
socksProxyType = socks5
và sau đó đặt proxy http trong tệp apt.conf của bạn:
Acquire::http::proxy "http://127.0.0.1:8118/";
Acquire::https::proxy "https://127.0.0.1:8118/";
Hoặc tou có thể đặt trong /etc/apt/apt.conf của bạn một cái gì đó như thế này:
Acquire::socks::proxy "socks://user:pass@host:port/";
Acquire::http::proxy "socks://user:pass@host:port/";
Acquire::socks
là để đặt proxy cho các URL bắt đầu bằng socks://
. Vì vậy, đó có nghĩa là bạn không cần một proxy để truy cập Internet, và apt
không được sử dụng bất kỳ proxy cho ftp://
, http://
hoặc https://
.. apt
chỉ hỗ trợ HTTP proxy, tức là Acquire::http::proxy "http://localhost:8118
.
Trong Debian, bạn có thể đọc manpage apt-transport-http(1)
và tìm kiếm các lược đồ URI được hỗ trợ. Như đã được trả lời trước, đặt
Acquire::http::proxy "socks5h://server:port";
trong
/etc/apt/apt.conf.d/12proxy
Bạn có thể đọc thêm về APT-config nói chung apt.conf(5)
và đọc các ví dụ /usr/share/doc/apt/examples/configure-index.gz
được đề cập ở cuối trang.
Điều này có thể được kết hợp với ssh -D <LOCAL PORT> <USER>@<HOST>
để tạo proxy SOCKS cho một hệ thống khác để apt có thể sử dụng proxy như thể mọi thứ bắt nguồn từ đó <HOST>
.
Nếu bạn sử dụng ssh -D 0.0.0.0:<LOCAL PORT> <USER>@<HOST>
hoặc ssh -D [::]:<LOCAL PORT> <USER>@<HOST>
(đối với IPv6) để cho phép các hệ thống khác sử dụng proxy SOCKS trên tất cả các giao diện. Đây có thể là rủi ro bảo mật hoặc vi phạm chính sách (doanh nghiệp). Hãy chắc chắn rằng bạn biết những gì bạn đang làm.
sudo tsocks apt-get install tsocks
. Hahahahahaha ...