我正试图远程屏蔽我的ubuntu电脑上的网站,以帮助解决拖延症。因此,我可以在ubuntu和智能手机(或辅助windows PC)上安装类似的程序,当我在智能手机上运行它时,它会阻止在ubuntu上访问某些网站,最好是在所有浏览器上。就像Qustodio为windows所做的,或者远程的leechblock。
我没有大量的纪律问题或技术知识,所以它不需要是一些难以回避的系统。如果我可以从辅助设备上打开或关闭它,并且需要经历一些小麻烦才能在ubuntu上禁用它,比如卸载它,或者需要查找密码或技术知识,那就足够了。我不是一个人住,所以我不能只是封锁整个网络上的网站。
谢谢!
发布于 2022-12-11 04:41:44
我们要做的基本上是复制您的原始/etc/hosts.conf,然后编辑它,并使所有麻烦的网站(例如Facebook)指向您自己的计算机(127.0.0.1),以便加载这些网站失败(除非您正在运行您自己的web服务器)。
创建以下文件并将其命名为/etc/hosts.bob.block (但是确切的名称并不重要):
127.0.0.1 localhost
# WARNING: I am assuming your computer's name is bob. If not, grab it from /etc/hosts.conf
127.0.1.1 bob
# The following lines are desirable for IPv6 capable hosts
::1 ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
127.0.0.1 www.youtube.com
127.0.0.1 youtube.com
127.0.0.1 www.facebook.com
127.0.0.1 www.facebook.com.ar
127.0.0.1 www.9gag.com
127.0.0.1 9gag.com
127.0.0.1 www.twitter.com
127.0.0.1 twitter.com我们需要备份您现有的原始主机文件,并将其命名为hosts.bob.enable:
sudo cp /etc/hosts /etc/hosts.bob.enablesudo cp /etc/hosts.bob.block /etc/hosts再次启用禁用网站的
sudo cp /etc/hosts.bob.enable /etc/hosts就我个人而言,我已经将这两个脚本打包到名为enable_internet.sh和disable_internet.sh的脚本中,并将它们放在我的主文件夹中。
作为sudo运行
我们将使用KDE连接从您的手机切换互联网。它应该已经安装在您的计算机上了。
否则只需运行:
sudo apt install kdeconnect但是KDE不能以sudo的形式运行命令。我们得解决这个问题。
您可以跟随using中的这个答案创建一个简单的C程序并解决这个问题(使用SUID位):
#include <stdio.h>
#include <stdlib.h>
#include <sys/types.h>
#include <unistd.h>
int main()
{
setuid(0);
system("cp /etc/hosts.bob.block /etc/hosts");
return 0;
}制作一个应用程序来启用它,另一个应用程序禁用它。
出于安全考虑,请安装您在/usr/local/bin中创建的应用程序,并确保它为root用户所有。
我们将这两个C程序称为enable_internet和disable_internet。
切换支持
KDE连接支持从您的电话发出远程命令;预先记录在您的系统上。
首先,把你的手机和你的电脑配对。你可以在网上查看如何做到这一点,但这是相当容易的(它不需要蓝牙,只是在同一个Wi上就够了)
第二,打开计算机上的KDE指示器(如果没有运行,启动KDE指示器应用程序),右键单击->配置。
选择你的手机。然后查找Run commands:

点击空白框并添加要启用的选项和禁用该选项的另一个选项:

就是这样。
现在,您应该能够看到手机中的命令,您可以来回切换这些命令:

浏览器(例如Chrome)在内部缓存DNS查询,因此,如果您禁用了internet,并且已经访问过这些网站;您可能还可以再访问被封锁的网站(如Youtube)几分钟。
重新启动浏览器应该可以修复这个问题。
同样的情况同样适用于再次启用互联网,尽管当DNS解析失败时,浏览器会更加咄咄逼人;而且通常需要三次才能访问现在未被封锁的网站。
https://askubuntu.com/questions/1444708
复制相似问题