首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >远程阻止网站的程序

远程阻止网站的程序
EN

Ask Ubuntu用户
提问于 2022-12-09 00:32:16
回答 1查看 76关注 0票数 1

我正试图远程屏蔽我的ubuntu电脑上的网站,以帮助解决拖延症。因此,我可以在ubuntu和智能手机(或辅助windows PC)上安装类似的程序,当我在智能手机上运行它时,它会阻止在ubuntu上访问某些网站,最好是在所有浏览器上。就像Qustodio为windows所做的,或者远程的leechblock。

我没有大量的纪律问题或技术知识,所以它不需要是一些难以回避的系统。如果我可以从辅助设备上打开或关闭它,并且需要经历一些小麻烦才能在ubuntu上禁用它,比如卸载它,或者需要查找密码或技术知识,那就足够了。我不是一个人住,所以我不能只是封锁整个网络上的网站。

谢谢!

EN

回答 1

Ask Ubuntu用户

回答已采纳

发布于 2022-12-11 04:41:44

主机文件

我们要做的基本上是复制您的原始/etc/hosts.conf,然后编辑它,并使所有麻烦的网站(例如Facebook)指向您自己的计算机(127.0.0.1),以便加载这些网站失败(除非您正在运行您自己的web服务器)。

块文件

创建以下文件并将其命名为/etc/hosts.bob.block (但是确切的名称并不重要):

代码语言:javascript
复制
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

代码语言:javascript
复制
sudo cp /etc/hosts /etc/hosts.bob.enable

Toogle it本地

阻止被禁网站:

代码语言:javascript
复制
sudo cp /etc/hosts.bob.block /etc/hosts

再次启用禁用网站的

代码语言:javascript
复制
sudo cp /etc/hosts.bob.enable /etc/hosts

就我个人而言,我已经将这两个脚本打包到名为enable_internet.shdisable_internet.sh的脚本中,并将它们放在我的主文件夹中。

准备从KDE

作为sudo运行

我们将使用KDE连接从您的手机切换互联网。它应该已经安装在您的计算机上了。

否则只需运行:

代码语言:javascript
复制
sudo apt install kdeconnect

但是KDE不能以sudo的形式运行命令。我们得解决这个问题。

您可以跟随using中的这个答案创建一个简单的C程序并解决这个问题(使用SUID位):

代码语言:javascript
复制
#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_internetdisable_internet

从您的电话

切换支持

KDE连接支持从您的电话发出远程命令;预先记录在您的系统上。

首先,把你的手机和你的电脑配对。你可以在网上查看如何做到这一点,但这是相当容易的(它不需要蓝牙,只是在同一个Wi上就够了)

第二,打开计算机上的KDE指示器(如果没有运行,启动KDE指示器应用程序),右键单击->配置。

选择你的手机。然后查找Run commands

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

就是这样。

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

备注

浏览器(例如Chrome)在内部缓存DNS查询,因此,如果您禁用了internet,并且已经访问过这些网站;您可能还可以再访问被封锁的网站(如Youtube)几分钟。

重新启动浏览器应该可以修复这个问题。

同样的情况同样适用于再次启用互联网,尽管当DNS解析失败时,浏览器会更加咄咄逼人;而且通常需要三次才能访问现在未被封锁的网站。

票数 0
EN
页面原文内容由Ask Ubuntu提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://askubuntu.com/questions/1444708

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档