与君共歌 发表于 2015-4-28 10:54:53

集客盒子Wifidog-开源WIFI营销接口协议

集客盒子Wifidog接口说明       一、Wifidog概述    wifidog是搭建无线热点认证系统的解决方案之一,他比nocat更适合互联网营销思路。目前支持openwrt系统,他实现了路由器和认证服 务器的数据交互,在路由器方是用C语言代码,通过wifidog程序和linux iptables防火墙实现接入用户的认证跳转和控制,在认证服务器方 是通过php实现用户的认证流程和管理。
    优点:有开源代码,可以很方便的搭建认证系统。    缺点:标准协议是通过iptables方式实现,性能比较差,整体拉低了路由器的数据包处理速度,协议比较繁琐,对认证服务器的造成性能损耗比较大,在安全方面都是明文传输,有一定的安全隐患。    注:集客盒子wifidog在内核实现,已解决安全性和效率问题。

二、认流流程:          http://bbs.cnrouter.com/data/attachment/forum/201408/14/095121gwcj6d4bb564j543.jpg

以下配置为例:          热点服务器地址为:auth.cnrouter.com          热点服务器端口为: 80          热点服务器路径为: /          下列协议请求信息的蓝色部分参数为集客科技公司在兼容原生WIFIDOG协议的基础上为了根据不同平台新增加的参数。          认证平台搭建请参考《搭建WIFIDOG认证平台.PDF》      
三、⽹网关心跳协议          Wifidog将ping协议作为心跳机制向认证服务器发送当前状态信息。实现认证服务器 和每个节点的状态双向健康监测的机制。      
请求信息:          http://auth.cnrouter.com/ping/?    gw_id=%s    sys_load=%lu    sys_memfree=%u    sys_load=%.2f    wifidog_uptime=%lu    wmac=                路由器mac地址    gw_address=       路由器网关地址    router_type=      路由器型号    sv=                  路由固件版本
回复内容:         Pong      
例子:          GET/ping/    gw_id=jike_weixin&sys_uptime=176213&sys_memfree=35792&sys_load=0.0 0&wifidog_uptime=23602&check_time=120&wmac=00:17:a5:e0:ca: 34&wip=192.168.88.150&gw_address=192.168.8.1&router_type=JIKE-BOX %20WP650&sv=4.1.1060 HTTP/1.0    User-Agent:cnrouter wifidog    Host: auth.cnrouter.com

四、用户状态上报协议       请求格式:          http://auth_server/auth/?    stage=    ip=    mac=    token=    incoming=    outgoing=    gw_id=          路由器授权码
注意:    ip,mac,token为⽤用户的基本信息    incoming,outgoing为⽤用户的连接计数信息。    stage为请求类别,值为 counter/ login/ logout,分别表⽰示:已认证/新认证⽤用户 /超时删除的⽤用户。
回复内容:          Auth: 状态码   (注意 中间冒号和状态码之间有个空格)
    状态码为:    0   认证失败    1   认证成功
例子:          GET/auth/?stage=counters&ip=7.0.0.107&mac=00:40:05:5F: 44:43&token=4f473ae3ddc5c1c2165f7a0973c57a98&incoming=6031353&outgoing=827770HTTP/1.0    User-Agent:cnrouter wifidog    Host: auth.cnrouter.com!

五、跳转协议   对于新连接⽤用户,路由器将其产⽣生的任意url请求通过302重定向到认证平台。
请求格式:    http://auth_server/login/?    gw_id=    gw_address=    gw_port=    mac=    url=    gw_mac=   路由器mac地址
例子:    GET /login/?    gw_id=808100949391&gw_address=192.168.81.1&gw_port=80&mac=aa:bb: cc:dd:cc:ee&url=http://www.sina.com.cn/ HTTP/1.0    User-Agent:cnrouter wifidog    Host:auth.cnrouter.com

六、用户注册协议   用户在平台申请注册,开通互联网权限。由平台将⽤用户请求重定向到路由器, 完成注册。
请求格式:    http://gw_ip/wifidog/auth?    token=
例子:    GET wifidog/auth?token=12312412124    User-Agent:iphone    Host:路由器ip
    注册请求成功,以307的⽅方式跳转平台的 portal/?gw_id=
七、注册结果确认协议   认证流程⾛走完,路由器会⽤用307跳转⽅方式,将⽤用户请求重新跳转到认证平台。
请求格式:    http://auth_server/portal/?    gw_id=    auth_result=   认证结果
    auth_result 为 successed表⽰示⽤用户在路由器注册成功,failed表⽰示⽤用户在路由器注册失败。
例子:    GET /portal/?    gw_id=808100949391&auth_result=successed HTTP/1.0    User-Agent:cnrouter wifidog    Host: auth.cnrouter.com

八、路由器在线升级协议    认证流程⾛走完,路由器会⽤用307跳转⽅方式,将⽤用户请求重新跳转到认证平台。
请求格式:    http://auth_server/upgrade/?    sv=    rmac=    router_type=
响应格式:    upgrade:md5=cc5ce6c4f7147bbdb1babfc32a44338b#url=http:// 192.168.81.55/static/nolimit_wifidog.trx#ver=4.1.1080    md5   为固件的md5值    Url   为固件下载地址    Ver   为固件版本
例子:    GET /upgrade/?    sv=4.1.1069&rmac=aa:bb:cc:dd:ee:ff&router_type=JIKE-BOX%20WP650 HTTP/1.0    User-Agent:cnrouter wifidog! Host: auth.cnrouter.com    auth_result 为 successed表⽰示⽤用户在路由器注册成功,failed表⽰示⽤用户在路由 器注册失败。


phl8 发表于 2019-11-28 05:58:22

很好很强大!感谢分享!非常需要嘿嘿!
页: [1]
查看完整版本: 集客盒子Wifidog-开源WIFI营销接口协议