我想将SOCKS代理设置添加到/etc/apt/apt.conf。它的语法是什么?它与http和ftp语法相同吗?
谢谢。
我想将SOCKS代理设置添加到/etc/apt/apt.conf。它的语法是什么?它与http和ftp语法相同吗?
谢谢。
Answers:
可能的解决方案是使用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
$
您可以考虑多种选择,以简化和自动化其使用。
不要忘了前导点,联机帮助页对此有更多详细描述。
编辑:一种较短的使用方式:
$ sudo tsocks apt-get update
$ sudo tsocks apt-get dist-upgrade
tsocks
,安装并使用:)
Acquire::http::Proxy "socks5h://hostname:port/"
。会在Changelog 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上有效。正如手册页所述,apt支持socks5h而不是socks5,这意味着具有DNS解析功能的socks5代理。
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
)并向其中添加了配置文件。
我在Ubuntu Xenial的apt.conf手册中的Acquire :: socks :: proxy上找不到任何内容。您可以通过运行支持上游袜子代理的本地http代理(例如Polipo)来解决此问题。您需要按以下方式配置Polipo:
proxyAddress = "::1"
proxyPort = 8118
socksParentProxy = "sockshost:socksport"
socksProxyType = socks5
然后在apt.conf文件中设置http代理:
Acquire::http::proxy "http://127.0.0.1:8118/";
Acquire::https::proxy "https://127.0.0.1:8118/";
或者tou可以在您的/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代理,即。http://
https://
apt
Acquire::http::proxy "http://localhost:8118
在Debian中,您可以阅读手册页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
联机帮助页末尾提到的示例。
可以将其与ssh -D <LOCAL PORT> <USER>@<HOST>
创建到不同系统的SOCKS代理结合使用,以便apt可以像使用所有原始内容一样使用该代理<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
。哈哈哈哈哈哈...