|
本帖最后由 401626436 于 2020-6-27 18:10 编辑
各位新年好!恭喜发财大吉大利今晚...我去!
基于shell写的信号衰减比较踢客户端下线脚本,支持弱信号剔除与强信号剔除
根据原帖修改而来,常规感谢一下原作者虽然不知道他是谁男的女的?!原帖传送门
本人小了白了兔一枚,大婶和非大婶们如果不感冒的请离开,愿意留下交流的请指教一二
步入正题
用循环脚本重复运行 pgrep bash 查看进程共有两个进程其中一个就是检测脚本本身也就是说它始终是单线程运行的并且pid不变
脚本间是以传递方式运行的多客户端秒踢不延时,至少目前没发生过死机 。参见 exec 自行百度
#--------------------------------------------------------------------------------------------------------------------------------------------------------------#
镇下楼先
免刷机编译支持一下打包ipk下载
懒得编辑直接换附件 js版文件试例
lua版自己按旧的改吧能让配置输出为以下实现就行,其他懒得改自己根据判断忽略就好!
预编译源码
#--------------------------------------------------------------------------------------------------------------------------------------------------------------#
代码请用电脑查看手机看不到
闪现脚本:
主脚本:自行github上查看恩山编辑好保存就乱码进入传送阵
回调脚本:
- #!/bin/sh
- COT=0
- while [ $COT -le 0 ] #执行循环数
- do
- COT=`expr $COT + 1` #共循环1次
- #用于获取无线网卡数量 原理:判断无线配置“wireless”中有几个“ssid”热拔插usb无线网卡易出错
- a=(`cat /etc/config/wireless | grep -c "ssid"`)
- #判断检测次数
- if [ -f "/tmp/kickass/Record" ];then
- Record=(`cat /tmp/kickass/Record | grep -c "1"`)
- if [[ "$Record" = "10" ]]; then
- #获取系统时间
- system=(`date +%f`)
- time=${system}
- #判断条件成立,停止脚本 最终检测 万一发生奇迹呢
- if [[ "$a" = "0" ]]; then
- wireless=0
- echo "$time -----------经过10次检测后---------" >> /var/log/kickass.log
- echo "$time -----------没有发现无线网卡---------" >> /var/log/kickass.log
- echo "$time ---------请断电后接入无线网卡------" >> /var/log/kickass.log
- fi
- fi
- #无线等于零
- if [[ "$wireless" = "0" ]]; then
- rm -f /tmp/kickass/Record
- exec echo "$time -----------脚本已停止运行-----------" >> /var/log/kickass.log
- fi
- fi
- #判断条件成立,跳转至工作主脚本
- if [[ "$COT" = "1" ]]; then
- exec bash /usr/share/kickass/Main
- fi
- done
复制代码
自启动和状态控制脚本:
- #!/bin/sh /etc/rc.common
- START=50
- start()
- {
- exec bash /usr/share/kickass/Main &
- }
- stop()
- {
- echo "1" >> /usr/share/kickass/stop
- sleep 1
- cat /usr/share/kickass/stop | sed '$d' > /usr/share/kickass/stop
- }
- restart()
- {
- /etc/init.d/kickass stop
- /etc/init.d/kickass start
- }
复制代码 luci脚本:用来查看日志的
lua:
- module("luci.controller.kickass", package.seeall)
- local fs = require "nixio.fs"
- local sys = require "luci.sys"
- local template = require "luci.template"
- function index()
- entry({"admin", "status", "kickass"}, call("kickass_log"), _("kickass"), 6).leaf = true
- end
- function kickass_log()
- local logfile = fs.readfile("/var/log/kickass.log") or ""
- template.render("kickass/kickass", {content = logfile})
- end
复制代码 html5
- <%+header%>
- <h2 name="title"><%:Kickass Log%></h2>
- <div id="kickass_log">
- <textarea style="width: 100%" readonly="readonly" wrap="off" rows="<%=content:cmatch("\n")+1%>" id="content_id"><%=content:pcdata()%></textarea>
- </div>
- <%+footer%>
复制代码 中文语言包:
- msgid "kickass"
- msgstr "剔除日志"
- msgid "Kickass Log"
- msgstr "无线剔除日志"
- msgid "Weak signal remove"
- msgstr "弱信号剔除"
- msgid "Strong signal remove"
- msgstr "强信号剔除"
复制代码 脚本仍然有bug 也不知道shell的数学是谁教的?我很无语比如9必80大7必70大以此类推。。。
官方和lean大佬不停的在更新没钱买硬盘,原本是一块固态加一块466G机械,ubuntu装在机械盘里靠引导进入,进系统偶然发现会死机回windows用DiskGenius检测有坏道然后选了检测修复结果半天过去,发现进度条不动也不知道是软件卡死还是假死也停不了管不掉就任务管理器强行关了,结果硬盘废了数据读不出也写不了更不能格式化,就这样之前的源码也没有了,所以吓的赶紧注册了个“哥艾特很牛B”电脑配置太废只能物理机但只有一块硬盘为了不影响原有系统就搜了关于vhd装ubuntu的教程结果得道了个关键字“wubi"这是一个可以用剩余储存资源装ubuntu的工具第一次是自动的但如果你删了第二次按装就需要自已改引导,工具和固件一起丢网盘了
我的仓库链接剔除脚本完整版传送门
openwrt上开源驱动几乎通用
编译步骤:
1. git clone https://github.com/zaiyuyishiyoudu/luci-app-kickass.git
2. 将luci-app-kickass内的luci-app-kickass复制或剪切到package内粘贴
3. 进入定制界面Applications内勾选luci-app-kickass
4. 根据例子修改wifi.lua添加阀值控制选项
5. 编译不用多说了。。。
软路由x86固件下载
固件说明:
1.除了lean软件包里带有的功能外,添加了syncthing同步和微力同步并且两个都有手机客户端
2.luci的访问默认web服务器依旧是uhttpd,但改由nginx进行代理访问集成现成的php环境和tcpdump usbip
集成可选的大部分无线驱动包括pci的与usb的所已可挂卡中继同网段无线中继等!
3.可以很方便的安装KodExplorer(可道云)站点主目录与luci相同“/www"
3.1.在可道云官网https://kodcloud.com/下载主程序解压到违禁词语,请勿再发磁盘并创建将快捷方式到"/www"
3.2.命令方式:
下载:
比如磁盘是sda1 这个在"挂载点"上查看 建议格式化成ext4方便兼容 ntfs也行但可能会出现显示乱码情况
创建文件夹便于区分:
mkdir /mnt/sda1/www "www"是自己取的名称这个随意
wget -P /mnt/sda1/www http://static.kodcloud.com/update/download/kodexplorer4.37.zip
解压:
unzip kodexplorer4.37.zip
赋予777权限:
chmod -Rf 777 ./*
删除下的包:如果你要保留可以不执行这一条
rm /mnt/sda1/www/kodexplorer4.37.zip
创建快捷方式:
ln -s /mnt/sda1/www /www/kdy "kdy"也是自已取的名称随意 之后用ip/kdy 比如http(s)://192.168.1.1/kdy 可以是lan ipv6地址 就可以访问可道云了
固件ipv6的https监听存在ssl问题不能访问http没问题 ipkg与升级固件也存在问题,也不知道是不是官方源码的问题还是换了的luci的原因
usbip百度了一下说是可以通过网络访问局域网内其他设备上的usb设备和插在本机无异速度取决于带宽 教程传送门
wubi传送门
用到的仓库链接:
openwrt官方传送门
lean传送门
liudf0716传送门
Aslin-Ameng传送门
openwrt-develop传送门
本来想收个2nb的,可能是过年没人回复但是看到在我之后发帖的都有人跟帖所以因该或许也许但是好吧!有人看是新人贴觉得肯定写不出什么好东西还收费就特别的反感!
取消收费了!没人看就让他沉水吧!不看是你的"损失"留给需要的人关键字搜索吧!标题已经改成了关键字,实验过是不论恩山还百度都搜不到,只有挖坟贴,通过搜索来到本帖的算你"运气"好!虽然这到时候可能早已过时或链接失效
加点其他东西
linux ubuntu自带工具连接smb ftp 远程终端
如你所见就是这样! 如果你是物理机就不用回widows用winSCP了
远程终端:
初始化连接 ssh-keygen -R ip地址
连接 ssh 用户名@ip地址 提示输入yes同意连接 下次就不会提示了除非变更,然后输入远程用户密码 如果变更那就重新初始化
不用回windows用putty了
scp传输文件:
scp终端所在文件夹文件名 用户名@服务器地址:服务器文件路径
scp -r /home/xxx/xxx/ root@192.168.1.1:/xxx/xxx/
本贴已完!!!
希望能有人写个c版本的并添加详细注释,主要是想学语法,越简单越好复杂了看不懂!
|
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?立即注册
×
|