Mikrotik Hotspot Bandwith Limit Autodisconnected and AutoKick users New
✅ 1. Bandwidth Limit per User (2M/2M) ✅ 2. Auto-Disconnect Inactive Users (10 Minutes) ✅ 3. Auto-Kick Users When Bandwidth Quota is Exceeded This scrip…
- Threads
- 0
- Words
- 10291
✅ 1. Bandwidth Limit per User (2M/2M) ✅ 2. Auto-Disconnect Inactive Users (10 Minutes) ✅ 3. Auto-Kick Users When Bandwidth Quota is Exceeded This scrip…
✅ 1. BASIC SCRIPT — Auto Create PPPoE User
This script creates a PPPoE user with:
✔ Username
✔ Password
✔ Speed (optional)
✔ Expiry date (optional)
You can run it like:
/system script run add_pppoe_user username=john password=123 speed=10M expiry=30d
📌 SCRIPT: add_pppoe_user
/system script
add name=add_pppoe_user owner=admin source="
:local username [/system script get add_pppoe_user param1];
:local password [/system script get add_pppoe_user param2];
:local speed [/system script get add_pppoe_user param3];
:local expiry [/system script get add_pppoe_user param4];
# -------- DEFAULTS -----------
:if ([:len \$speed] = 0) do={ :set speed \"5M\" } # default 5Mbps
:if ([:len \$password] = 0) do={ :set password \"1234\" }
:if ([:len \$expiry] = 0) do={ :set expiry \"30d\" } # default 30 days
# -------- CREATE PPPoE USER ----------
/ppp secret add name=\$username password=\$password service=pppoe profile=pppoe_profile
# -------- ADD SPEED LIMIT (SIMPLE QUEUE) ----------
/queue simple add name=\$username target=\$username max-limit=\$speed/\$speed
# -------- ADD EXPIRY DATE TAG ----------
/ppp secret set \$username comment=\"expires=\$expiry\"
:log info (\"PPPoE user \$username created with speed \$speed and expiry \$expiry\");
"
🟦 2. SIMPLER VERSION — Just Username/Password
If you want only dynamic username + password:
/system script
add name=add_pppoe_simple owner=admin source="
:local username [/system script get add_pppoe_simple param1];
:local password [/system script get add_pppoe_simple param2];
/ppp secret add name=\$username password=\$password service=pppoe profile=pppoe_profile;
:log info (\"New PPPoE user created: \$username\");
"
Usage:
/system script run add_pppoe_simple username=john password=xyz123
🟩 3. ADVANCED VERSION — Auto Expire User
This script auto-creates user AND disables it on expiry date.
SCRIPT 1: Create User With Expiry
/system script
add name=create_pppoe_user source="
:local username [/system script get create_pppoe_user param1]
:local password [/system script get create_pppoe_user param2]
:local days [/system script get create_pppoe_user param3]
:local expiryDate [/system clock get date]
:set expiryDate ([/system clock get date] + \$days)
# create user
/ppp secret add name=\$username password=\$password service=pppoe profile=pppoe_profile comment=\"expire=\$expiryDate\"
:log info \"PPPoE user \$username created, expires on \$expiryDate\"
"
SCRIPT 2: Auto Disable Expired Users (run hourly via scheduler)
/system script
add name=disable_expired_pppoe_users source="
:foreach i in=[/ppp secret find] do={
:local c [/ppp secret get \$i comment];
:if ([:find \$c \"expire=\"] != 0) do={
:local exp [:pick \$c ([:find \$c \"=\"] + 1) [:len \$c]];
:if ([/system clock get date] >= \$exp) do={
/ppp secret set \$i disabled=yes;
:log warning \"PPPoE user expired: [/ppp secret get \$i name]\"
}
}
}"
Schedule it hourly:
/system scheduler add name=pppoe_expiry_check interval=1h on-event=disable_expired_pppoe_users
--Forum Rules --BBcodes
image quote pre code