一种基于Openwrt路由器的广告注入的方法

文档序号:9891582阅读:993来源:国知局
一种基于Openwrt路由器的广告注入的方法【
技术领域
】[0001]本发明涉及智能路由器、嵌入式软件设计的
技术领域
,具体涉及一种基于Openwrt路由器的广告注入的方法。【
背景技术
】[0002]随着手机、平板等WiFi设备的普及,WiFi生产者——无线路由器也在不断进步,向着高速化、智能化发展。智能路由器作为新一代的无线路由器,是可以实现智能化管理的路由器,除了具有普通无线路由器的功能之外,还具有独立的操作系统,通常为0penwrt、Tomato和DD-WRT。在这些路由器上,用户可以安装各种应用,满足多样化的使用需求;开发人员可以像开发Linux程序一样编写程序代码,交叉编译后在路由器上运行。[0003]用户在WiFi下使用最多的就是进行网页的浏览。作为WiFi的提供者,在为用户提供免费的高速无线网络服务的同时,也希望能够向用户推销自己的产品和服务。目前,广告注入的实现多采用网页替换或者修改DNS服务器的方式,对用户的影响较大且不方便本地管理。因此,在路由器本地实现广告的注入功能,不仅可以扩展路由器的功能,也可以满足局域网用户的需要。[0004]HTTP代理服务器访问是一项广泛应用的技术,是一种特殊的网络服务,允许客户端通过该服务与网络终端进行非直接的连接,实现对HTTP访问行为的管理,在Windows和Linux下均有具体的实现方案和优化技术。文【I】(吴益清,谢培泰.代理服务器的原理与实现[J].信息工程大学学报,2000,1(4):40-43.)在阐述了代理服务器工作原理的基础上,给出了HTTP代理服务的设计要点以及实现的核心的代码。文【2】(孙永辉,姜昱明.HTTP代理服务器的实现[J].计算机工程与应用,2003,39(16):172-174.)介绍了HTTP协议的原理和代理模型,并将HTTP代理服务器应用于多媒体教室中,说明其在提升上网速度和系统稳定性上的实际作用。文【3】(胡居成,李侠林,黄皓.一种HTTP代理服务器的设计与实现[J].计算机工程与设计,2004,25(11):2032-2034.)重点关注HTTP代理服务器在提高性能上所采用的关键技术。通过采用进程池技术和缓存机制,HTTP代理服务器在解决进程通讯和惊群问题的同时,提升了代理服务器的响应效率,提升了整体性能。除了在Windows下实现外,文【4】(付胜利,钟方伟,傅仲逑.基于嵌入式Linux的HTTP代理服务器的研究[C]//2006北京地区高校研究生学术交流会一一通信与信息技术会议论文集(下).2006.)重点阐述了HTTP代理服务器在Linux环境下的实现方法,同时给出了如何在嵌入式系统中实现代理的设计思路,将HTTP代理服务的应用范围极大的扩展了。除了进行访问代理服务外,文【5】(周文刚,马占欣.基于代理的Web页访问语义过滤与内容重现[J].计算机技术与发展,2007,17(4):120-124.)为我们展示了HTTP代理服务器在实现Web页面中关键字过滤和语义过滤功能的巨大作用,使得其使用场景获得了拓宽,为进一步挖掘、实现代理服务器的其他功能提供了典范。【
发明内容】[0005]本发明的目的I)本发明在路由器本地端配置web服务,存储广告文件资源,实现广告资源的本地管理和快速访问。2)本发明针对局域网用户的HTTP访问,在不影响用户网页内容正常显示的情况下,在Openwrt路由器上实现自定义广告内容的注入和显示。[000?]本发明采用的技术方案为:一种基于Openwrt路由器的广告注入的方法,该方法步骤为:第一步在Openwrt路由器本地端实现Web服务,实现广告资源的本地存储和局域网内的访问;第二步是实现局域网内指定广告内容的注入,利用系统自带的网络防火墙进行端口重定向,实现对用户访问数据的统一管理,通过解析网站返回的HTML数据,查找指定标签并进行替换操作,将修改后的数据推送局域网内用户,从而实现网页内广告代码的注入和局域网内用户浏览器上广告内容的展示。[0007]本发明优点和积极效果为:[0008]1、局域网内广告注入[0009]本发明在保证原网页内容不变并且不影响用户正常的网页浏览的情况下,可以实现向局域网内用户推送广告信息。[0010]2、广告资源的路由器本地保存[0011]本发明所有的广告资源保存在本地路由器上,管理员可以方便的进行修改、更新,同时访问速度较快,基本不影响用户的正常网页浏览速度。[0012]3、本地实现[0013]本发明所有功能完全在Openwrt路由器上实现,不需要额外的设备支持。【附图说明】[0014]图1为基于Openwrt路由器的广告注入流程图;【具体实施方式】[0015]下面结合附图进一步说明本发明。[0016]本发明的技术方案分成两个部分,第一部分在Openwrt路由器本地端实现Web月艮务,实现广告资源的本地存储和局域网内的访问;第二部分是实现局域网内指定广告内容的注入,利用系统自带的网络防火墙进行端口重定向,实现对用户访问数据的统一管理,通过解析网站返回的HTML数据,查找指定标签并进行替换操作,将修改后的数据推送局域网内用户,从而实现网页内广告代码的注入和局域网内用户浏览器上广告内容的展示。[0017]I)路由器本地端Web服务的实现[0018]Openwrt路由器本身提供uhttpd服务,支持CG1、Lua脚本以及静态文件,用于实现路由器的Web管理界面。利用uhttpd服务增加一个新的Web服务器,从而将广告资源文件保存在本地供用户访问,为广告注入的实现做准备。同时,实现广告资源的本地管理,便于后续内容的增加、修改。[0019]2)局域网内的广告注入[0020]广告注入主要针对用户的网页浏览行为,面向HTTP协议进行的。局域网内的用户使用浏览器进行网站访问时,一般访问模式是“浏览器一一WebServer”。为了管理用户访问行为,我们在路由器上部署Privoxy进行代理访问,使用户的访问模式变成“浏览器一一Privoxy--WebServer”。利用端口重定向,可以实现对局域网内所有HTTP访问行为的管理控制。网页数据发送给用户之前,在Openwrt路由器上对HTML数据中特定的标签内容进行查找以及替换操作,将带有广告资源请求代码的HTML数据发送给用户,从而保证用户对网页正常浏览的情况下,实现广告推送的效果。具体流程图如图1所示:[0021]步骤1:网站返回用户请求的网页数据,数据到达路由器;[0022]步骤2:HTTP协议默认使用80端口进行通信,通过编写路由器的Iptable规则,将80端口的数据重定向到指定端口(例如8118),实现对局域网用户网页访问行为的管理;[0023]步骤3:在网页数据内查找〈/head〉和〈/body〉标签;[0024]步骤4:对找到的第一个标签进行替换操作,在〈/head〉当前第1页1 2 
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1