update 2023-05-01 16:22:51

This commit is contained in:
github-actions[bot] 2023-05-01 16:22:51 +08:00
parent 7e8ec0c6f9
commit 42d9387a0a
15 changed files with 192 additions and 90 deletions

View File

@ -5,7 +5,7 @@
include $(TOPDIR)/rules.mk
PKG_NAME:=luci-app-passwall2
PKG_VERSION:=1.13-4
PKG_VERSION:=1.13-5
PKG_RELEASE:=
PKG_CONFIG_DEPENDS:= \

View File

@ -350,7 +350,7 @@ run_v2ray() {
ln_run "$(first_type $(config_t_get global_app ${type}_file) ${type})" ${type} $V2RAY_DNS_DIRECT_LOG run -c "$V2RAY_DNS_DIRECT_CONFIG"
direct_dnsmasq_listen_port=$(get_new_port $(expr $dns_direct_listen_port + 1) udp)
run_direct_ipset_dnsmasq listen_port=${direct_dnsmasq_listen_port} server_dns=127.0.0.1#${dns_direct_listen_port} ipset=whitelist,whitelist6 config_file=$TMP_PATH/dnsmasq_${flag}_direct.conf
run_ipset_dnsmasq listen_port=${direct_dnsmasq_listen_port} server_dns=127.0.0.1#${dns_direct_listen_port} ipset=whitelist,whitelist6 config_file=$TMP_PATH/dnsmasq_${flag}_direct.conf
V2RAY_DNS_REMOTE_CONFIG="${TMP_PATH}/${flag}_dns_remote.json"
V2RAY_DNS_REMOTE_LOG="${TMP_PATH}/${flag}_dns_remote.log"
@ -776,12 +776,14 @@ stop_crontab() {
#echolog "清除定时执行命令。"
}
run_direct_ipset_dnsmasq() {
run_ipset_dnsmasq() {
local listen_port server_dns ipset config_file
eval_set_val $@
echo "port=${listen_port}" >> $config_file
echo "server=${server_dns}" >> $config_file
echo "ipset=${ipset}" >> $config_file
cat <<-EOF > $config_file
port=${listen_port}
server=${server_dns}
ipset=${ipset}
EOF
ln_run "$(first_type dnsmasq)" "dnsmasq" "/dev/null" -C $config_file
}

View File

@ -1,7 +1,7 @@
include $(TOPDIR)/rules.mk
PKG_NAME:=luci-app-serverchan
PKG_VERSION:=2.05.0
PKG_VERSION:=2.05.1
PKG_RELEASE:=10
PKG_MAINTAINER:=tty228 <tty228@yeah.net>

View File

@ -50,6 +50,7 @@ function read_config(){
str_splitline=`jq -r '.str_splitline' ${jsonpath}`
str_space=`jq -r '.str_space' ${jsonpath}`
str_tab=`jq -r '.str_tab' ${jsonpath}`
disturb_text=`jq -r '._api' ${jsonpath}`
( echo "$lite_enable"|grep -q "content" ) && str_title_start="" && str_title_end="" && str_splitline="" && str_linefeed="" && str_tab=""
}
@ -528,7 +529,7 @@ function serverchan_cron(){
function serverchan_disturb(){
[ -z "$serverchan_sheep" ] || [ -z "$starttime" ] || [ -z "$endtime" ] && return 0
# 非免打扰
# 非免打扰时间
if [ `date +%H` -ge $endtime -a $starttime -lt $endtime ] || [ `date +%H` -lt $starttime -a $starttime -lt $endtime ] || [ `date +%H` -lt $starttime -a `date +%H` -ge $endtime -a $starttime -gt $endtime ]; then
unset sheep_starttime
rm -f ${dir}sheep_usage ${dir}old_sheep_usage 2>/dev/null
@ -1074,7 +1075,7 @@ function login_send(){
add_ip_white ${login_ip}
local web_login_time=`cat ${dir}web_login|grep -w ${login_ip}|awk '{print $1}'|grep -v "^$"|sort -u|head -n1`
local web_login_mode=`cat ${dir}web_login|grep -w ${login_ip}|awk '{print $3}'|grep -v "^$"|sort -u|head -n1`
echo "$ip_white_list"|grep -w -q "$login_ip" && echo "${web_login_time} 【info】设备 ${login_ip} 通过 Web ${web_login_mode} 登陆了路由器 " >> ${logfile} && continue
echo "$ip_white_list"|grep -w -q "$login_ip" && echo "`date "+%Y-%m-%d"` ${web_login_time} 【info】设备 ${login_ip} 通过 Web ${web_login_mode} 登陆了路由器 " >> ${logfile} && continue
if [ ! -z "$web_logged" ] && [ "$web_logged" -eq "1" ]; then
if [ -z "$title" ]; then
title="${login_ip} 通过 Web 登陆了路由器"
@ -1089,7 +1090,7 @@ function login_send(){
fi
sed -i "/^${login_ip}$/d" ${dir}ssh_failed
sed -i "/^${login_ip}$/d" ${dir}web_failed
echo "`date "+%Y-%m-%d %H:%M:%S"` ${disturb_text}设备 ${login_ip} 通过 Web ${web_login_mode} 登陆了路由器 " >> ${logfile}
echo "`date "+%Y-%m-%d"` ${web_login_time} ${disturb_text}设备 ${login_ip} 通过 Web ${web_login_mode} 登陆了路由器 " >> ${logfile}
done
echo "" > ${dir}web_login
unset login_ip login_ip_list
@ -1100,7 +1101,7 @@ function login_send(){
add_ip_white ${login_ip}
local ssh_login_time=`cat ${dir}ssh_login|grep -w ${login_ip}|awk '{print $1}'|grep -v "^$"|sort -u|head -n1`
local ssh_login_mode=`cat ${dir}ssh_login|grep -w ${login_ip}|awk '{print $3}'|grep -v "^$"|sort -u|head -n1`
echo "$ip_white_list"|grep -w -q "$login_ip" && echo "${ssh_login_time} 【info】设备 ${login_ip} 通过 SSH ${ssh_login_mode} 登陆了路由器 " >> ${logfile} && continue
echo "$ip_white_list"|grep -w -q "$login_ip" && echo "`date "+%Y-%m-%d"` ${web_login_time} 【info】设备 ${login_ip} 通过 SSH ${ssh_login_mode} 登陆了路由器 " >> ${logfile} && continue
[ ! -z "$ssh_login_mode" ] && local content_mode="${str_linefeed}${str_tab}登录方式: ${str_space}${str_space}${str_space}${str_space}${ssh_login_mode}"
if [ ! -z "$ssh_logged" ] && [ "$ssh_logged" -eq "1" ]; then
if [ -z "$title" ]; then
@ -1115,7 +1116,7 @@ function login_send(){
fi
fi
sed -i "/^${login_ip}$/d" ${dir}ssh_failed
echo "`date "+%Y-%m-%d %H:%M:%S"` ${disturb_text}设备 ${login_ip} 通过 SSH ${ssh_login_mode} 登陆了路由器 " >> ${logfile}
echo "`date "+%Y-%m-%d"` ${web_login_time} ${disturb_text}设备 ${login_ip} 通过 SSH ${ssh_login_mode} 登陆了路由器 " >> ${logfile}
done
echo "" > ${dir}ssh_login
unset login_ip login_ip_list

View File

@ -1,5 +1,5 @@
#
# Copyright 2020-2022 Rafał Wabik - IceG - From eko.one.pl forum
# Copyright 2020-2023 Rafał Wabik - IceG - From eko.one.pl forum
# Licensed to the GNU General Public License v3.0.
#
@ -10,7 +10,7 @@ LUCI_TITLE:=LuCI Support for sms-tool
LUCI_DESCRIPTION:=LuCI interface for the sms-tool. The user interface supports SMS/USSD Codes/AT Commands.
LUCI_PKGARCH:=all
LUCI_DEPENDS:=+sms-tool +kmod-usb-serial +kmod-usb-serial-option +comgt
PKG_VERSION:=1.9.5-20221207
PKG_VERSION:=1.9.6-20230501
include $(TOPDIR)/feeds/luci/luci.mk

View File

@ -1,4 +1,4 @@
-- Copyright 2020-2022 Rafa³ Wabik (IceG) - From eko.one.pl forum
-- Copyright 2020-2023 Rafa<66> Wabik (IceG) - From eko.one.pl forum
-- Licensed to the GNU General Public License v3.0.
local util = require "luci.util"
@ -68,6 +68,20 @@ mem.rmempty = true
local msm = s:taboption(this_tab, Flag, "mergesms", translate("Merge split messages"), translate("Checking this option will make it easier to read the messages, but it will cause a discrepancy in the number of messages shown and received."))
msm.rmempty = false
msma = s:taboption(this_tab, ListValue, "algorithm", translate("Merge algorithm"), translate(""))
msma.default = "Simple"
msma:value("Simple", translate("Simple (merge without sorting)"))
msma:value("Advanced", translate("Advanced (merges with sorting)"))
msma:depends("mergesms", "1")
msma.rmempty = true
msmd = s:taboption(this_tab, ListValue, "direction", translate("Direction of message merging"), translate(""))
msmd.default = "Start"
msmd:value("Start", translate("From beginning to end"))
msmd:value("End", translate("From end to beginning"))
msmd:depends("algorithm", "Advanced")
msmd.rmempty = true
dev2 = s:taboption(this_tab, Value, "sendport", translate("SMS Sending Port"))
if try_devices2 then
local node

View File

@ -10,11 +10,14 @@
local smsmem = tostring(uci:get("sms_tool", "general", "storage"))
local sms = tostring(luci.sys.exec("sms_tool -s" .. smsmem .. " -d " .. devv .. " -f '%Y-%m-%d %H:%M' -j recv 2>/dev/null"))
local smsmer = tostring(uci:get("sms_tool", "general", "mergesms"))
local directx = tostring(uci:get("sms_tool", "general", "direction"))
local algox = tostring(uci:get("sms_tool", "general", "algorithm"))
local smscuta = string.sub (sms, 8)
local smscut = smscuta:sub(1, #smscuta - 2)
local statusb = luci.util.exec("sms_tool -s" .. smsmem .. " -d ".. devv .. " status")
local all = statusb:match('[^: ]+$')
local location = ""
local l = string.sub (statusb, 15, 16)
if l == "SM" then
location = translate("SIM card")
@ -27,7 +30,7 @@
<%+header%>
<!--
-- Copyright 2020-2022 Rafał Wabik (IceG) - From eko.one.pl forum
-- Copyright 2020-2023 Rafał Wabik (IceG) - From eko.one.pl forum
-- Licensed to the GNU General Public License v3.0.
-->
@ -72,6 +75,9 @@ tr:nth-child(odd) {background-color: var(--background-color-medium)}
);
var msgm = <%=smsmer%>;
var algo = "<%=algox%>";
var direct = "<%=directx%>";
if ( msgm == "0" ) {
var array = <%=smscut%>;
@ -97,42 +103,89 @@ tr:nth-child(odd) {background-color: var(--background-color-medium)}
if ( msgm == "1" ) {
var array = <%=smscut%>;
var sortedData = array .sort((function (a, b) { return new Date(b.timestamp) - new Date(a.timestamp) }));
var table = document.getElementById("smsTable");
if (algo == 'Simple') {
var MergeMySMS = sortedData;
result = [];
var array = <%=smscut%>;
var sortedData = array .sort((function (a, b) { return new Date(b.timestamp) - new Date(a.timestamp) }));
var table = document.getElementById("smsTable");
MergeMySMS.forEach(function (o) {
if (!this[o.sender]) {
if(o.part > 0){
this[o.sender] = { index: o.index, sender: o.sender, timestamp: o.timestamp, part: o.part, total: o.total, content: o.content, contentparts: [] };
this[o.sender].contentparts[o.part] = o.content;
}else{
this[o.sender] = { index: o.index, sender: o.sender, timestamp: o.timestamp, part: o.part, total: o.total, content: o.content};
}
result.push(this[o.sender]);
return;
}
if (this[o.sender].total == o.total && this[o.sender].timestamp == o.timestamp && this[o.sender].sender == o.sender && this[o.sender].part > 0) {
this[o.sender].index += '-' + o.index;
this[o.sender].contentparts[o.part] = o.content;}
else {
this[o.sender] = { index: o.index, sender: o.sender, timestamp: o.timestamp, part: o.part, total: o.total, content: o.content };
result.push(this[o.sender]);
return;
}
}, Object.create(null));
result.forEach(function(o) {
if(o.contentparts){
o.contentparts.shift();
o.content = o.contentparts.join('');
}
});
var MergeMySMS = sortedData;
result = [];
var data = JSON.stringify(result);
var json = JSON.parse(data);
MergeMySMS.forEach(function (o) {
if (!this[o.sender]) {
this[o.sender] = { index: o.index, sender: o.sender, timestamp: o.timestamp, part: o.part, total: o.total, content: o.content };
result.push(this[o.sender]);
return;
}
if (this[o.sender].total == o.total && this[o.sender].part > 0) {
this[o.sender].content += o.content;
this[o.sender].index += '-' + o.index;}
else {
this[o.sender] = { index: o.index, sender: o.sender, timestamp: o.timestamp, part: o.part, total: o.total, content: o.content };
result.push(this[o.sender]);
return;
}
}, Object.create(null));
var data = JSON.stringify(result);
var json = JSON.parse(data);
}
if (algo == 'Advanced') {
var array = <%=smscut%>;
var table = document.getElementById("smsTable");
result = [];
switch (direct) {
case 'Start':
var Data = array.sort((a, b) => {
if (a.timestamp === b.timestamp && a.sender === b.sender) {
return a.part - b.part;
} else if (a.timestamp === b.timestamp) {
return a.sender - b.sender;
} else {
return a.timestamp.localeCompare(b.timestamp);
}
});
break;
case 'End':
var Data = array.sort((a, b) => {
if (a.timestamp === b.timestamp && a.sender === b.sender) {
return b.part - a.part;
} else if (a.timestamp === b.timestamp) {
return a.sender - b.sender;
} else {
return a.timestamp.localeCompare(b.timestamp);
}
});
break;
default:
}
var SortedSMS = Data.sort((function (a, b) { return new Date(b.timestamp) - new Date(a.timestamp) }));
var combinedjson = {};
for (const parts of SortedSMS) {
const { sender, timestamp, total, content, index } = parts;
const key = `${sender}-${timestamp}-${total}`;
if (combinedjson[key]) {
combinedjson[key].content += content;
combinedjson[key].index += '-'+index;
} else {
combinedjson[key] = { sender, timestamp, total, content, index };
}
}
var result = Object.values(combinedjson);
var data = JSON.stringify(result);
var json = JSON.parse(data);
}
var x = <%=all%>;
for (var d = 0; d < json.length; d++) {
@ -147,7 +200,11 @@ tr:nth-child(odd) {background-color: var(--background-color-medium)}
cell2.innerHTML = json[d].timestamp;
cell1.innerHTML = json[d].content;
}
}
}
@ -283,3 +340,4 @@ if (document.querySelectorAll('input[name="smsn"]:checked').length === document.
</div>
<%+footer%>

View File

@ -292,3 +292,20 @@ msgstr "Nie"
msgid "Yes"
msgstr "Tak"
msgid "Merge algorithm"
msgstr "Algorytm scalania"
msgid "Simple (merge without sorting)"
msgstr "Prosty (scala bez sortowania)"
msgid "Advanced (merges with sorting)"
msgstr "Zaawansowany (scala z sortowaniem)"
msgid "Direction of message merging"
msgstr "Kierunek łączenia wiadomości"
msgid "From beginning to end"
msgstr "Od początku do końca"
msgid "From end to beginning"
msgstr "Od końca do początku"

View File

@ -13,3 +13,4 @@ config sms_tool 'general'
option storage 'SM'
option prestart '6'
option ledtype 'D'
option algorithm 'Simple'

View File

@ -1,9 +1,9 @@
#!/bin/sh /etc/rc.common
# Copyright 2020 Rafał Wabik (IceG) - From eko.one.pl forum
# Copyright 2020-2023 Rafał Wabik (IceG) - From eko.one.pl forum
# Licensed to the GNU General Public License v3.0.
USE_PROCD=1
START=99
START=95
STOP=01
start_service() {
@ -12,11 +12,17 @@ start_service() {
procd_close_instance
}
service_triggers()
{
procd_add_reload_trigger "sms_tool"
}
stop_service() {
for KILLPID in `ps | grep 'smsled' | awk ' { print $1;}'`; do
(kill -9 $KILLPID >/dev/null 2>&1 )&
( kill -9 $KILLPID >/dev/null 2>&1 ) 2>&1 &
done
sleep 1
sleep 1 2>&1 &
return 0
}

View File

@ -1,13 +1,14 @@
#!/bin/sh
# Copyright 2020-2021 Rafał Wabik (IceG) - From eko.one.pl forum
# Copyright 2020-2023 Rafał Wabik (IceG) - From eko.one.pl forum
# Licensed to the GNU General Public License v3.0.
chmod +x /sbin/cronsync.sh
chmod +x /sbin/set_sms_ports.sh
chmod +x /sbin/smsled-init.sh
chmod +x /sbin/smsled.sh
rm -rf /tmp/luci-indexcache
rm -rf /tmp/luci-modulecache/
chmod +x /etc/init.d/smsled 2>&1 &
chmod +x /sbin/smsled-init.sh 2>&1 &
chmod +x /sbin/cronsync.sh 2>&1 &
chmod +x /sbin/set_sms_ports.sh 2>&1 &
chmod +x /sbin/smsled.sh 2>&1 &
rm -rf /tmp/luci-indexcache 2>&1 &
rm -rf /tmp/luci-modulecache/ 2>&1 &
work=false
for port in /dev/ttyUSB*
@ -23,51 +24,51 @@ done
rm -rf /tmp/testusb
if [ $work != false ]; then
uci set sms_tool.@sms_tool[0].readport=$work
uci set sms_tool.@sms_tool[0].sendport=$work
uci set sms_tool.@sms_tool[0].ussdport=$work
uci set sms_tool.@sms_tool[0].atport=$work
uci commit sms_tool
uci set sms_tool.@sms_tool[0].readport=$work 2>&1 &
uci set sms_tool.@sms_tool[0].sendport=$work 2>&1 &
uci set sms_tool.@sms_tool[0].ussdport=$work 2>&1 &
uci set sms_tool.@sms_tool[0].atport=$work 2>&1 &
uci commit sms_tool 2>&1 &
fi
DEVICE=$(cat /tmp/sysinfo/board_name)
if [[ "$DEVICE" == *"mf289f"* ]]; then
uci set sms_tool.@sms_tool[0].readport="/dev/ttyUSB1"
uci set sms_tool.@sms_tool[0].sendport="/dev/ttyUSB1"
uci set sms_tool.@sms_tool[0].ussdport="/dev/ttyUSB1"
uci set sms_tool.@sms_tool[0].atport="/dev/ttyUSB1"
uci commit sms_tool
uci set sms_tool.@sms_tool[0].readport="/dev/ttyUSB1" 2>&1 &
uci set sms_tool.@sms_tool[0].sendport="/dev/ttyUSB1" 2>&1 &
uci set sms_tool.@sms_tool[0].ussdport="/dev/ttyUSB1" 2>&1 &
uci set sms_tool.@sms_tool[0].atport="/dev/ttyUSB1" 2>&1 &
uci commit sms_tool 2>&1 &
fi
if [[ "$DEVICE" == *"mf286r"* ]]; then
uci set sms_tool.@sms_tool[0].readport="/dev/ttyACM0"
uci set sms_tool.@sms_tool[0].sendport="/dev/ttyACM0"
uci set sms_tool.@sms_tool[0].ussdport="/dev/ttyACM0"
uci set sms_tool.@sms_tool[0].atport="/dev/ttyACM0"
uci commit sms_tool
uci set sms_tool.@sms_tool[0].readport="/dev/ttyACM0" 2>&1 &
uci set sms_tool.@sms_tool[0].sendport="/dev/ttyACM0" 2>&1 &
uci set sms_tool.@sms_tool[0].ussdport="/dev/ttyACM0" 2>&1 &
uci set sms_tool.@sms_tool[0].atport="/dev/ttyACM0" 2>&1 &
uci commit sms_tool 2>&1 &
fi
if [[ "$DEVICE" == *"mf286d"* ]]; then
uci set sms_tool.@sms_tool[0].readport="/dev/ttyUSB1"
uci set sms_tool.@sms_tool[0].sendport="/dev/ttyUSB1"
uci set sms_tool.@sms_tool[0].ussdport="/dev/ttyUSB1"
uci set sms_tool.@sms_tool[0].atport="/dev/ttyUSB1"
uci commit sms_tool
uci set sms_tool.@sms_tool[0].readport="/dev/ttyUSB1" 2>&1 &
uci set sms_tool.@sms_tool[0].sendport="/dev/ttyUSB1" 2>&1 &
uci set sms_tool.@sms_tool[0].ussdport="/dev/ttyUSB1" 2>&1 &
uci set sms_tool.@sms_tool[0].atport="/dev/ttyUSB1" 2>&1 &
uci commit sms_tool 2>&1 &
fi
if [[ "$DEVICE" == *"mf286"* ]]; then
uci set sms_tool.@sms_tool[0].readport="/dev/ttyUSB1"
uci set sms_tool.@sms_tool[0].sendport="/dev/ttyUSB1"
uci set sms_tool.@sms_tool[0].ussdport="/dev/ttyUSB1"
uci set sms_tool.@sms_tool[0].atport="/dev/ttyUSB1"
uci commit sms_tool
uci set sms_tool.@sms_tool[0].readport="/dev/ttyUSB1" 2>&1 &
uci set sms_tool.@sms_tool[0].sendport="/dev/ttyUSB1" 2>&1 &
uci set sms_tool.@sms_tool[0].ussdport="/dev/ttyUSB1" 2>&1 &
uci set sms_tool.@sms_tool[0].atport="/dev/ttyUSB1" 2>&1 &
uci commit sms_tool 2>&1 &
fi

View File

@ -1,7 +1,9 @@
#!/bin/sh
# Copyright 2020 Rafał Wabik (IceG) - From eko.one.pl forum
# Copyright 2020-2023 Rafał Wabik (IceG) - From eko.one.pl forum
# Licensed to the GNU General Public License v3.0.
/etc/init.d/smsled disable
/etc/init.d/smsled stop 2>&1 &
/etc/init.d/smsled disable 2>&1 &
/etc/init.d/smsled disable 2>&1 &
exit 0

View File

@ -4,7 +4,7 @@
* luci-theme-argonne
*
* Have a bug? Please create an issue here on GitHub!
* https://github.com/kenzok78/luci-theme-argonnene/issues
* https://github.com/kenzok78/luci-theme-argonne/issues
*
* luci-theme-bootstrap:
* Copyright 2008 Steven Barth <steven@midlink.org>

View File

@ -4,7 +4,7 @@
luci-theme-argonne
Have a bug? Please create an issue here on GitHub!
https://github.com/jerrykuku/luci-theme-argonne/issues
https://github.com/kenzok78/luci-theme-argonne/issues
luci-theme-bootstrap:
Copyright 2008 Steven Barth <steven@midlink.org>

View File

@ -4,7 +4,7 @@
luci-theme-argonne
Have a bug? Please create an issue here on GitHub!
https://github.com/jerrykuku/luci-theme-argonne/issues
https://github.com/kenzok78/luci-theme-argonne/issues
luci-theme-bootstrap:
Copyright 2008 Steven Barth <steven@midlink.org>