luci-app-serverchan: sync with upstream source
This commit is contained in:
parent
bdcd93bde5
commit
209028e454
@ -214,10 +214,9 @@ function get_client_usage(){
|
||||
[ "$client_usage" -ne "1" ] && return
|
||||
[ -z "$client_usage_max" ] && return
|
||||
[ -z "$get_client_usage_time" ] && get_client_usage_time=`date +%s`
|
||||
( echo ${client_usage_max: -1}|grep -q "K\|k" ) && client_usage_max=`expr ${client_usage_max%?} \* 1024`
|
||||
( echo ${client_usage_max: -1}|grep -q "M\|m" ) && client_usage_max=`expr ${client_usage_max%?} \* 1048576`
|
||||
( echo ${client_usage_max: -1}|grep -q "G\|g" ) && client_usage_max=`expr ${client_usage_max%?} \* 1073741824`
|
||||
|
||||
( echo $client_usage_max|sed -r 's/.*(.)$/\1/'|grep -q "K\|k" ) && client_usage_max=`expr ${client_usage_max%?} \* 1024`
|
||||
( echo $client_usage_max|sed -r 's/.*(.)$/\1/'|grep -q "M\|m" ) && client_usage_max=`expr ${client_usage_max%?} \* 1048576`
|
||||
( echo $client_usage_max|sed -r 's/.*(.)$/\1/'|grep -q "G\|g" ) && client_usage_max=`expr ${client_usage_max%?} \* 1073741824`
|
||||
[ "$client_usage_disturb" -eq "0" ] || [ -z "$client_usage_disturb" ] && [ -f "${dir}ipAddress" ] && local MACLIST=`cat ${dir}ipAddress|awk '{print $2}'|grep -v "^$"|sort -u`
|
||||
[ ! -z "$client_usage_disturb" ] && [ "$client_usage_disturb" -eq "1" ] && [ ! -z "$client_usage_whitelist" ] && local MACLIST=`echo "$client_usage_whitelist"`
|
||||
[ -z "$MACLIST" ] && return
|
||||
@ -282,8 +281,8 @@ function time_for_humans {
|
||||
# 计算字符真实长度
|
||||
function length_str {
|
||||
[ ! "$1" ] && return
|
||||
local length_zh=`echo "$1"|awk '{print gensub(/[\u4e00-\u9fa5]/,"","g",$0)}'|awk -F "" '{print NF}'`
|
||||
local length_en=`echo "$1"|awk '{print gensub(/[^\u4e00-\u9fa5]/,"","g",$0)}'|awk -F "" '{print NF}'`
|
||||
local length_zh=`echo "$1"|awk '{print gensub(/[\u4e00-\u9FA5A-Za-z0-9_]/,"","g",$0)}'|awk -F "" '{print NF}'`
|
||||
local length_en=`echo "$1"|awk '{print gensub(/[^\u4e00-\u9FA5A-Za-z0-9_]/,"","g",$0)}'|awk -F "" '{print NF}'`
|
||||
echo `expr $length_zh / 3 \* 2 + $length_en`
|
||||
}
|
||||
|
||||
@ -291,12 +290,16 @@ function length_str {
|
||||
function cut_str {
|
||||
[ ! "$1" ] && return
|
||||
[ ! "$2" ] && return
|
||||
[ `length_str $1` -le "$2" ] && echo "$1" && return
|
||||
local temp_length=$2
|
||||
while [ $(printf "%d" \'`echo "$1"|cut -c $temp_length`) -ge "128" ] && [ $(printf "%d" \'`echo "$1"|cut -c $temp_length`) -lt "224" ] ; do
|
||||
while [ $(length_str `echo "$1"|cut -c -$temp_length`) -lt "$2" ]; do
|
||||
temp_length=`expr $temp_length + 1`
|
||||
done
|
||||
while [ $(printf "%d" \'`echo "$1"|cut -c $temp_length`) -ge "128" ] && [ $(printf "%d" \'`echo "$1"|cut -c $temp_length`) -lt "224" ]; do
|
||||
temp_length=`expr $temp_length + 1`
|
||||
done
|
||||
temp_length=`expr $temp_length - 1`
|
||||
echo "$1"|cut -c -$temp_length
|
||||
echo $(echo "$1"|cut -c -$temp_length)"*"
|
||||
}
|
||||
|
||||
# 在线设备列表
|
||||
@ -311,7 +314,7 @@ function serverchan_first(){
|
||||
done
|
||||
wait
|
||||
unset ip IPLIST
|
||||
local IPLIST=`cat /proc/net/arp|grep "0x2\|0x6"|awk '{print $1}'|grep -v "^$"|sort -u`
|
||||
local IPLIST=`cat /proc/net/arp|grep "0x2\|0x6"|awk '{print $1}'|grep -v "^169.254."|grep -v "^$"|sort -u`
|
||||
for ip in $IPLIST; do
|
||||
read -u 5
|
||||
{
|
||||
@ -654,7 +657,7 @@ function up(){
|
||||
cat ${dir}tmp_downlist|grep -w ${1}|grep -v "^$"|sort -u >> ${dir}ipAddress
|
||||
sed -i "/$1/d" ${dir}tmp_downlist
|
||||
else
|
||||
usage down $1
|
||||
usage down $ip_mac
|
||||
local ip_name=`getname ${1} ${ip_mac}`
|
||||
blackwhitelist ${ip_mac};local ip_blackwhite=$?
|
||||
echo "$1 ${ip_mac} ${ip_name} `date +%s` ${ip_interface}" >> ${dir}ipAddress
|
||||
@ -663,13 +666,13 @@ function up(){
|
||||
[ -f "${dir}content" ] && local content=`cat ${dir}content`
|
||||
if [ -z "$title" ]; then
|
||||
local title="$ip_name 连接了你的路由器"
|
||||
local content="${markdown_splitline}#### 新设备连接${markdown_linefeed}${markdown_tab}客户端名:${markdown_space}${markdown_space}${markdown_space}${markdown_space}${markdown_space}${ip_name}${markdown_linefeed}${markdown_tab}客户端IP: ${markdown_space}${markdown_space}${markdown_space}${markdown_space}${1}${markdown_linefeed}${markdown_tab}客户端MAC:${markdown_space}${markdown_space}${markdown_space}${markdown_space}${ip_mac}"
|
||||
local content="${markdown_splitline}#### 新设备连接${markdown_linefeed}${markdown_tab}客户端名:${markdown_space}${markdown_space}${markdown_space}${markdown_space}${markdown_space}${ip_name}${markdown_linefeed}${markdown_tab}客户端IP: ${markdown_space}${markdown_space}${markdown_space}${markdown_space}${1}${markdown_linefeed}${markdown_tab}客户端MAC:${markdown_space}${markdown_space}${markdown_space}${markdown_space}${ip_mac}${markdown_linefeed}${markdown_tab}网络接口:${markdown_space}${markdown_space}${markdown_space}${markdown_space}${markdown_space}${ip_interface}"
|
||||
elif ( echo ${title}|grep -q "连接了你的路由器" ); then
|
||||
local title="${ip_name} ${title}"
|
||||
local content="${markdown_splitline}${markdown_tab}客户端名:${markdown_space}${markdown_space}${markdown_space}${markdown_space}${markdown_space}${ip_name}${markdown_linefeed}${markdown_tab}客户端IP: ${markdown_space}${markdown_space}${markdown_space}${markdown_space}${1}${markdown_linefeed}${markdown_tab}客户端MAC:${markdown_space}${markdown_space}${markdown_space}${markdown_space}${ip_mac}"
|
||||
local content="${markdown_splitline}${markdown_tab}客户端名:${markdown_space}${markdown_space}${markdown_space}${markdown_space}${markdown_space}${ip_name}${markdown_linefeed}${markdown_tab}客户端IP: ${markdown_space}${markdown_space}${markdown_space}${markdown_space}${1}${markdown_linefeed}${markdown_tab}客户端MAC:${markdown_space}${markdown_space}${markdown_space}${markdown_space}${ip_mac}${markdown_linefeed}${markdown_tab}网络接口:${markdown_space}${markdown_space}${markdown_space}${markdown_space}${markdown_space}${ip_interface}"
|
||||
else
|
||||
local title="设备状态变化"
|
||||
local content="${markdown_splitline}#### 新设备连接${markdown_linefeed}${markdown_tab}客户端名:${markdown_space}${markdown_space}${markdown_space}${markdown_space}${markdown_space}${ip_name}${markdown_linefeed}${markdown_tab}客户端IP: ${markdown_space}${markdown_space}${markdown_space}${markdown_space}${1}${markdown_linefeed}${markdown_tab}客户端MAC:${markdown_space}${markdown_space}${markdown_space}${markdown_space}${ip_mac}"
|
||||
local content="${markdown_splitline}#### 新设备连接${markdown_linefeed}${markdown_tab}客户端名:${markdown_space}${markdown_space}${markdown_space}${markdown_space}${markdown_space}${ip_name}${markdown_linefeed}${markdown_tab}客户端IP: ${markdown_space}${markdown_space}${markdown_space}${markdown_space}${1}${markdown_linefeed}${markdown_tab}客户端MAC:${markdown_space}${markdown_space}${markdown_space}${markdown_space}${ip_mac}${markdown_linefeed}${markdown_tab}网络接口:${markdown_space}${markdown_space}${markdown_space}${markdown_space}${markdown_space}${ip_interface}"
|
||||
fi
|
||||
echo "`date "+%Y-%m-%d %H:%M:%S"` ${disturb_text}新设备 ${ip_name} ${1} 连接了">> ${logfile}
|
||||
[ ! -z "$serverchan_blacklist" ] && local title="你偷偷关注的设备上线了"
|
||||
@ -741,7 +744,7 @@ function current_device(){
|
||||
local ip_mac=`getmac ${ip}`
|
||||
local ip_total=`usage get ${ip_mac}`
|
||||
local ip_name=`getname ${ip} ${ip_mac}`
|
||||
[ `length_str "$ip_name"` -gt "15" ] && local ip_name=`cut_str $ip_name 15`"*"
|
||||
local ip_name=`cut_str $ip_name 15`
|
||||
if [ "${#ip}" -lt "15" ]; then
|
||||
local n=`expr 15 - ${#ip}`
|
||||
for i in `seq 1 $n`; do
|
||||
@ -879,7 +882,7 @@ function send(){
|
||||
local ip_mac=`getmac ${ip}`
|
||||
local ip_name=`getname ${ip} ${ip_mac}`
|
||||
local ip_total=`usage get ${ip_mac}`;[ ! -z "$ip_total" ] && local ip_total="总计流量:${ip_total} "
|
||||
[ `length_str "$ip_name"` -gt "18" ] && local ip_name=`cut_str $ip_name 18`"*"
|
||||
local ip_name=`cut_str $ip_name 18`
|
||||
local send_content="${send_content}${markdown_linefeed}${markdown_tab}【${ip_name}】 ${ip}${markdown_linefeed}${markdown_tab}${ip_total}在线 ${time1}"
|
||||
unset ip_total time_down time_up time1 ip_mac ip_name
|
||||
done
|
||||
@ -973,3 +976,4 @@ while [ "$serverchan_enable" -eq "1" ]; do
|
||||
done
|
||||
sleep $sleeptime
|
||||
done
|
||||
|
||||
|
||||
Loading…
Reference in New Issue
Block a user