使用代理服务器后的 Chrome

使用代理服务器后的 Chrome

我使用的是 Linux mint 19,并且通过 WiFi 通过学院代理使用互联网。我已在网络设置中设置了代理和端口,Firefox 运行正常,但在 Chrome 中遇到了问题。

它已安装,但每当我搜索某些内容或打开任何 URL 时,它都会等待一段时间,然后返回超时错误。我认为这是由于使用研究所 Wi-Fi,因为当我使用在蜂窝网络上运行的手机的个人热点时,同一个浏览器运行正常。

google-chrome --proxy-server我该如何解决这个问题?我尝试在终端上进行设置,google-chrome --no-proxy-servergoogle-chrome --proxy-auto-detect都没有用。

答案1

如果操作系统(和桌面环境)受支持,Chrome 将始终使用系统代理。我记得上次使用 Mint 时,面板中有一个系统范围的代理设置,您应该先检查一下。

如果没有,我有一个带 Fluxbox 的 Debian Buster,chrome 不支持设置代理。当您尝试转到settings/ 时Proxy,它会显示:

在受支持的桌面环境下运行 Google Chrome 时,将使用系统代理设置。但是,您的系统不受支持,或者启动系统配置时出现问题。

但您仍然可以通过命令行进行配置。请参阅 man google-chrome 以获取有关标志和环境变量的更多信息。

不过,我可以使用 --set-proxy 参数设置代理。从中man google-chrome您可以看到如何使用它以及所有选项:

...

--proxy-server=host:port

指定用于请求的 HTTP/SOCKS4/SOCKS5 代理服务器。这将覆盖通过选项对话框选择的任何环境变量或设置。单个代理服务器使用以下格式指定:

  [<proxy-scheme>://]<proxy-host>[:<proxy-port>]

其中是代理服务器的协议,并且是以下之一:“http”、“socks”、“socks4”、“socks5”。

如果<proxy-scheme>省略,则默认为“http”。另请注意,“socks”相当于“socks5”。

例子:

  --proxy-server="foopy:99"
      Use the HTTP proxy "foopy:99" to load all URLs.

  --proxy-server="socks://foobar:1080"
      Use the SOCKS v5 proxy "foobar:1080" to load all URLs.

  --proxy-server="socks4://foobar:1080"
      Use the SOCKS v4 proxy "foobar:1080" to load all URLs.

  --proxy-server="socks5://foobar:66"
      Use the SOCKS v5 proxy "foobar:66" to load all URLs.

还可以通过在代理服务器说明符前加上 URL 说明符来为不同的 URL 类型指定单独的代理服务器:

  --proxy-server="https=proxy1:80;http=socks4://baz:1080"
      Load https://* URLs using the HTTP proxy "proxy1:80". And load http://* URLs using
  the SOCKS v4 proxy "baz:1080". ...

我设置了一个监听器来表明我可以使用该开关覆盖代理:

Netcat 监听器

当我指定代理时,您可以看到监听器如何从 chrome 接收连接。

在我的设置中,该配置有效。希望对您有所帮助

答案2

如果 Chrome 在连接时提供有关确切错误代码的更多信息,请将其添加到帖子中。

可能有帮助的措施:

  • 在 Chrome 中输入chrome://net-internals/#dns并点击“清除主机缓存”按钮
  • 如果 IPv6 和 IPv4 都可用,则禁用 IPv6。

  • 该参数的语法是

    --proxy-server="proxy-scheme://proxy-ip:proxy-port
    

    其中proxy-scheme可以是socks5https,因此代理的确切性质确实很重要。

  • 您可以在 Chrome 中使用扩展程序,而不是命令行参数
    代理 SwitchyOmega

相关内容