【LEDE】树莓派上玩LEDE终极指南-86-OpenWrt增加踢人功能
原理
ubus call hostapd.wlan1 del_client "{'addr':'AC:0D:1B:D0:60:29', 'reason':5, 'deauth':false, 'ban_time':0}"
步骤
修改
/usr/lib/lua/luci/view/admin_status/index.htm
@line 809
<fieldset class="cbi-section">
<legend><%:Associated Stations%></legend>
<table class="cbi-section-table valign-middle" id="wifi_assoc_table">
<tr class="cbi-section-table-titles">
<th class="cbi-section-table-cell"> </th>
<th class="cbi-section-table-cell"><%:Network%></th>
<th class="cbi-section-table-cell"><%:MAC-Address%></th>
<th class="cbi-section-table-cell"><%:Host%></th>
<th class="cbi-section-table-cell"><%:Signal%> / <%:Noise%></th>
<th class="cbi-section-table-cell"><%:RX Rate%> / <%:TX Rate%></th>
<th class="cbi-section-table-cell">Kick</th>
</tr>
<tr class="cbi-section-table-row">
<td colspan="6"><em><br /><%:Collecting data...%></em></td>
</tr>
</table>
</fieldset>
@file end
<script type="text/javascript">//<![CDATA[
function kick_client(iface, mac) {
(new XHR()).post('<%=url('admin/status/overview/kick')%>/', { token: '<%=token%>',
iface: iface,
mac: mac },
function(x)
{
}
);
}
//]]></script>
@line 602
tr.insertCell(-1).innerHTML = String.format(
'<span class="ifacebadge" title="<%:Signal%>: %d <%:dBm%> / <%:Noise%>: %d <%:dBm%> / <%:SNR%>: %d"><img src="%s" /> %d / %d <%:dBm%></span>',
assoclist[i].signal, assoclist[i].noise, assoclist[i].signal - assoclist[i].noise,
icon,
assoclist[i].signal, assoclist[i].noise
);
tr.insertCell(-1).innerHTML = wifirate(assoclist[i], true).nobr() + '<br />' + wifirate(assoclist[i], false).nobr();
tr.insertCell(-1).innerHTML = String.format("<input class='cbi-button cbi-input-remove' type='button' value='Kick' onclick='kick_client(\"%s\", \"%s\")' />", assoclist[i].ifname, assoclist[i].bssid)
修改
/usr/lib/lua/luci/controller/admin/status.lua
function index()
entry({"admin", "status"}, alias("admin", "status", "overview"), _("Status"), 20).index = true
entry({"admin", "status", "overview"}, template("admin_status/index"), _("Overview"), 1)
entry({"admin", "status", "overview", "kick"}, post("act_kick")).leaf = true
.....
end
-- 不要忘记增加这个方法,这个方法是踢人的!
function act_kick()
local iface = luci.http.formvalue("iface")
local mac = luci.http.formvalue("mac")
if iface and mac then
local cmd = string.format("ubus call hostapd.%s del_client \"{'addr':'%s', 'reason':5, 'deauth':false, 'ban_time':0}\"", iface, mac)
luci.sys.call(cmd)
end
luci.http.status(200, "OK")
end
重启OpenWrt
效果图
【LEDE】树莓派上玩LEDE终极指南-86-OpenWrt增加踢人功能相关推荐
- 【LEDE】树莓派上玩LEDE终极指南-95-Aria2不能下载https的解决方法
今天在下载https链接的时候,突然发现我的Aria2没法下载https,起初是怀疑Webui的不兼容,但是换了YAAW和AriaNG之后同样的状况依然出现.所以这应该是Aria2配置的问题了. 在G ...
- 【LEDE】树莓派上玩LEDE终极指南-90-挂卡
这里先吐槽一下kmod-rtl8xxxx这个驱动.安装了这个驱动之后,插入8xxx网卡的时候,会去加载这个驱动而不加载设备对应的驱动,导致我三张8188的卡全部连接上不稳定,秒掉线.关键是自己的操作也 ...
- 【LEDE】树莓派上玩LEDE终极指南-81-从U盘启动(并不推荐)
OpenWrt设置从U盘启动 2017/01/08 准备一个足够大的U盘(sd卡,我的就是),建议大于256M,我这里选用的是一张马路上捡到的sd卡,大小2G,虽然是捡到的,但是质量还是挺好的,这几年 ...
- OpenYurt 入门 - 在树莓派上玩转 OpenYurt
作者 | 唐炳昌 来源|阿里巴巴云原生公众号 随着边缘计算的快速发展,越来越多的数据需要到网络的边缘侧进行存储.处理和分析,边缘的设备和应用呈爆发式增长.如何高效的管理边缘侧的资源和应用是业界面临的一 ...
- OpenYurt入门-在树莓派上玩转OpenYurt
简介:随着边缘计算的快速发展,越来越多的数据需要到网络的边缘侧进行存储.处理和分析,边缘的设备和应用呈爆发式增长.如何高效的管理边缘侧的资源和应用是业界面临的一个主要问题.当前,采用云原生的方法,将云 ...
- 树莓派可以玩linux游戏吗,如何在树莓派上玩经典PC游戏
Raspberry Pi提供了令人难以置信的游戏和其他软件库.您可能知道它为模拟其他平台奠定了良好的基础,但是您知道它可以运行复古的PC软件吗? 在Windows之前,就有MS-DOS.可以通过几种不 ...
- 用腾讯优图AI视觉模组在树莓派上玩吃火锅体感游戏
今年上半年,由于疫情原因,Switch 大火,Switch 平台上有许多款体感游戏,比如:健 身环大冒险.马力欧赛车.舞力全开.这些游戏凭着"硬核健身"的标签吸引了大量玩家, 通过 ...
- 在“树莓派”上玩语音识别(附代码)
语音助理已经迅速成为一个重要的产品功能,这要归功于流行的基于智能语音的产品,例如 Amazon Echo 和 Google Home.虽然语音服务提供商为开发人员提供了应用程序编程接口 (API) 支 ...
- linux模拟树莓派,树莓派使用入门:树莓派上的模拟器和原生 Linux 游戏
原标题:树莓派使用入门:树莓派上的模拟器和原生 Linux 游戏 树莓派是一个很棒的游戏平台.在我们的系列文章的第九篇中学习如何开始使用树莓派. -- Anderson Silva 回到我们关于树莓派 ...
最新文章
- Linux中内存buffer和cache的区别
- java简单的异常_Java的简单理解(8)-异常(Exception)
- CVTRES : fatal error CVT1100: 资源重复。类型: BITMAP LINK : fatal error LNK1123: 转换到 COFF 期间失败: 文件无效或损坏...
- 频率响应函数与数字滤波实验_WKD3419振动测试与控制教学实验系统
- python numeric_Python pandas.to_numeric函数方法的使用
- python自动化测试工具开发_Python+Selenium自动化测试教程连载(2)
- FLOPs衡量模型复杂度
- pb数据窗口怎么调用视图_大数据架构如何做到流批一体?
- 思想篇(3)—IT运用模式的轮回
- JavaSE基础——网络编程
- 关于百度地图海量打点的问题
- Android开发跳坑之路
- why-not 和 why 问题简介
- android 内存分析工具ASAN 学习
- Linux环境安装mysql8
- 一次分布式架构cms系统页面静态化模块开发经历
- ECS运维神器 之 阿里云云助手
- 计算机高级语言与型号是否有关,高级语言与cPU型号无关吗?
- java约瑟夫环链式结构_顺序表实现解约瑟夫环_Java | 学步园
- 号称下一代消息中间件!来看看它有多牛逼