mirror of
https://github.com/kiddin9/op-packages.git
synced 2026-10-29 17:05:13 +08:00
🤞 Sync 2026-04-23 06:19:46
This commit is contained in:
1 parent
a1df15cd3d
commit
b86d032e91
250 files changed
+41507
-188
No files matched your search
Executable
+92
@@ -0,0 +1,92 @@
|
||||
#!/bin/ash
|
||||
DIR="/var/spool/smscontrol"
|
||||
ENABLED=$(uci get smscontrol.common.enabled)
|
||||
|
||||
if [ "$ENABLED" -eq "1" ]; then
|
||||
case "$1" in
|
||||
RECEIVED)
|
||||
PASS=$(uci get smscontrol.common.pass)
|
||||
[ -z "$PASS" ] && exit
|
||||
PASSLENGTH=$(echo $PASS | wc -c)
|
||||
MESSAGE=$(cat "$2")
|
||||
FROM=$(echo "${MESSAGE}"|grep -e '^From\:'|cut -d' ' -f2)
|
||||
DATE=$(echo "${MESSAGE}"|grep -e '^Received\:'|cut -d' ' -f2,3)
|
||||
BODY=$(echo "${MESSAGE}"|sed -e '1,/^$/d')
|
||||
if [[ "$(uci -q get smscontrol.common.smscontrol_log)" = "1" ]]; then
|
||||
CFG=$(uci add smscontrol_log event)
|
||||
uci set smscontrol_log.$CFG.date="${DATE}"
|
||||
uci set smscontrol_log.$CFG.type=SMS
|
||||
uci set smscontrol_log.$CFG.from="${FROM}"
|
||||
uci set smscontrol_log.$CFG.message="${BODY}"
|
||||
uci commit smscontrol_log
|
||||
fi
|
||||
[ "$PASS;" != "${BODY::$PASSLENGTH}" ] && exit
|
||||
ADMINPHONES=$(uci get smscontrol.common.whitelist)
|
||||
COUNTPHONES=$(echo $ADMINPHONES | wc -w)
|
||||
COUNT="0"
|
||||
while [ "$COUNT" -ne "$COUNTPHONES" ]; do
|
||||
COUNT=$(($COUNT + 1))
|
||||
ADMPH=$(echo $ADMINPHONES | awk -v var=$COUNT -F ' ' '{print $var}')
|
||||
if [ "$ADMPH" -eq "$FROM" ]; then
|
||||
BODY=${BODY:$PASSLENGTH}
|
||||
if [ "${BODY::4}" != "CLI\$" ]; then
|
||||
$DIR/commands "$BODY" "$FROM" &
|
||||
break
|
||||
else
|
||||
BODY=${BODY:4}
|
||||
$DIR/cli "$BODY" "$FROM" &
|
||||
break
|
||||
fi
|
||||
fi
|
||||
done
|
||||
;;
|
||||
|
||||
USSD)
|
||||
;;
|
||||
|
||||
CALL)
|
||||
MESSAGE=$(cat "$2")
|
||||
FROM=$(echo "${MESSAGE}"|grep -e '^From\:'|cut -d' ' -f2)
|
||||
|
||||
if [[ "$(uci -q get smscontrol.common.smscontrol_log)" = "1" ]]; then
|
||||
CFG=$(uci add smscontrol_log event)
|
||||
DATE=$(date +"%y-%m-%d %H:%M:%S")
|
||||
uci set smscontrol_log.$CFG.date="${DATE}"
|
||||
uci set smscontrol_log.$CFG.type=CALL
|
||||
uci set smscontrol_log.$CFG.from="${FROM}"
|
||||
uci commit smscontrol_log
|
||||
fi
|
||||
|
||||
ADMINPHONES=$(uci get smscontrol.common.whitelist)
|
||||
COUNTPHONES=$(echo $ADMINPHONES | wc -w)
|
||||
COUNT="0"
|
||||
while [ "$COUNT" -ne "$COUNTPHONES" ]; do
|
||||
COUNT=$(($COUNT + 1))
|
||||
ADMPH=$(echo $ADMINPHONES | awk -v var=$COUNT -F ' ' '{print $var}')
|
||||
if [ "$ADMPH" -eq "$FROM" ]; then
|
||||
$DIR/calls "$FROM" &
|
||||
break
|
||||
fi
|
||||
done
|
||||
;;
|
||||
|
||||
SENT)
|
||||
if [[ "$(uci -q get smscontrol.common.smscontrol_log)" = "1" ]]; then
|
||||
MESSAGE=$(cat "$2")
|
||||
TO=$(echo "${MESSAGE}"|grep -e '^To\:'|cut -d' ' -f2)
|
||||
BODY=$(echo "${MESSAGE}"|sed -e '1,/^$/d')
|
||||
CFG=$(uci add smscontrol_log event)
|
||||
DATE=$(date +"%y-%m-%d %H:%M:%S")
|
||||
uci set smscontrol_log.$CFG.date="${DATE}"
|
||||
uci set smscontrol_log.$CFG.type=SMS
|
||||
uci set smscontrol_log.$CFG.to="${TO}"
|
||||
uci set smscontrol_log.$CFG.message="${BODY}"
|
||||
uci commit smscontrol_log
|
||||
fi
|
||||
;;
|
||||
|
||||
*)
|
||||
;;
|
||||
esac
|
||||
|
||||
fi
|
||||
Reference in new issue
Block a user