With the script below, from https://pastebin.com/kVgugTrU, which cuts the connection once a data limit is exceeded, is it possible and if so would someone be kind enough, to change the script from working on interface "local interf "ether1-WAN1" to work on static local network address e.g. 192.168.88.45
Thanks
Jonnz
:global persistVar do={
:local varName $1;
:local varValue $2;
:local varID [/ip firewall layer7-protocol find name="$varName"];
:if ([:typeof $varValue] = "nothing") do={
:if ($varID != "") do={
:set $varValue [/ip firewall layer7-protocol get $varID value-name=regexp];
}
} else={
:if ($varID = "") do={
/ip firewall layer7-protocol add name="$varName" regexp="$varValue"
} else={
/ip firewall layer7-protocol set $varID regexp="$varValue"
}
}
return $varValue
}
:do {
####################################################################################################
# User config
#Set limit in MB
:local limit 350000;
#Set day to reset limit
:local dayresetlimit "01";
#Set interface
:local interf "ether1-WAN1";
#Set auto bring up interface
:local autointon true;
####################################################################################################
:local day ([:pick [/system clock get date] 4 6]);
:local newdata;
:local result;
:local ref;
:local status;
:local tx [/interface get $interf tx-byte];
:local rx [/interface get $interf rx-byte];
:set $newdata (($rx + $tx) / 1024 / 1024);
:if ([:len [$persistVar wan_counter]] < 1 ) do={
$persistVar wan_counter 0;
}
:if ([:len [$persistVar wan_rebootblock]] < 1 ) do={
$persistVar wan_rebootblock 1;
}
:if ([:len [$persistVar wan_offset]] < 1 ) do={
$persistVar wan_offset 0;
}
:if ([:len [$persistVar wan_refdata]] < 1 ) do={
$persistVar wan_refdata 0;
}
:local rebootblocker ([$persistVar wan_rebootblock]);
:if ( $day = $dayresetlimit and $rebootblocker = 0) do={
$persistVar wan_counter 0;
$persistVar wan_offset $newdata;
$persistVar wan_refdata 0;
/interface ethernet set $interf disabled=no
$persistVar wan_rebootblock 1;
:log info "Limit reset, int $interf bring up";
}
:if ( $day != $dayresetlimit ) do={
$persistVar wan_rebootblock 0;
}
:local before [$persistVar wan_counter];
:local offset [$persistVar wan_offset];
:if ( $newdata < $before ) do={
$persistVar wan_offset 0;
:set $ref [$persistVar wan_refdata];
:if ( $newdata < $ref ) do={
set $ref (0)
}
:set $result ($before + $newdata - $ref);
$persistVar wan_refdata $newdata;
$persistVar wan_counter $result;
} else={
:set $result ($newdata - $offset);
$persistVar wan_counter $result;
}
:local traffic ([$persistVar wan_counter]);
:local percent ($traffic*100 / $limit);
:log warning "Limit: $limit MB Traffic: $traffic MB Used: $percent%";
:if ($percent >= 100) do={
/interface ethernet set $interf disabled=yes
}
:if ($percent < 100 and $autointon = true) do={
:set $status [/interface get $interf value-name=disabled];
:if ($status = true) do={
/interface ethernet set $interf disabled=no
}
}
} on-error={ :log error "Error WAN1_Limiter "};