在一天中的特定时段本地重定向域名(例如使用 /etc/hosts)

在一天中的特定时段本地重定向域名(例如使用 /etc/hosts)

各位。为了提高我的工作效率,我想在一天中的某些时间段内选择性地阻止或重定向某些网站。我已经在 /etc/hosts 中完全阻止了一些网站,但只在特定时间段内进行阻止是我一直无法做到的。

额外内容:我还希望能够屏蔽主域,但允许其中的特定页面。例如,屏蔽 reddit.com,但允许 reddit.com/r/javascript

谢谢你尽你所能的帮助!

答案1

也许这样的事情可以解决你的问题: http://www.getconcentrating.com/

答案2

尽管@smw 的答案看起来可能是您的解决方案,但没有什么比“自己动手”更好的了——即使只是为了获得满足感。

根据我上面的评论,我假设您可以创建一个 /etc/hosts 文件,该文件会为您提供所需的权限。我将像上面一样调用它们,worktimeHostsplaytimeHosts。现在您需要一个脚本来将其中一个设置为活动文件。这假设您已将 /etc/hosts 移开...

创建一个脚本:

#!/bin/bash
rm /etc/hosts
ln -s /etc/worktimeHosts /etc/hosts

另存为/usr/bin/getWorking,设置执行权限chmod 755 /usr/bin/getWorking

现在创建第二个脚本:

#!/bin/bash
rm /etc/hosts
ln -s /etc/playtimeHosts /etc/hosts

另存为/usr/bin/getPlaying,像之前一样设置权限

您必须确保您有权限对 /etc 中的文件执行这些操作...

现在编辑cron表格(例如这里

`crontab -e`

添加如下一行:

00 00 08 * * /usr/bin/getWorking

还有另一行如下:

00 00 17 * * /usr/bin/getPlaying

我认为这接近解决方案 - 但我还没有测试过,所以玩一下并找出我的错误......

答案3

(由于它被标记为‘osx’,我假设‘仅限 OS X’ 的解决方案是可以接受的。)

  1. 具有讽刺意味的是自我控制可以做到这一点。它可以让您定义允许或阻止的“白名单”或“黑名单”网站,并允许您设置到期时间限制。它是免费的,并且源代码可用

  2. 还有麦金塔自由也就是 10 美元,作用类似。提供免费试用版

(我过去曾使用过这两种方法,但与它们都没有任何联系。)

注意:如果我能从经验中给出建议,我建议不要将时间限制设置得太长,以防你犯错。非常 非常在时间限制到期之前很难“撤销”此操作。(这是任何其他解决方案的潜在问题,如果您觉得无聊,您可以“撤销” - 您可能会!)

相关内容