我能够设置具有 SSL 支持的 Squid,以便告诉 Chromium 加密浏览器和代理服务器之间的流量。这很有效。但这需要直接访问代理服务器。
我的问题:代理服务器本身只能通过代理服务器才能访问。
我怎样才能告诉 Chromium 使用代理连接到代理,而无需安装其他工具,例如螺旋状?
答案1
供您参考,有人专门问了一个关于 Firefox 的非常相似的问题这里。
简短的回答是你不能——没有外部程序就不行。Firefox 和 Chrom(e,ium) 都不支持开箱即用的代理链,并且如果不编辑源代码,就无法使用浏览器扩展对这些程序进行如此低级的网络更改。
旧版本的 Firefox 的安全模型比较宽松,允许扩展程序运行几乎任何本机代码;理论上,这些扩展程序可以在本地打开一个监听端口并创建一个代理在 Firefox 进程中,然后可以将其与 Firefox 设置中的代理服务器链接起来以访问互联网。不过,我不知道有任何扩展专门这样做。
使用当前版本的 Firefox 和 Chrome,它们的安全模型不允许发生这种事情。因此,您需要在本地运行某种支持代理链的代理程序。
例如,隧道支持代理链:
- Firefox 设置指向 localhost:1234(其中 1234 是 stunnel 在您的计算机上监听的端口)
- 当 stunnel 通过来自 Web 浏览器的动词接收到 HTTP 连接请求时
CONNECT
,它会建立一个到远程服务器的 HTTPS 隧道(如果您愿意,可以通过客户端和服务器证书对进行身份验证)并将其用作通用 TCP 代理(或可从路由服务器路由的不同 HTTP 代理)——只需要您在远程主机上运行 stunnel 守护程序。
这将允许你做类似的事情:
Firefox -> 本地主机 stunnel -> 远程服务器 stunnel -> 远程服务器 Squid/Privoxy/etc. -> Internet
除非您修改浏览器的源代码来实现该功能并进行构建,否则没有办法通过删除您引用的两个浏览器中的 stunnel 来简化本地端。