You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

寻求可远程管控Ubuntu设备网站访问的屏蔽工具方案

寻求可远程管控Ubuntu设备网站访问的屏蔽工具方案

Hey there! 看了你的需求——要在Ubuntu上远程管控网站访问对抗拖延,不用太复杂的防绕过机制,还不能影响同住的人,这几个方案应该适合你,都是操作简单、贴合你要求的:

方案一:基于hosts文件+SSH远程控制(零额外软件成本)

这是最基础的方法,利用系统自带的hosts文件拦截网站,再通过SSH远程触发切换,几乎不用装额外工具:

  • 第一步:在Ubuntu上开启SSH服务
    打开终端,执行以下命令安装并启动SSH:
    sudo apt update && sudo apt install openssh-server
    sudo systemctl start sshd
    sudo systemctl enable sshd  # 设置开机自启
    
    记住你的Ubuntu设备的局域网IP(可以用ip a命令查看),还有你的登录用户名和密码。
  • 第二步:准备两个hosts配置文件
    先备份默认的hosts文件:
    sudo cp /etc/hosts ~/normal_hosts
    
    然后创建一个用于屏蔽的hosts文件:
    cp ~/normal_hosts ~/blocked_hosts
    
    编辑~/blocked_hosts,在文件末尾添加要屏蔽的网站,比如:
    127.0.0.1 facebook.com
    127.0.0.1 www.facebook.com
    127.0.0.1 twitter.com
    127.0.0.1 www.twitter.com
    
  • 第三步:远程切换屏蔽状态
    从手机(比如用Termius这类SSH客户端)或Windows(直接用PowerShell/CMD输入ssh 你的用户名@Ubuntu的IP)连接到Ubuntu,然后:
    • 开启屏蔽:sudo cp ~/blocked_hosts /etc/hosts
    • 关闭屏蔽:sudo cp ~/normal_hosts /etc/hosts
  • 增加一点“门槛”防自己轻易取消
    你可以给sudo设置一个单独的密码(和登录密码不同),或者把切换命令写成加密脚本——比如用gpg加密脚本文件,每次运行前需要输入解密密码,这样你临时想取消屏蔽就得费点劲找解密方式,刚好符合你的需求。

方案二:用Cold Turkey Blocker+远程桌面(可视化操作,更直观)

Cold Turkey Blocker是专门对抗拖延的工具,支持Linux(包括Ubuntu),可以设置密码保护,还能一键屏蔽全浏览器的指定网站:

  • 第一步:在Ubuntu上安装Cold Turkey Blocker
    下载Linux版本的安装包完成安装后,打开工具设置好要屏蔽的网站列表,然后设置一个解锁密码——这个密码别记太牢,或者存在手机里,这样你在Ubuntu本地想取消就得找密码。
  • 第二步:开启远程桌面
    在Ubuntu的「设置-共享」里开启「远程桌面」,设置好访问密码。
  • 第三步:远程控制
    手机上用VNC Viewer这类客户端,Windows上用自带的远程桌面连接,输入Ubuntu的IP和远程桌面密码,登录后就可以打开Cold Turkey Blocker,一键开启/关闭屏蔽了。因为本地解锁需要密码,你临时想绕过就得输入密码,满足你的“minor trouble”要求。

方案三:Syncthing同步hosts+定时脚本(适合不想用SSH的用户)

如果你觉得SSH命令太麻烦,可以用Syncthing同步文件,再配合简单的定时脚本自动切换:

  • 第一步:在Ubuntu和手机/Windows上安装Syncthing
    Syncthing是跨平台的文件同步工具,安装后在Ubuntu上创建一个同步文件夹,比如~/sync_hosts。
  • 第二步:准备hosts文件并设置同步
    把之前的normal_hosts和blocked_hosts放到同步文件夹里,设置Syncthing自动同步这个文件夹到手机/Windows设备。
  • 第三步:写定时脚本自动替换hosts
    在Ubuntu上创建一个脚本~/switch_hosts.sh,内容如下:
    #!/bin/bash
    # 检查同步文件夹里的trigger文件,如果是block就切换到屏蔽模式,normal就恢复
    TRIGGER_FILE=~/sync_hosts/trigger
    if [ -f "$TRIGGER_FILE" ]; then
        CONTENT=$(cat "$TRIGGER_FILE")
        if [ "$CONTENT" = "block" ]; then
            sudo cp ~/sync_hosts/blocked_hosts /etc/hosts
        elif [ "$CONTENT" = "normal" ]; then
            sudo cp ~/sync_hosts/normal_hosts /etc/hosts
        fi
        # 删除trigger文件避免重复执行
        rm "$TRIGGER_FILE"
    fi
    
    给脚本加执行权限:chmod +x ~/switch_hosts.sh
    然后用crontab设置每分钟执行一次:
    crontab -e
    
    在打开的文件末尾添加:
    */1 * * * * /home/你的用户名/switch_hosts.sh
    
  • 第四步:远程触发
    你在手机/Windows的Syncthing同步文件夹里创建一个叫trigger的文件,内容写block,等待1分钟就会自动屏蔽网站;写normal就恢复。为了增加门槛,你可以把脚本的sudo权限设置成需要密码,或者把同步文件夹加密,这样你本地想取消就得解密文件夹,多一点麻烦。

备注:内容来源于stack exchange,提问作者master bob

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.23 07:39:32