我正在尝试build立一个开放式设备实验室 。
这个问题集中在对testing设备所做请求的响应中的networking路由和代码注入。
我希望人们能够使用笔记本电脑进行testing,并尽可能无痛地进行testing。 我希望开发人员能够:
为了达到这个目的,我select了使用以下技术(分别):
所有这些技术都需要在所请求的网页中使用JavaScript代码段,以便打开和维护与服务器程序的套接字连接。 我想使用代理服务器来注入这些片段。
以下是我如何计划build立testingnetworking的图像:

我将很快解释实验室不同部分的作用:
这台机器是一个开发人员可以使用的机器,运行他们select的Web服务器(Apache,Nginx,IIS,无论如何, 这应该不是问题 )。 这是一个testing设备。 开发人员将不得不安装一些软件,在文件发生变化时通知LiveReload服务器(如guard-livereload )。 它将通过WiFi连接到路由器。
这些移动设备是实验室在这里的原因。 他们渲染的网页将被使用weinre进行检查,使用LiveReload进行文件更改刷新,并在其他设备使用Shim进行导航时进行导航。 他们将通过WiFi连接到路由器。
路由器将使用代理服务器来处理端口80上的所有请求。它还将使用代理服务器作为DNS服务器。
这台服务器不仅仅是一个代理服务器。 其任务是:
我正在努力的是以下几点:
</body> (“本地”是指testingnetworking,而不是向更广泛的Internet请求的请求)? 而且,代码需要注入</body> 。 我非常感谢你的想法。
您可能要查找的function是ICAP(互联网内容适配协议) 。
有一个Python框架可以处理它( http://icap-server.sourceforge.net/),Squid本身现在可能有这个function( 至less在开发中 )。
有更多的信息(和其他ICAP服务器的列表)上的S维基在http://wiki.squid-cache.org/Features/ICAP#ICAP_Servers
尽pipe我很欣赏ICAP的build议,但是开源的ICAP服务器已经过期和/或有很大的文档logging。 我花了几天的时间试图build立ICAP解决scheme,没有骰子。
所以我转向Apache作为代理。 我将其configuration为透明转发代理,并将filter链configuration为膨胀(如果内容已缩小),请执行replace,然后放气(如果最初放气)。 这就像一个魅力。
在通过代理路由所有stream量方面,我有所有设备和本地Web服务器的独立接入点。 它们位于不同的子网上,因此路由器(与代理机一样)需要在两者之间路由stream量,并通过代理发送stream量。
只有一个接入点,我有问题,出站stream量通过代理,但本地stream量没有。
一旦完成,我将会发布更详细的关于如何设置设备实验室的说明。 我仍然在找出一些东西(与这个问题无关)。