2014年12月

WiFiDog 摘要

Wifidog被设计用于替换现有的强制网络门户解决方案,我们觉得不适合下一代社会群体的需求. 特别是, 开发商想为每个热点既个性化和社会各界的广泛内容, 没有弹出窗口, 任何客户端软件和集中管理. 主要作为替代目前使用NoCat门户. 很多其他厂商使用WiFiDog (尤其是在客户端) 作为其解决方案的基础.

主要特点

  1. 强制网络门户,它可以让业主热点与用户沟通 (通过内容分发系统).
  2. Wifidog网关是专为与运行在GNU / Linux服务器和嵌入式Linux设备, E.G. Linksys的WRT54G与OpenWRT的.
  3. 多种语言支持 (通过浏览器检测和用户选择) 与使用。
    英语
    法国人
    德语
    西班牙人
    意大利人
    希腊语
    葡萄牙 (还巴西)
    瑞典
    保加利亚语
    日本
    加泰罗尼亚语
  4. 维护客户端 (热点用户) 通过ping命令检查网络连接活动, 而不是一个JavaScript窗口 (像NoCat使用). 这使得PDA和手机等设备不支持JavaScript的连接.
  5. 支持不同类型的热点:
    1)飞溅Only模式: 用户被重定向到门户, 但不必为了使用服务登录
    2)正常模式: 用户是独一无二的,必须有为了有效的电子邮件地址开户.
  6. 用户可以直接从任何热点的创建工作帐户. 新用户注册上的任何热点, 创建自己的帐户,并授予使用 15 分钟,以确认电子邮件. 如果他们不这样做, 它们断开,必须重新注册.
  7. 通过双向的心脏跳动的热点/节点监控, 所以中央服务器总是知道哪些热点/节点都已启动, 无论动态DNS的, 防火墙, 等等.
  8. 报告和统计,包括:
    10 最高带宽的消费者
    10 最频繁的用户
    10 大多数移动用户
    Anoymised SQL数据导出 (学术研究)
    有多少用户实际使用的网络故障
    连接日志
    内容显示,通过单击报告
    在网络上使用图形 (每小时, 周日和月份)
    个人用户报告, 最流行的节点 (通过访问)
    网络状态信息
    节点的状态信息
    注册登录
    用户注册报告
  9. 自动创建节点 (如果在创建该节点的人具有相关权限,并启用该功能).

最期待的功能:

  1. 用户类
  2. 每级带宽限制
  3. 每个路由器的带宽限制
  4. 每班端口阻挡
  5. 根据一天中的时间应用策略

认证服务器 (当前)

  1. 特定于节点的内容特征. Wifidog-auth的有一个非常酷的本地内容架构.
    RSS feed支持 (可选, 用的magpierss), 每个节点有一个饲料 (URL存储在数据库中, 伟大工程, 但没有GUI来编辑它尚未) 和一个网络范围的RSS提要.
  2. 配置和集成
    无需设置任何路径在Web服务器的配置文件
    所有的路径都是从配置文件编辑
    快速设置: 网络名称, 网址, 默认的RSS, 和类似的数据从配置文件中设置, 并根据需要在整个系统中,将显示.
    可以导入所有的用户和密码从NoCat密码文件 [万维网] 更多信息].
  3. 发育
    演示页,让人们能够更容易地就可以破解
    数据库抽象层具有非常不错的调试功能 (只是真正的追加在通话结束,你会看到查询, 结果, 查询计划, 而受影响的行数. 移植到另一个数据库只需要移植一个文件. 目前使用的Postgres。)
  4. 用户管理 (最终用户)
    用户可以创建并激活帐户没有管理员干预. 该用户将被授予 15 签约以便检索和验证自己的电子邮件分钟后宽限期.
    用户可以请求服务器重新发送验证邮件
    用户可以更改自己的密码
    谁忘记了自己的用户名的用户可以把它邮寄给他们.
    谁失去了他们的密码,用户可以要求系统生成一个新的,并邮寄给他们.
    电子邮件必须是有效的,但不是为了保护用户的隐私展示.
    用户可以使用电子邮件或用户名登录
    强制执行 (礼貌) 重复的电子邮件地址不会在数据库中允许
  5. 日志和监控
    MAC地址记录 (在情况下,它是在你的国家的法律规定)
    重定向到中央服务器,以便允许连接的入口页上之前发送的原始URL
    多语言支持
    脚本和SQL执行时间分解. 已实施, 只需要由模板被打包到,也可以使用.
  6. 报表及统计

网关 (当前)

  1. 支持使用备份auth服务器,如果主之一不响应.
  2. 运行时查询界面
  3. 一个规则的跳, 一个跳出不合格, 一个跳出来接受
  4. 自动检测网络接口的IP地址, 而不是它的配置文件中分别指定.

规格

网站:http://dev.wifidog.org/
价格:免费
许可证:开源
操作系统:Linux的

本文章由 http://www.wifidog.pro/2014/12/25/wifidog.html 整理编辑,转载请注明出处

DD-WRT路由器搭建付费无线热点成功

之前搞定了路由器刷机为DD-Wrt,并实现了路由器无线中继和自动翻墙。今天搞定了使用此路由器搭建付费无线热点。没错,用的是Wiwiz。但是实现了两个功能:

一、自己的设备免认证;

二、未认证前的用户也可以用支付宝付款。

而上面这两个,都是Wiwiz高级版才能实现的功能。可是,高级版$15/月啊!于是,我折腾出一个免费的方法来实现上面这两个功能。如果你想跳过我长篇大论的新手入门内容,请直接拉到文章后半部的粗体部分。

Wiwiz是什么?

Wiwiz HotSpot Builder是一个有线/无线网络热点管理系统,利用它你可以为你的热点创建一个强制门户/强制认证页面(captive portal)。简单点说,就是共享你的网络有偿给大家使用的路由器软件。

官方提供的Wiwiz安装方式:

  1. 一个是直接在dd-wrt固件里的wifidog设置。

这个方法是官方不推荐的方法。官方的不推荐理由是:

– 如创建计费型热点后,热点使用者认证前无法访问Paypal或支付宝在线充值
– 不支持黑/白名单地址列表管理
– 无法打开非内网的用户自定义认证页面URL
– 访问控制中的免认证功能

而我今天实现的两个功能就是用此方法。:)

  1. 直接在支持dd-wrt的路由器上安装他们家的软件。

主要是下面三行命令

cd; wget http://dl.wiwiz.com/hsbuilder-util-latest-DD-WRT.tar.gz
cd /jffs; tar -zxf /tmp/root/hsbuilder-util-latest-DD-WRT.tar.gz
/jffs/usr/local/hsbuilder/hsbuilder_setup4dd-wrt.sh -dest /jffs setup

因为普通版限制太多,我顺便附上卸载的命令:

/jffs/usr/local/hsbuilder/hsbuilder_setup4dd-wrt.sh -dest /jffs uninstall

实现在Wiwiz免费版中设备免认证和支付宝付款

第一种方法其实就是直接在路由器上设置Wifidog参数。就相当于iPhone不越狱,什么软件都在AppStore下载。安全、稳定。

而第二种方法,Wiwiz提供的程序我看不懂,但是这种非原生软件加载到路由器内,我觉得会影响稳定,同时一些后门的东西也说不清楚。

我用的就是第一种方法,设置如下:

登录路由器-服务-热点,然后按如下设置:
1.jpg

网关ID填入你在Wiwiz创建的热点ID。
最关键的就在:信任的Mac列表和防火墙规则设置。

把你想免授权的MAC地址填进来吧~多个MAC地址用英文逗号隔开,MAC地址中间用冒号而不是-

然后我用的防火墙的规则是:

FirewallRuleSet global {
    FirewallRule allow tcp port 443
    FirewallRule allow udp port 53
    FirewallRule allow tcp to 110.75.0.0/16
    FirewallRule allow udp to 218.85.157.99
    FirewallRule allow tcp 121.207.0.0/16
    FirewallRule allow tcp 199.7.0.0/16
    FirewallRule allow tcp 123.150.173.239/32
}
FirewallRuleSet known-users {
    FirewallRule allow to 0.0.0.0/0
}

简要解释下:

全局防火墙global:所有人都可以连接支付宝可能涉及到的IP地址及DNS地址。其中我的DNS是218.85.157.99。这样,用户即使未验证成功,也可以访问支付宝进行付款。

而已经认证成功的用户known-users,就什么都可以访问啦。

此项方案的缺点是:

暂时只支持支付宝余额付款,因为我暂时没有把各大银行可能涉及到的IP加进来。银行实在太多了,而且各大银行都用的CDN,比较麻烦。有空再研究!

后记

其实,Wiwiz是采用Wifidog技术,而Wifidog技术是开源的。而Wiwiz对高级版和提款的手续费收的确实太狠了。

如果你懂Linux,完全可以自己搭建类似wiwiz的平台,搜索wifidog即可。主要要搭建两个系统:Gateway 和 Auth-Server。

本文章由 http://www.wifidog.pro/2014/12/24/ddwrt-%E6%90%AD%E5%BB%BA%E4%BB%98%E8%B4%B9%E6%97%A0%E7%BA%BF%E7%83%AD%E7%82%B9.html 整理编辑,转载请注明出处

Wifidog+Authpuppy认证页面的配置

路由器上用的是wifidog client,服务器后端管理用的是authpuppy。
首先,选择自己的操作系统,在http://www.authpuppy.org/doc/Main_Page网站里面,我的操作系统是Linux。然后到这个网站http://www.authpuppy.org/doc/Getting_Started去下载check_configuration.php 这个文件是检测你的电脑安装authpuppy需要哪些环境,下面是我配置好的环境。
1.jpg

然后到这个http://launchpad.net/authpuppy 下载authpuppy的源码,然后把解压后的authpuppy目录放到apache2的站点目录,我的是ubuntu12.10,安装后的apache2目录是/etc/apache2/sites-available/default,
打开的内容是

<VirtualHost *:80>
   ServerAdmin webmaster@localhost

   DocumentRoot /var/www/
   <Directory />
           Options FollowSymLinks
           AllowOverride All
   </Directory>
   <Directory /var/www/authpuppy/web/>
           Options Indexes FollowSymLinks MultiViews
           AllowOverride All
           Order allow,deny
           allow from all
   </Directory>

   ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
   <Directory “/usr/lib/cgi-bin”>
           AllowOverride None
           Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
           Order allow,deny
           Allow from all
   </Directory>
   ErrorLog ${APACHE_LOG_DIR}/error.log

   # Possible values include: Debug, info, notice, warn, error, crit,
   # alert, emerg.
   LogLevel warn

   CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>

由于刚开始什么都不懂,都不知道里面目录是什么意思,所以就挑几个来说明下

DocumentRoot /var/www 这个目录是apache2服务器的根目录,也就是说当你打开浏览器在地址栏输入127.0.0.1时,就是进入/var/www/这个目录里面

<Directory /var/www/>
           Options Indexes FollowSymLinks MultiViews
           AllowOverride All
           Order allow,deny
           allow from all
   </Directory>

这个是你在apache里面架设服务器的根目录,比如我架设的是authpuppy,当我一进入authpuppy是/var/www /authpuppy/web/这个目录下的文件,其他的也没什么好讲的。所以我们应该把authpuppy目录放在/var/www/这个目录下面。

接下来就是配置这个apache这个,这个是让我最头疼的地方,配置了好几天,才搞明白是怎么回事。
首先咱们来看下http://www.authpuppy.org/doc/Getting_Started这个里面的配置内容。

2.jpg

我一开始也没多想就直接复制和粘帖,结果安装到第三步就出错了。哦,忘了说怎么安装了,在浏览器的地址栏上输入127.0.0.1查看authpuppy的目录在哪,然后进入authpuppy里面web的目录,就会在网页上跳出安装页面。

再回过来说说apache怎么配置吧,先给大家看看我的配置文件

<VirtualHost *:80>
  ServerAdmin webmaster@localhost
  ServerName authpuppy.localhost
  ServerAlias authpuppy.test

  DocumentRoot /var/www/
  DirectoryIndex index.php

   <Directory /var/www/authpuppy/web/>
          Options Indexes FollowSymLinks MultiViews
          AllowOverride All
          Order allow,deny
          allow from all
  </Directory>

  Alias /sf /var/www/authpuppy/lib/vendor/symfony/data/web/sf
  <Directory “/var/www/authpuppy/lib/vendor/symfony/data/web/sf”>
          AllowOverride All
          Allow from All
  </Directory>

  ErrorLog ${APACHE_LOG_DIR}/error.log
  # Possible values include: Debug, info, notice, warn, error, crit,
  # alert, emerg.
  LogLevel warn

  CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>

不知道大家有没发现这两个目录不一样
ErrorLog /var/log/apache2/authpuppy/error.log
CustomLog /var/log/apache2/authpuppy/access.log

我在我的电脑里面发现/var/log/apache2/里面没有authpuppy这个目录,后来我就把这两个目录改了,最后安装成功。当你见到如下图片的时候就说明你已经安装成功,接下来尽管next就行了。
3.jpg

现在authpuppy已经安装完了,先松一口气吧。

接下来我们就来配置wifidog.conf文件以实现和authpuppy相链接。
这是wifidog.conf文件

http://dev.wifidog.org/browser/trunk/wifidog/wifidog.conf

由于第一次接触路由,所以有几个地方先说明下,自己老是搞乱,给以后的新手留给经验。

最最重要的一点是,在这个配置文件里面第一格不能是空格,否则就会出错。

ExternalInterface br-lan 这个是lan口,这样才能连上路由,比如手机

GatewayInterface eth0.2 这个是wan口,通过这个与authpuppy server通信。所以主机的网卡要和wan同一网络,
我的wan口ip是192.168.2.200,要和Hostname同一网段,才能通信。

AuthServer {
Hostname 192.168.2.2
SSLAvailable yes
Path /authpuppy/web/
}
还有这个Path,一开始我是设置成 / 根目录,结果不行,出现了这个问题:
HTTP Response from Server: [HTTP/1.1 404 Not Found

后来设置成这个目录才可以。还有一点要注意的是Path的目录两边都要加/,不然也会出错。

本文章由 http://www.wifidog.pro/2014/12/24/wifidog-authpuppy%E8%AE%A4%E8%AF%81%E9%A1%B5%E9%9D%A2.html 整理编辑,转载请注明出处

刷好ddwrt系统的无线路由器如何设置,以支持无线管理功能?

首先进入路由器访问 http://192.168.11.1
账号:admin
密码:admin
注: 以上是路由器的默认访问地址,账号和密码. (具体根据您的设置而定)

1.网络基本设置界面,需要让用户根据其实际网络情况设置
如果就1个网关,DHCP需要开启
如果有多个网关,只允许其中一个网关开启DHCP,并且,保证地址池分配时不会和其他的路由冲突
举例说明:(现有网关A、网关B和网关C, IP地址分别为192.168.1.1、192.168.1.2和192.168.1.3,那么可以将路由器A的DHCP开启,路由器B和C的关闭,并且起始IP地址填写4或以后,不能小于4)

1.jpg

2.无线基本设置
SSID:也就是用户在手机内看到的信号的名称
2.jpg

3.jpg

3.无线安全设置

需要将加密方式设置为禁用。一般默认未开启

4.jpg

4.设置WIFI认证
登陆无线管理后台,生成网关ID,填写到如图位置

Wifidog守护进程: 选择“启用”
网关ID: 填写后台生成的网关ID
Web服务器名: 填写“u7pk”
端口: 使用默认值
最大用户数: 填写50
检查间隔 (秒) : 使用默认值
客户端超时: 使用默认值
鉴权服务器主机名: 填写“wifi.u7pk.com”
鉴权服务器SSL启用: 选择“禁用”
鉴权服务器HTTP端口: 使用默认值
鉴权服务器路径: 填写“/au/”
5.jpg

5.管理页面设置
管理->管理->web访问->登录前显示系统信息页-> 设为禁用

路由器密码 需要让用户改掉,并且牢记
如果忘记,需要重新设置一遍。
6.jpg

本文章由 http://www.wifidog.pro/2014/12/24/ddwrt-wifidog%E8%AE%BE%E7%BD%AE.html 整理编辑,转载请注明出处