家长控制
存在多种方法来保护和限制儿童在计算机上的活动。
应用程序
- timekpr-next — Timekpr-nExT,一个新鲜、简单且易于使用的屏幕时间管理应用程序,可帮助优化在计算机上花费的时间。
- timeoutd — timekpr 的轻量级替代品,它每分钟扫描
/var/run/utmp
,并检查/etc/timeouts
中是否有与受限用户匹配的条目。
- logkeys — 一个守护进程,将按键记录到日志文件中以供后续检查。
限制打开应用程序
malcontent 允许为基于 flatpak 的应用程序设置访问限制。
malcontent-client set-app-filter timmy x-scheme-handler/http
这将禁止用户 timmy 打开 Flatpak 提供的 Web 浏览器。
使用 Tinyproxy 和 Firehol 进行白名单
以下描述将使您能够使用 fireholAUR 和 tinyproxy (或 tinyproxy-gitAUR) 通过 URL 白名单过滤任何用户对互联网的访问。
/etc/tinyproxy/tinyproxy.conf
由以下更改组成
FilterURLs On FilterDefaultDeny Yes Filter "/etc/tinyproxy/whitelist"
/etc/tinyproxy/whitelist
应包含仅允许选定用户访问的 URL。一个简单的例子
(www|wiki|static).archlinux.org google.com
/etc/firehol/firehol.conf
应包含以下行
transparent_proxy "80 443" 8888 "nobody root bin myaccount"
其中 myaccount 是我的帐户,不应被 Tinyproxy 过滤。
OpenDNS 家长控制
OpenDNS 提供免费的 DNS 服务,作为您 ISP 默认服务器的替代方案。此外,它们还提供可选的过滤功能。可以进行不同级别的过滤;有关详细信息,请参阅 OpenDNS 主页。
对于动态 IP 地址,最好在 OpenDNS 上保持更新。使用 ddclient 并按如下方式编辑 /etc/ddclient/ddclient.conf
# OpenDNS.com account-configuration use=web, web=myip.dnsomatic.com server=updates.opendns.com protocol=dyndns2 login=myopendns@email.address password=myopendnspassword myhostname
您有时甚至可以将路由器设置为使用 OpenDNS,从而允许保护扩展到连接到该路由器的所有设备。
编辑 /etc/hosts
您可以配置您的 /etc/hosts 文件来阻止访问某些域。一种更严厉的方法是仅允许在 /etc/hosts
中明确声明的域,如此处 所述。如果您这样做,请记住这将影响您的整个系统,因此例如,除非您在 /etc/hosts
中进行正确的绑定,否则 pacman 可能无法连接到更新服务器。
使用 named 进行阻止列表
另请参阅:BIND
创建根区文件 ("/var/named/denied.zone"),将所有内容重定向到 localhost
@ 1D IN SOA ns1.example.com. root.example.com. ( 42 ; serial (yyyymmdd##) 3H ; refresh 15M ; retry 1W ; expiry 1D ) ; minimum ttl 1D IN NS ns.example.com. 1D IN A 127.0.0.1 1D IN AAAA ::1 * 1D IN A 127.0.0.1 * 1D IN AAAA ::1
添加
zone "SOME-DOMAIN-1.TLD" IN { type master; file "denied.zone"; }; ... zone "SOME-DOMAIN-N.TLD" IN { type master; file "denied.zone"; };
到 named.conf。
最近的 named 版本支持 DoT 和 DoH,因此您可以将 named 暴露给互联网,并从您的 lan 外部使用它。(例如,Firefox 可以使用 DoH,Android 设备具有用于 DoT 的全局“专用 DNS 服务器”设置)
Squid
Squid 是功能丰富的代理,支持授权、缓存、TLS 拦截、通过防火墙的透明性、基于 MAC、IP、域和 TLS SNI 的访问列表。它有单独的 文章。与 nftables 结合使用,Squid 可用于完全控制儿童可以浏览哪些网站(请参阅 [1])。
浏览器插件
存在一些用于 Web 浏览器的插件来过滤 Web 内容。其中一些甚至可以阻止检查其正文的页面,而不仅仅是其 URL。但是,请注意,这不是一种非常安全的方式。以安全模式启动 Firefox、修改 Firefox 配置文件目录或 Firefox 配置文件管理器是尝试关闭基于 Firefox 的插件的明显方法。如果一切都失败了,孩子可能 просто 使用不同的浏览器。