找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
广告投放联系QQ68610888广告投放联系QQ68610888
glinet
查看: 1613|回复: 62

【nodogsplash】分享一个Padavan可用的web认证程序,采用静态编译的

[复制链接]
发表于 2025-10-22 11:53 | 显示全部楼层 |阅读模式
本帖最后由 8267 于 2025-11-2 14:58 编辑

这两天 又从坛友 lucktu 那里了解到了 nodogsplash 这个极小占用的轻量化web认证程序 论坛搜索了一下这个软件挺老的了,新分支 opennds 完全是按照openwrt写的 完全不适合Padavan了

发现nodogsplash还是比较适合Padavan这种低性能设备用的不依赖php 仅依赖 iptables命令, 这大佬 lucktu 老是有小体积的好用的东西分享

原因是大佬 lucktu 担心自己的wifi密码老是被万能钥匙分享出去,于是需要一个能web进行二次认证的程序,而我刚好也需要,我已经向万能钥匙申请几次取消分享了



=============================================================================

采用静态编译打包了程序:  对于hiboy的Padavan启动报错: 无法无法创建 Web 认证服务器: Protocol not available 的可以添加-a参数启动

Padavan详细安装步骤: 仅供参考

1. 下载上述的程序zip包 解压出执行程序 nodogsplash ndsctl 上传到路由器 /etc/storage/bin/ 目录里 没有这个文件夹就新建一个

2. 将配置文件 nodogsplash.conf 和前端文件夹 htdocs 上传到 /etc/storage/nodogsplash/ 目录里,没有这个文件夹的也新建一个

3. 在 /etc/storage/nodogsplash/  目录里新建一个
文本,命名为  myauth.sh 写入以下内容

  1. #!/bin/sh  

  2. METHOD="$1"  
  3. MAC="$2"  
  4.   USERNAME="$3"  
  5.     PASSWORD="$4"  

  6.      if [ "$USERNAME" = "admin" ] && [ "$PASSWORD" = "password123" ] ; then  
  7.       # 认证成功:允许客户端访问互联网  
  8.       # echo参数1: 3600秒(1小时)的会话时长  
  9.       # echo参数2: 请填0   
  10.       # echo参数3: 请填0  
  11.       echo 3600 0 0  
  12. logger -t "【NoDogSplash】" "客户端:${MAC} 认证成功,已允许访问互联网!"  

  13. # 退出码:  
  14. #   0: 认证成功  
  15. #   非0: 认证失败
  16.       exit 0  

  17. else

  18. logger -t "【NoDogSplash】" "客户端:${MAC} 认证失败,用户名 ${USERNAME} 密码 ${PASSWORD}"  
  19. exit 1
  20.     fi  
  21.       
复制代码
并赋予这个 myauth.sh 执行权限

4. 编辑配置文件 nodogsplash.conf

主要修改 GatewayInterface 的值也就是接口名称 一般是  br0     
还有前端路径 WebRoot 的值 就是那个htdocs文件夹的路径

再找到下面的 # BinAuth /etc/storage/nodogsplash/myauth.sh 去掉前面的 # 就是启用密码认证
配置文件里也可以设置 mac白名单 TrustedMACList 自己的设备无需验证 多个 设备的mac地址用英文的逗号分隔

5. 写开机启动,在 自定义设置 - 脚本 - 在防火墙规则启动后 的脚本最下面 写

killall nodogsplash 2>/dev/null ; /etc/storage/bin/nodogsplash -c /etc/storage/nodogsplash/nodogsplash.conf -s >/dev/null 2>&1 &
  1. # Padavan开机自启请将命令添加在防火墙规则启动后执行的脚本里
  2. killall -15 nodogsplash 2>/dev/null ; /etc/storage/bin/nodogsplash -c /etc/storage/nodogsplash/nodogsplash.conf -s >/dev/null 2>&1 &
复制代码

然后点击保存配置,最后打开ssh 运行  mtd_storage.sh save  固化保存 防止重启丢失。 接着再手动启动一次输入上述命令即可 。在系统日志内可以看程序的输出日志了

关于hiboy的Padavan的 可能需要添加 -a 参数,并且需要替换内置的iptables防火墙文件

1.将压缩包内的 xtables-multi 一并上传到 /etc/storage/bin/xtables-multi  赋予执行权限
2.然后执行替换命令  mount --bind /etc/storage/bin/xtables-multi /bin/xtables-multi
3.并且将这个替换命令写在自定义设置 - 脚本 - 在路由器启动执行的脚本最后 并保存

===================================================================================

日志时间不对的话 加个时区即可:  TZ=utc-8 /etc/storage/bin/nodogsplash -c /etc/storage/nodogsplash/nodogsplash.conf -s &

开机启动必须写在 自定义设置- 脚本 - 在防火墙规则启动后的脚本,不能写在路由器启动后执行的脚本里!!

有些老Padavan固件无法运行 不知道为什么也有些阉割的可能也无法运行 有个检测脚本check_nodog.sh

上图的就无法运行

下图的就可以正常运行





这样哪怕知道wifi密码连接成功,也需要经过二次认证才能访问互联网啦。

htdocs 文件夹里的前端页面可以自定义 登录页面login.html   已认证的状态页面status.html   我让AI改了下前端
访问任何 http 页面的80端口就会自动跳转到认证页面



没启用 # BinAuth 的也就不需要密码 直接点连接按钮就行  设置了密码的需要正确输入才能上网



未认证过的设备访问 http://路由器ip:2050/login.html  进行认证操作(访问任意http网页也会自动跳转的)
已认证过的设备访问 http://路由器ip:2050/status/  可以看到连接状态  以及退出认证操作
已认证过的设备访问 http://路由器ip:2050/logout/ 可快速注销认证
管理页面 请访问 http://路由器ip:2050/admin  可对所有接入网络并且主动发起过http连接的设备进行认证、踢出、信任等操作
  - 在管理页面的任何操作都不会写入配置文件,程序重启状态将会还原,如果需要信任设备请写入配置文件,管理页面的操作仅作为临时授权



问:为什么管理页面看不到设备? 明明已经连接路由器了?
答:已连接路由器的的设备需要主动访问 网关ip:2050内的任意网页才能被nodog识别到,才能在管理页面显示。需要认证的设备首次访问http网页会自动跳转到 网关IP:2050/admin.html 因此会显示,而信任的设备没访问网关ip:2050内的任意网页,不会显示出来,这是因为nodog的设计,已经信任的设备不会被nodog限制联网和统计流量,避免消耗网关性能,如需显示 可以访问一次 http://网关ip:2050/status/ 即可显示在管理页面了。

问:为什么开机启动命令要写在防火墙规则启动后的脚本里?
答:nodog依赖iptables来对连接的设备进行限制的,如果防火墙重载将导致nodog的规则被清除,因此防火墙重载后必须重新启动nodog才行!

问:openwrt可以用吗?
答:openwrt的防火墙需要fw3 也就是iptables管理的也可以使用,不支持fw4 也就是nftables ,nft的请使用分支项目 openNDS

问:为什么会无法启动 报错日志为 无法创建 Web 认证服务器: Protocol not available
答:此报错最容易出现在老版本的Padavan或hiboy的Padavan里,因为此固件不支持端口复用,因此 添加 -a 参数启动即可。

问:可以针对设备进行限速吗?
答:不行,nodog应该是未写完限速相关的功能,哪怕是高内核的openwrt也不支持,请不要开启限速功能!(默认关闭的)

问:zip包里的 ndsctl 程序干什么的?可以不要吗?
答:ndsctl 是用来获取nodog状态的,你路由器空间不足 可以不用上传进去。具体作用可以 ndsctl -h 查看。

问:前端文件可以修改吗?
答:可以的,在 htdocs 文件夹内,其中 status.html 是已认证设备的状态显示, admin.html 是管理页面, login.html 是认证登录的页面。splash.jpg 是页面内使用的标题图片。
前端文件status.html login.html 里可以填写变量名 程序会自动替换为实际的值 如下图




附源码文件 可以自行打包,nodog仅 依赖libmicrohttpd 和 json-c

游客,如果您要查看本帖隐藏内容请回复

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

×

点评

网络不是不法之地,不要在这里宣泄自己的不满情绪,一定要理智。: 5.0
网络不是不法之地,不要在这里宣泄自己的不满情绪,一定要理智。: 5
楼主改版的nodogsplash比原生的nodogsplash要好用多,web也漂亮  发表于 2025-10-28 21:58

评分

参与人数 2恩山币 +3 收起 理由
tzxinqing + 2 感谢你的分享,无论怎样,你都是最无私的人 ...
liaohcai + 1 几亿网民,我们俩竟然神奇的在恩山相遇了! ...

查看全部评分

只谈技术、莫论政事!(点击见详情) | 互相尊重、友善交流、切勿过度反应、玻璃心。胡乱输入灌水等操作将会被封禁ID。
发表于 2025-10-22 11:56 | 显示全部楼层
不错 支持下 虽然我没有用MIPS了

点评

其实楼主误导了,这个插件不仅(mips)padavan 能用,最能用的是 openwrt,应该在那边去分享。 openwrt,ubuntu 之类的,直接可以在自己的软件源里安装,然后甚至不用设置,直接可用,非常方便。 为自己的 wifi 多  详情 回复 发表于 2025-10-22 15:29
我还在继续用 Padavan主力军 钉子户  详情 回复 发表于 2025-10-22 13:32
只谈技术、莫论政事!(点击见详情) | 互相尊重、友善交流、切勿过度反应、玻璃心。胡乱输入灌水等操作将会被封禁ID。
回复 支持 2 反对 0

使用道具 举报

发表于 2025-10-22 13:14 | 显示全部楼层
看看怎么样好不好用
只谈技术、莫论政事!(点击见详情) | 互相尊重、友善交流、切勿过度反应、玻璃心。胡乱输入灌水等操作将会被封禁ID。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2025-10-22 13:32 | 显示全部楼层
iamyangyi 发表于 2025-10-22 11:56
不错 支持下 虽然我没有用MIPS了

我还在继续用  Padavan主力军 钉子户
只谈技术、莫论政事!(点击见详情) | 互相尊重、友善交流、切勿过度反应、玻璃心。胡乱输入灌水等操作将会被封禁ID。
回复 支持 反对

使用道具 举报

发表于 2025-10-22 15:29 | 显示全部楼层
iamyangyi 发表于 2025-10-22 11:56
不错 支持下 虽然我没有用MIPS了

其实楼主误导了,这个插件不仅(mips)padavan 能用,最能用的是 openwrt,应该在那边去分享。

openwrt,ubuntu 之类的,直接可以在自己的软件源里安装,然后甚至不用设置,直接可用,非常方便。

为自己的 wifi 多加一道防线,二次验证。它是鼎鼎大名的 wifidog 反面,不要数据库的,简简单单的 WiFi dog。

点评

感谢,支持nftables 不  详情 回复 发表于 2025-10-22 16:50
只谈技术、莫论政事!(点击见详情) | 互相尊重、友善交流、切勿过度反应、玻璃心。胡乱输入灌水等操作将会被封禁ID。
回复 支持 1 反对 0

使用道具 举报

发表于 2025-10-22 15:31 | 显示全部楼层
感谢楼主为 padavan 增加一道亮色,让 padavan 更加闪亮!!

也感谢楼主帮我编译了很多修正版的 nodog,非常感谢!!
只谈技术、莫论政事!(点击见详情) | 互相尊重、友善交流、切勿过度反应、玻璃心。胡乱输入灌水等操作将会被封禁ID。
回复 支持 1 反对 0

使用道具 举报

 楼主| 发表于 2025-10-22 16:15 | 显示全部楼层
lucktu 发表于 2025-10-22 15:29
其实楼主误导了,这个插件不仅(mips)padavan 能用,最能用的是 openwrt,应该在那边去分享。

openwrt ...

也没有吧? 这个程序好老了,一几年论坛里就有人发了,openwrt的可以直接安装,可以忽略,但是直接编译也无法在Padavan里用,我这个只是在原版里加了个iptables命令适配Padavan,给Padavan用 不然Padavan用不了

点评

有些openwrt固件没有luci界面,我折腾了好久。 只能用楼主的  详情 回复 发表于 2025-10-26 00:54
只谈技术、莫论政事!(点击见详情) | 互相尊重、友善交流、切勿过度反应、玻璃心。胡乱输入灌水等操作将会被封禁ID。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2025-10-22 16:16 | 显示全部楼层
lucktu 发表于 2025-10-22 15:31
感谢楼主为 padavan 增加一道亮色,让 padavan 更加闪亮!!

也感谢楼主帮我编译了很多修正版的 nodog, ...

不知道EntWare有没有针对Padavan做适配,没注意看他的源了。下次看看他的
只谈技术、莫论政事!(点击见详情) | 互相尊重、友善交流、切勿过度反应、玻璃心。胡乱输入灌水等操作将会被封禁ID。
回复 支持 反对

使用道具 举报

发表于 2025-10-22 16:24 | 显示全部楼层
entware 里没有 nodog
只谈技术、莫论政事!(点击见详情) | 互相尊重、友善交流、切勿过度反应、玻璃心。胡乱输入灌水等操作将会被封禁ID。
回复 支持 反对

使用道具 举报

发表于 2025-10-22 16:50 | 显示全部楼层
lucktu 发表于 2025-10-22 15:29
其实楼主误导了,这个插件不仅(mips)padavan 能用,最能用的是 openwrt,应该在那边去分享。

openwrt ...

感谢,支持nftables 不
只谈技术、莫论政事!(点击见详情) | 互相尊重、友善交流、切勿过度反应、玻璃心。胡乱输入灌水等操作将会被封禁ID。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2025-10-22 17:07 | 显示全部楼层
iamyangyi 发表于 2025-10-22 16:50
感谢,支持nftables 不

nft的用他的分支,opennds   专门为openwrt写的,就是用的nft ,功能更全面
只谈技术、莫论政事!(点击见详情) | 互相尊重、友善交流、切勿过度反应、玻璃心。胡乱输入灌水等操作将会被封禁ID。
回复 支持 反对

使用道具 举报

发表于 2025-10-22 21:04 | 显示全部楼层


    【nodogsplash】分享一个Padavan可用的web认证程序,采用静态编译的  
只谈技术、莫论政事!(点击见详情) | 互相尊重、友善交流、切勿过度反应、玻璃心。胡乱输入灌水等操作将会被封禁ID。
回复 支持 反对

使用道具 举报

发表于 2025-10-22 23:14 | 显示全部楼层
不错,可以直接在openwrt下运行
只谈技术、莫论政事!(点击见详情) | 互相尊重、友善交流、切勿过度反应、玻璃心。胡乱输入灌水等操作将会被封禁ID。
回复 支持 1 反对 0

使用道具 举报

发表于 2025-10-23 01:45 | 显示全部楼层
感谢大佬分享
只谈技术、莫论政事!(点击见详情) | 互相尊重、友善交流、切勿过度反应、玻璃心。胡乱输入灌水等操作将会被封禁ID。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2025-10-23 16:01 | 显示全部楼层
liaohcai 发表于 2025-10-22 23:14
不错,可以直接在openwrt下运行

这次重新上传了解决了有ipv6地址,没有认证也可以上网的问题了。不知道openwrt是否有效

点评

网络不是不法之地,不要在这里宣泄自己的不满情绪,一定要理智。: 5.0
网络不是不法之地,不要在这里宣泄自己的不满情绪,一定要理智。: 5
有效果!  发表于 2025-10-26 11:41
只谈技术、莫论政事!(点击见详情) | 互相尊重、友善交流、切勿过度反应、玻璃心。胡乱输入灌水等操作将会被封禁ID。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

欢迎大家光临恩山无线论坛上一条 /1 下一条

有疑问请添加管理员QQ86788181|手机版|小黑屋|Archiver|恩山无线论坛(常州市恩山计算机开发有限公司版权所有) ( 苏ICP备05084872号 )

GMT+8, 2025-11-13 15:50

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

| 江苏省互联网有害信息举报中心 举报信箱:js12377 | @jischina.com.cn 举报电话:025-88802724 本站不良内容举报信箱:68610888@qq.com

快速回复 返回顶部 返回列表