1
0
Fork 0
mirror of https://github.com/Ysurac/openmptcprouter-feeds.git synced 2025-03-09 15:40:03 +00:00
This commit is contained in:
suyuan 2024-03-25 22:59:46 +08:00 committed by GitHub
commit e79c99b008
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
6 changed files with 14 additions and 11 deletions

View file

@ -11,8 +11,10 @@ shift
# main loop
while true; do
OMR_QUOTA_REAL_INTERFACE="$(ifstatus $OMR_QUOTA_INTERFACE | jsonfilter -e '@.l3_device')"
rx=`vnstat -i $OMR_QUOTA_REAL_INTERFACE --json | jsonfilter -q -e '@.interfaces[0].traffic.month[-1].rx' | tr -d "\n"`
tx=`vnstat -i $OMR_QUOTA_REAL_INTERFACE --json | jsonfilter -q -e '@.interfaces[0].traffic.month[-1].tx' | tr -d "\n"`
rx_bits=`vnstat -i $OMR_QUOTA_REAL_INTERFACE --json | jsonfilter -q -e '@.interfaces[0].traffic.month[-1].rx' | tr -d "\n"`
tx_bits=`vnstat -i $OMR_QUOTA_REAL_INTERFACE --json | jsonfilter -q -e '@.interfaces[0].traffic.month[-1].tx' | tr -d "\n"`
rx=$((rx_bits/1024))
tx=$((tx_bits/1024))
tt=$((rx + tx))
if [ -n "$OMR_QUOTA_RX" ] && [ "$OMR_QUOTA_RX" -gt 0 ] && [ -n "$rx" ] && [ "$OMR_QUOTA_RX" -le "$rx" ]; then
if [ "$(ifstatus $OMR_QUOTA_INTERFACE | jsonfilter -e '@.up')" = "true" ]; then
@ -29,7 +31,7 @@ while true; do
logger -t "OMR-QUOTA" "Set interface $OMR_QUOTA_INTERFACE down, RX+TX quota reached"
ifdown $OMR_QUOTA_INTERFACE
fi
elif [ -n "$OMR_QUOTA_RX" ] && [ "$OMR_QUOTA_RX" -gt 0 ] && [ -n "$OMR_QUOTA_TX" ] && [ "$OMR_QUOTA_TX" -gt 0 ] && [ -n "$OMR_QUOTA_TT" ] && [ "$OMR_QUOTA_TT" -gt 0 ] && [ "$(ifstatus $OMR_QUOTA_INTERFACE | jsonfilter -e '@.up')" = "false" ]; then
elif [ "$(ifstatus $OMR_QUOTA_INTERFACE | jsonfilter -e '@.up')" = "false" ]; then
logger -t "OMR-QUOTA" "Set interface $OMR_QUOTA_INTERFACE up"
ifup $OMR_QUOTA_INTERFACE
fi

View file

@ -6,16 +6,17 @@ EXTRA_HELP=<<EOF
restore Restore vnstat database
EOF
START=98
STOP=10
START=50
STOP=60
vnstat_option() {
sed -ne "s/^[;]*$1[[:space:]]*['\"]\([^'\"]*\)['\"].*/\1/p" /etc/vnstat.conf
sed -ne "s/^[[:space:]]*$1[[:space:]]*['\"]\([^'\"]*\)['\"].*/\1/p" /etc/vnstat.conf
}
BACKUP_FILE=/etc/vnstat_backup.tar.gz
LOGGER_TAG=vnstat_backup
VNSTAT_DIR="$(vnstat_option DatabaseDir)"
[ -n "$VNSTAT_DIR" ] || VNSTAT_DIR="/var/lib/vnstat"
_chk_omrquota() {
config_get enabled $1 enabled
@ -59,4 +60,4 @@ backup() {
restore() {
restore_database
}
}

View file

@ -43,7 +43,7 @@ let type, hook, priority, redir_port;
if (proto == "tcp") {
type = "nat";
hook = "prerouting";
priority = -1;
priority = 1;
redir_port = o_redir_tcp_port;
} else if (proto == "udp") {
type = "filter";

View file

@ -43,7 +43,7 @@ let type, hook, priority, redir_port;
if (proto == "tcp") {
type = "nat";
hook = "prerouting";
priority = -1;
priority = 1;
redir_port = o_redir_tcp_port;
} else if (proto == "udp") {
type = "filter";

View file

@ -43,7 +43,7 @@ let type, hook, priority, redir_port;
if (proto == "tcp") {
type = "nat";
hook = "prerouting";
priority = -1;
priority = 1;
redir_port = o_redir_tcp_port;
} else if (proto == "udp") {
type = "filter";

View file

@ -43,7 +43,7 @@ let type, hook, priority, redir_port;
if (proto == "tcp") {
type = "nat";
hook = "prerouting";
priority = -1;
priority = 1;
redir_port = o_redir_tcp_port;
} else if (proto == "udp") {
type = "filter";