update 2023-06-19 23:35:16

This commit is contained in:
github-actions[bot] 2023-06-19 23:35:16 +08:00
parent dbe129921f
commit 6ed9a89ebd
4 changed files with 47 additions and 28 deletions

View File

@ -1,7 +1,7 @@
include $(TOPDIR)/rules.mk
PKG_NAME:=luci-app-wechatpush
PKG_VERSION:=3.3.1
PKG_VERSION:=3.3.2
PKG_RELEASE:=12
PKG_MAINTAINER:=tty228 <tty228@yeah.net>

View File

@ -1099,7 +1099,7 @@ function get_disk() {
pve_disk_names=()
# 查询本地硬盘名
local_disk_names=($(df -h | awk '/\/dev\/sd/ {print $1}' | awk -F '/' '{print $NF}' | sort -u))
local_disk_names=($(lsblk | awk '$NF=="disk" {print $1}' | sort -u))
local_disk_tags=($(for _ in "${local_disk_names[@]}"; do echo "local"; done))
# 查询远程硬盘名
@ -1116,6 +1116,7 @@ function get_disk() {
for i in "${!all_disk_names[@]}"; do
tmp_name=${all_disk_names[i]}
tmp_tag=${all_disk_tags[i]}
error_pattern="No such device|Unable to detect device type|Unknown USB bridge|QEMU HARDDISK"
unset tmp_command disk_type
# 判断硬盘类型
@ -1124,37 +1125,41 @@ function get_disk() {
disk_type="_pve"
fi
file_path="${dir}disk_info/${tmp_name}${disk_type}"
# 如果不能获取值,使用分区名重试(因为不清楚是 OpenWrt 的原因还是 smartctl 版本的原因,使用出错重试的方式)
eval ${tmp_command} smartctl -i -n standby "/dev/${tmp_name}" | grep -qE "$error_pattern" && {
tmp_name=$(df -h | awk "/^\\/dev\\/${tmp_name}/ {print \$1}" | awk -F '/' '{print $NF}' | head -n1)
[ -z "$tmp_name" ] && continue
}
# 手上的硬盘不能休眠,不确定命令是否会唤醒硬盘,每天只运行一次
last_disk_time=$(date -r "${file_path}" +%s 2>/dev/null) || last_disk_time=0
if [ $(( $(date +%s) - $last_disk_time )) -gt 86000 ]; then
disk_info=$(eval ${tmp_command} smartctl -i -n standby "/dev/${tmp_name}")
echo "$disk_info" | grep "No such device\|Unknown USB bridge\|QEMU HARDDISK" && {
echo "$disk_info" | grep -qE "$error_pattern" && {
continue
} || \
echo "$disk_info" | grep "STANDBY" && {
echo "$disk_info" | grep -q "STANDBY" && {
echo "$disk_info" > "${file_path}"
} || \
eval ${tmp_command} smartctl -a -j /dev/${tmp_name} > ${file_path}
fi
# 硬盘状态
if [ -f "${file_path}" ] && ( ! cat "${file_path}" | grep -q -v "STANDBY" ); then
disk_name=$(awk '/Device Model/{print $NF}' "$file_path")
[[ -n $disk_name && $disk_name != null && $disk_name != 0 ]] && {
[ $(length_str "$disk_name") -gt "20" ] && disk_name=$(echo "$disk_name" | awk '{print $1, $NF}')
[ $(length_str "$disk_name") -gt "20" ] && disk_name=$(cut_str "$disk_name" "20")
disk_name=$(cut_str "$disk_name" "20")
disk_name="${disk_name}_$(eval ${tmp_command} lsblk -o NAME,SIZE | awk "/^${all_disk_names[i]}/ {print \$NF}")"
}
printf "\n${str_title_start} 硬盘名称:${disk_name}${disk_type}${str_title_end}\n${str_tab}硬盘休眠中" >> "$output_dir/get_disk"
elif [ -f "${file_path}" ]; then
# 硬盘名称
disk_name=$(jq -r .model_name ${file_path})
[[ -n $disk_name && $disk_name != null && $disk_name != 0 ]] && {
[ $(length_str "$disk_name") -gt "20" ] && disk_name=$(echo "$disk_name" | awk '{print $1, $NF}')
[ $(length_str "$disk_name") -gt "20" ] && disk_name=$(cut_str "$disk_name" "20")
disk_name=$(cut_str "$disk_name" "20")
disk_name="${disk_name}_$(eval ${tmp_command} lsblk -o NAME,SIZE | awk "/^${all_disk_names[i]}/ {print \$NF}")"
}
printf "\n${str_title_start} 硬盘名称:${disk_name}${disk_type}${str_title_end}" >> "$output_dir/get_disk"
# 硬盘错误
@ -1172,12 +1177,12 @@ function get_disk() {
# 通电时间
disk_time=$(jq -r .power_on_time.hours ${file_path})
[[ -n $disk_time && $disk_time != null ]] && printf "\n${str_tab}通电时间:${disk_time}h" >> "$output_dir/get_disk"
# 使用空间
disk_use=$(df -h | grep -w "^/dev/${tmp_name}" | awk '{print $5}' | sort -u)
[ -n "$disk_use" ] && [ -n "${disk_use// }" ] && echo -e -n "\n${str_tab}使用空间${disk_use}" >> "$output_dir/get_disk"
# 使用寿命
# 空间使用
disk_use=$(eval ${tmp_command} lsblk -o NAME,FSUSE%,TYPE | awk -v part_name="${all_disk_names[i]}" '$NF == "part" && $1 ~ part_name && NF > 2 {sub(".*" part_name, part_name, $1); printf "%s: %s ", $1, $2} END {print ""}')
[ -n "$disk_use" ] && [ -n "${disk_use// }" ] && echo -e -n "\n${str_tab}空间使用:${disk_use}" >> "$output_dir/get_disk"
# 寿命使用
disk_health=$(jq -r .nvme_smart_health_information_log.percentage_used ${file_path})
[[ -n $disk_health && $disk_health != null ]] && echo -e -n "\n${str_tab}使用寿命${disk_health}%" >> "$output_dir/get_disk"
[[ -n $disk_health && $disk_health != null ]] && echo -e -n "\n${str_tab}寿命使用:${disk_health}%" >> "$output_dir/get_disk"
fi
done
}
@ -1528,15 +1533,29 @@ function send(){
fi
if [ -n "$waninfo_enable" ]; then
send_content="${send_content}${str_splitline}${str_title_start} WAN 口信息${str_title_end}${str_linefeed}${str_tab}接口 IPv4:${send_wanIP}"
send_content="${send_content}${str_linefeed}${str_tab}外网 IPv4:${send_hostIP}"
send_content="${send_content}${str_splitline}${str_title_start} WAN 口信息${str_title_end}"
if [ "$send_wanIP" == "$send_hostIP" ]; then
send_content="${send_content}${str_linefeed}${str_tab}IPv4: ${send_wanIP}"
elif [ "$get_ipv4_mode" -eq "1" ]; then
send_content="${send_content}${str_linefeed}${str_tab}接口 IPv4: ${send_wanIP}"
[ -n "$send_hostIP" ] && send_content="${send_content}${str_linefeed}${str_tab}外网 IPv4: ${send_hostIP}"
elif [ "$get_ipv4_mode" -eq "2" ]; then
[ -n "$send_wanIP" ] && send_content="${send_content}${str_linefeed}${str_tab}接口 IPv4: ${send_wanIP}"
send_content="${send_content}${str_linefeed}${str_tab}外网 IPv4: ${send_hostIP}"
fi
if [ -n "$ipv6_enable" ]; then
send_content="${send_content}${str_linefeed}${str_tab}接口 IPv6:${send_wanIPv6}"
send_content="${send_content}${str_linefeed}${str_tab}外网 IPv6:${send_hostIPv6}"
if [ "$send_wanIPv6" == "$send_hostIPv6" ]; then
send_content="${send_content}${str_linefeed}${str_tab}IPv6: ${send_wanIPv6}"
elif [ "$get_ipv6_mode" -eq "1" ]; then
send_content="${send_content}${str_linefeed}${str_tab}接口 IPv6: ${send_wanIPv6}"
[ -n "$send_hostIPv6" ] && send_content="${send_content}${str_linefeed}${str_tab}外网 IPv6: ${send_hostIPv6}"
elif [ "$get_ipv6_mode" -eq "2" ]; then
[ -n "$send_wanIPv6" ] && send_content="${send_content}${str_linefeed}${str_tab}接口 IPv6: ${send_wanIPv6}"
send_content="${send_content}${str_linefeed}${str_tab}外网 IPv6: ${send_hostIPv6}"
fi
fi
interfaceuptime=`getinterfaceuptime`
[ ! -z "$interfaceuptime" ] && wanstatustime=$(printf "在线时间:%d天%d时%d分%d秒" $((interfaceuptime / 86400)) $(((interfaceuptime % 86400) / 3600)) $(((interfaceuptime % 3600) / 60)) $((interfaceuptime % 60)))
( ! echo "$send_wanIP"|grep -q -w ${send_hostIP} ) && send_content="${send_content}${str_linefeed}${str_tab}外网 IP 与接口 IP 不一致,你的 IP 可能不是公网 IP"
send_content="${send_content}${str_linefeed}${str_tab}${wanstatustime}"
fi

View File

@ -81,7 +81,7 @@ natflow_qos_setup()
user=qos_u$idx
fi
if [ "$(echo $user_port | sed 's/,/ /g' | wc -w)" -gt 1 ]; then
if [ "$(echo $user_port | sed 's/,/ /g;s/-/ /g' | wc -w)" -gt 1 ]; then
ipset create qos_up$idx bitmap:port range 0-65535 2>/dev/null
ipset flush qos_up$idx
for port in $(echo $user_port | sed 's/,/ /g'); do
@ -100,7 +100,7 @@ natflow_qos_setup()
remote=qos_r$idx
fi
if [ "$(echo $remote_port | sed 's/,/ /g' | wc -w)" -gt 1 ]; then
if [ "$(echo $remote_port | sed 's/,/ /g;s/-/ /g' | wc -w)" -gt 1 ]; then
ipset create qos_rp$idx bitmap:port range 0-65535 2>/dev/null
ipset flush qos_rp$idx
for port in $(echo $remote_port | sed 's/,/ /g'); do
@ -133,11 +133,11 @@ natflow_qos_zone_setup_tc()
done; \
for ifn in $ifname; do
echo $ifn
done) | sed 's/+$/\*/' | sort | uniq | while read IFN; do
done) | sed 's/+$/\.\*/' | sort | uniq | while read IFN; do
#echo $type $idx=$IFN >$DEVCTL
case $type in
lan_zone)
ifconfig -a | grep "^$IFN" | awk '{print $1}' | while read lan; do
ifconfig -a | grep "^$IFN " | awk '{print $1}' | while read lan; do
if [ "${lan}" = "${lan//:}" ]; then
qos_id=0
tc qdisc add dev $lan root handle 1: htb
@ -158,7 +158,7 @@ natflow_qos_zone_setup_tc()
done
;;
wan_zone)
ifconfig -a | grep "^$IFN" | awk '{print $1}' | while read wan; do
ifconfig -a | grep "^$IFN " | awk '{print $1}' | while read wan; do
if [ "${wan}" = "${wan//:}" ]; then
qos_id=0
tc qdisc add dev $wan root handle 1: htb

View File

@ -5,12 +5,12 @@
include $(TOPDIR)/rules.mk
PKG_NAME:=xray-plugin
PKG_VERSION:=1.8.1
PKG_VERSION:=1.8.3
PKG_RELEASE:=1
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
PKG_SOURCE_URL:=https://codeload.github.com/teddysun/xray-plugin/tar.gz/v$(PKG_VERSION)?
PKG_HASH:=b86b265bd55984c74b80c8b044dfa0cdded448cc92bc8a923b677ca8d54eaa86
PKG_HASH:=78c9c7f3e049d555b68914b545224cb9fd8253b75fe797a62a54b6e9af0bf870
PKG_LICENSE:=MIT
PKG_LICENSE_FILES:=LICENSE