看起来它只是调整/etc/hosts
并定义了一些规则iptables.
有些网站没有被屏蔽,我认为这是因为它们将托管分散到几台服务器上。我确信系统管理员可以这样说,但我想我需要定义通配符规则。
/etc/hosts
所以我的第一个问题是:我是否可以为和(哪个?)编写通配符规则,iptables
以防止访问任何内容(假设)*.facebook.com
?我不需要在 SelfControl 内部执行此操作。
我还想更优雅地失败——现在页面只是尝试加载,但没有加载。我想重定向到一个本地页面,在那里我可以给自己一些小提醒,提醒自己这实际上不是我想要消磨时间的地方。我可以用上面的框架做到这一点吗?重定向到本地主机上的页面?
(我正在运行本地 Web 服务器,我认为 Ubuntu 上的任何人都在运行)
答案1
不,在 中不能使用通配符/etc/hosts
。
一个简单的设置方法是安装本地 Squid 代理,然后使用鱿鱼 ACL禁止访问 *.facebook.com、askubuntu.com 等。您可以让这些 ACL 仅在每周的特定时间处于活动状态。然后您只需要足够的自制力,不要关闭浏览器的代理设置。
答案2
一些家用路由器也提供相当强大的访问限制,这些限制不会与您的操作系统绑定,而是与您的 MAC 或 IP 地址绑定。我使用路由器中的功能阻止我的孩子访问特定网站,并在有理由(例如,年级、其他原因的限制)的情况下完全阻止访问。它使用的规则可以以多种不同的方式应用,包括一天中的时间和一周中的几天。
只是想提供另一种选择。:)