你能推荐我一个适用于 Windows 7 的网络拦截器吗?我希望它避免拖延上网,但同时我只需要阻止一些网站,而不是全部和几个小时。例如,我希望能够访问 Stack Overflow,但我希望无法访问 Reddit。
它不能是浏览器插件,因为我在 Windows 7 中运行虚拟机,并且我希望这些虚拟机也被阻止。
你能推荐我一个适用于 Windows 7 的网络拦截器吗?我希望它避免拖延上网,但同时我只需要阻止一些网站,而不是全部和几个小时。例如,我希望能够访问 Stack Overflow,但我希望无法访问 Reddit。
它不能是浏览器插件,因为我在 Windows 7 中运行虚拟机,并且我希望这些虚拟机也被阻止。
您可以使用 Hosts-Switch在不同的主机文件之间切换:
您可以使用代理服务器,例如squid。
Squid 是一个支持 HTTP、HTTPS、FTP 等的 Web 缓存代理。它通过缓存和重用频繁请求的网页来减少带宽并提高响应时间。Squid 具有广泛的访问控制功能,是出色的服务器加速器。它在大多数可用的操作系统上运行,包括 Windows,并在 GNU GPL 下获得许可。
有关如何执行此操作的信息,请参阅如何使用 SQUID 服务器阻止网站。复制下面的答案:
您必须在 squid.conf 中进行一些更改,步骤如下:
打开这个文件 /etc/squid3/squid.conf
添加这些行:
acl bad_url dstdomain "/etc/squid3/bad-sites.squid" http_access deny bad_url
然后转到 /etc/squid3/bad-sites.conf 并使用这种格式添加域
.google.com .msn.com .app.facebook.com
这里的很多答案都引用了全能的 hosts 文件,事实上,这是你最好的选择。这是 StackOverflow 上一些聪明人提供的自动化解决方案,它不使用第三方软件。您可以将其捆绑到一个批处理文件中并作为 Windows 任务运行,该任务在某些时候解除阻塞并完全忘记它。
这种方法有几个好处:
这是批处理文件的代码:
echo 0.0.0.0 www.facebook.com >> c:\windows\system32\drivers\etc\hosts
@echo off
setlocal enableextensions disabledelayedexpansion
set "file=c:\windows\system32\drivers\etc\hosts"
for /f "tokens=* delims=0123456789" %%a in (
'findstr /n /i /v /c:"facebook" "%file%" ^& type nul ^> "%file%"'
) do (
set "line=%%a"
setlocal enabledelayedexpansion
>>"%file%" echo(!line:~1!
endlocal
)
endlocal
只需将这些复制粘贴到记事本中并使用 .bat 扩展名保存,然后双击它们进行测试。
来自微软的网站:
您必须以管理员身份登录才能执行这些步骤。如果您没有以管理员身份登录,则只能更改适用于您的用户帐户的设置。
如果您定期使用特定程序,则可以使用任务计划程序向导创建一个任务,该任务会根据您选择的计划自动为您打开程序。例如,如果您在每个月的某一天使用财务程序,您可以安排一个自动打开程序的任务,以避免忘记自己打开它的风险。
通过单击开始按钮 打开任务计划程序 开始按钮的图片、单击控制面板、单击系统和安全、单击管理工具,然后双击任务计划程序。 需要管理员权限如果系统提示您输入管理员密码或确认,输入密码或提供确认。
单击操作菜单,然后单击创建基本任务。
键入任务的名称和可选描述,然后单击下一步。
执行以下操作之一:
要根据日历选择计划,请单击“每日”、“每周”、“每月”或“一次”,单击“下一步”;指定要使用的计划,然后单击下一步。
要根据常见的重复事件选择计划,请单击计算机启动时或登录时,然后单击下一步。
要根据特定事件选择计划,请单击记录特定事件时,单击下一步;使用下拉列表指定事件日志和其他信息,然后单击下一步。
要安排程序自动启动,请单击启动程序,然后单击下一步。
单击浏览以查找要启动的程序,然后单击下一步。
单击完成。
我建议使用像OpenDNS这样的可配置 DNS 服务。这是一种“家长控制”服务,但它符合您的需求。
如果您想在某些机器/帐户上解决该服务,您可以手动覆盖正在使用的网络连接的 DNS 服务器条目。