从任何地方填充您的圆周率孔

2020-10-14 01:55:00

你如何看待广告擦除Pi-Hole,并将其变成一个全球可用的应用程序?快速而简单地使用Fly,在本文中,我们将向您展示如何操作。

圆周率洞可能是你网络连接的英雄。它从根本上阻止广告;即DNS根。通过设置您自己的PI-Hole,您可以将您的本地网络对已知广告域的所有请求都向下倾斜。

可以把Pi-Hole看作是弹出窗口、覆盖层、横幅和其他精神焦点窃取和占用带宽的广告的防火墙。与过滤所有流量的防火墙不同,Pi-Hole通过充当不同的DNS服务器来工作,DNS服务器是一个广告和跟踪主机和域的数据库。

当机器向Pi-Hole DNS查询与数据库中的某个条目匹配的内容时,Pi-Hole会礼貌地不解析它,并返回一个虚拟地址。广告提供商提供的广告无法加载,而嵌入的广告则被阻止下载其资产。即使是动态插入的广告也会被这种技术捕获。

一旦你开始把东西塞进你的圆周率洞里,你会希望你能把它带到任何地方。

典型的Pi-Hole是在隐藏在家庭网络某处的同名单板计算机上运行的。这样做有很多很好的理由。例如,PI-Hole也可以是您网络的DHCP服务器。这意味着它可以自动将其DNS解析地址提供给您的所有笔记本电脑、手机、老化的台式机、智能电视和亚马逊监控设备,几乎可以将您的所有家庭设备配置为使用它。

但是,即使你是最有组织的旅途勇士,也很难带着你一起上路。你在一家咖啡馆停下来,然后花一个小时将Pi-Hole连接到用餐者的Wi-Fi上,并根据新的环境重新配置它,嗯,你不会有太多的浏览。

当然,你只需要将你的DNS指向Pi-Hole,如果你家里有一台运行Pi-Hole的服务器,你只需将你的移动设备指向那里,这些广告就会消失。为了简化这一点,Pi-Hole的挖掘者将其打包为Docker映像,您可以在网络边缘的机器上运行。此外,还有一份使用VPN对其进行配置的指南,可以让事情变得更简单。

还记得旅行吗?我们确实是这样做的,而且我们还记住,您离家越远,离您的家庭服务器就越远。这就意味着等待时间。而且我们讨厌飞行中的延迟。物理学规定,虽然这个距离意味着延迟,而且考虑到现代浏览器或应用程序可以进行多少DNS查找,这一切都会积累起来。

啊,您会说,我有一个巧妙的计划;我将在单个服务器上的某个数据中心运行我的PI-Hole。您可能会这样做,但您所改变的只是延迟取决于您与数据中心之间的距离,而不是您与家庭之间的距离。

一个全球性的PI-Hole可以让你远离广告,让你的连接免于占用带宽,这将是很棒的,但是你怎么才能建造它呢?

想象一下,您有一个连接到世界各地数十个数据中心的全球边缘网络。您可以将PI-Hole作为边缘应用部署到该网络,并获得自动低延迟和全球可用性的优势。Fly';的网络是一个拥有遍布世界各地的数据中心的全球边缘网络。所以我们用它建立了一个全局PI-Hole。

经验丰富的Fly用户将知道DNS使用UDP,这是TCP的姊妹协议,也是迄今为止在Fly上还不支持的协议。嗯,不要告诉任何人,但是我们在测试版中有UDP支持,所以建立一个全球Pi-Hole是一个很好的锻炼方式。

让PI-Hole准备好进行全局过滤不需要对PI-Hole本身进行任何更改。我们甚至使用官方的Pi-Hole Docker映像进行飞行部署。这是我们的文档文件:

它只是获取该映像并设置要侦听哪个接口的环境变量,并允许DNSMasq(PI-Hole的一个组件)侦听所有子网上的DNS流量。

配置的另一部分是fly.toml文件,它定义了我们的应用程序应该如何部署到Fly平台。您可以使用命令Fly init生成该文件的核心,当被要求时,让它生成一个名称,使用Dockerfile构建器,并将内部端口设置为80。

这几乎就是完成的所有配置。最后一步是在Pi-Hole的Web界面上设置密码。这是从环境变量WEBPASSWORD中提取的。Fly的秘密作为环境变量传递给正在运行的应用程序,因此设置它的安全方法是运行:

Fly会将Fli-Hole的一个实例放置在您要运行命令的区域附近。如果要查看应用程序仪表板,请运行:

这将打开仪表盘。从那里,您可以使用您在机密中设置的密码登录,以查看PI-Hole收集的其他设置和日志。

现在,你可以在地球上的每个飞行区域部署飞洞,但这不是明智的做法。假设你是在旅行,当然是在完全假设的意义上,去欧洲。您需要做的就是运行:

这将把法兰克福数据中心和相关区域添加到池中,并开始通过那里路由附近的流量。现在你已经准备好和你的少年派-霍尔一起去欧洲度假了。例如,如果你在英国,那么边缘网络会通过英国的边缘节点将你的请求发送给Fra,以获得最快的响应。

值得指出的是,PI-Hole的这些实例没有持久化或共享设置。每一个都是一个独立的PI-Hole。这是一个优点,也是一个很容易缓解的缺点;只需更新Dockerfile以更改设置和配置文件,然后重新部署应用程序即可获得永久性全局更新。

我们在这里展示的是,配置应用程序以在运行平台上运行可以有多快,从货架上取出Docker映像,将其连接到Web和UDP,设置配置和机密,然后将其发送到世界各地。您可能不需要到处都有PI-Hole,但您的下一个大应用程序可能需要在瞬间随处可见。