alm*_*now 12 networking firefox ssh proxy socks-proxy
由于某些原因,我在我的工作中阻止了 YouTube。
我是一名科学家,我需要YouTube,因为我想看到的大多数会议和演讲都可以在那里找到。是的,我实际上需要 YouTube,用于科学。
我和我学校的网络管理员谈过,但他有点难对付,也不明白任何道理。他是那种认为互联网以某种方式通过固定渠道和端口并且实际上可以阻止访问 YouTube 等内容的人。
无论如何,幸运的是我在某处有一个专用服务器,所以我可以像这样在那里 ssh 代理:
ssh -D 5000 -CN 我自己@myserver
然后配置 Firefox(是的,Firefox,因为 Chrome 是懒惰的并且只依赖于 OS X 设置 [是的,我在 OS X 上])以使用 SOCKS5 代理到该端口并且几乎拥有我想要的所有互联网。
由于这里的互联网非常酷,我没有任何明显的延迟或带宽问题。
事情是我的专用服务器向我收取带宽费用,我必须关闭一切才能下载一些大文件(我也需要,因为科学)。因此,由于我不想在每次想看 youtube 视频时都打开和关闭这个东西,我想以某种方式告诉 Firefox(或我的电脑)只通过 SOCKS5 代理路由 youtube.com。我看到它可以很容易地以相反的方式完成(即,如果它们不是针对这些域的,则通过代理发送所有流量),但我不知道设计者如何没有想到相反的情况。
有人知道实现这一目标的简单方法吗?
Ale*_*Ale 14
您可以为 Firefox创建一个代理自动配置(PAC) 文件,并在“自动代理配置 URL”下配置它(将 PAC 文件放在 HTTP 服务器上的某个地方,或使用file:///path/to/file.pac
-style URL)。
PAC 文件本身是一个文本文件 (JavaScript),定义了一个确定使用哪个代理的函数:
function FindProxyForURL(url, host)
{
if (shExpMatch(url, "*.youtube.com/*")) {
return "SOCKS localhost:5000";
} else {
return "DIRECT";
}
}
Run Code Online (Sandbox Code Playgroud)
这是一个应该满足您需求的简单示例,但是使用 PAC 可以定义非常复杂的代理方案(例如,考虑一天中的时间、拥有多个代理、取决于本地 IP 地址等)。您可以在 Internet 上轻松找到有关 PAC 文件的更多信息,例如http://findproxyforurl.com/pac-functions/。