该容器运行一个Web服务器,该Web服务器可在您导航时为实际的Firefox浏览器提供服务。在引擎盖下,容器在Apache鳄梨调味酱上运行XRDP,以向上提供Firefox窗口。

该项目的灵感来自此博客文章。 Ivonet的创作真的很酷,但是我认为我会建立自己的创作并增加一些改进。首先,我将Apache鳄梨调味酱图像更新为最新的图像。然后,我将浏览器切换到Firefox,并弄清楚了如何进行侧层扩展,以便在您构建图像时已经将它们烘烤到浏览器中。最后,我创建了一个Seccomp白名单过滤器,以增加安全性。
该构建包括Firefox和PIA VPN扩展。 Dockerfile还评论了Ublock Origin,Exentraleyes和Privacy Badger的台词。他们已经发表评论以帮助稳定,但是您可以轻松地散发它们以满足您的需求。
该图像在Docker Hub上发布,您可以使用命令运行:
$ docker run -d --rm --shm-size=1G -p 8080:8080 --name foxception lawndoc/foxception:latest
重要的是要包含所有标志,以便该码头容器可以正确运行并关闭。我建议您阅读所有所使用的旗帜及其含义(请参见下面的重要说明)。
您可以使用SECCOMP过滤器运行此图像,以最大程度地减少在成功开发的情况下允许的容器的SYSCALL。为此,您可以克隆此存储库,用提供的脚本构建图像,然后使用提供的SecComp过滤器运行:
$ git clone https://github.com/lawndoc/foxception.git
$ cd foxception
$ ./build.sh
$ sudo docker run -d --shm-size=1G -p 8080:8080 --security-opt seccomp=foxception_seccomp.json --name foxception lawndoc/foxception:latest
SecComp过滤器是使用此工具制成的,该工具将所有SYSCALL记录到内核,然后在停止容器时生成Seccomp滤波器。提供的过滤器仅允许该容器按预期运行所需的SYSCALL。我强烈建议使用SECCOMP过滤器,因为我没有对此服务进行任何类型的漏洞分析(请参见下面的重要说明)。
另外,请记住,如果您对容器进行过多修改,则可能需要其他由所提供的seccomp过滤器列出的额外的syscalls。在这种情况下,您可以使用上面提到的工具来生成新的过滤器。
要选择自己的默认扩展程序,您需要将XPI存档添加到目录/usr/share/mozilla/extensions/{EC8030F7-C20A-464F-9B0E-13A3A3A9E977384}/
必须命名存档<App ID> .xpi其中<app ID>是附加组件的应用程序ID。例如,{EC8030F7-C20A-464F-9B0E-13A3A9E97384}是Firefox的应用程序ID,是您应该将XPI Archives添加到的目录的名称。您可以通过涉及:在本地Firefox浏览器中调试已有的任何附加组件的应用程序/扩展ID。
要下载扩展程序,只需像Dockerfile一样进行卷发。您可以通过访问Firefox附加组件网站并悬停在“添加到Firefox”按钮上,通过访问Firefox附加组件网站,获取附加XPI档案的下载URL。
根据您的设置,此浏览器可能会接触到Internet。由于它在您的网络上运行,因此在浏览器上完成的任何操作都将绑定到主机网络。因此,请确保您知道它可以从哪里访问,并通过防火墙,HTPASSWD等控制访问...此外,我还没有对此容器执行任何漏洞分析,因此很可能可以做不打算做的事情。因此,您还应按照上述指示使用提供的SECCOMP过滤器运行此容器。