mikrotik hotspot
mikrotik hotspot

Bagi pengguna Userman Mikrotik kita bisa membuat radius server untuk login hotspot mikrotik dengan segala fasilitas yang disediakan oleh userman, salah satunya pengaturan untuk kuota harian. Untuk pengaturan kuota harian kita juga bisa membuatnya di Server Profiles dengan menggunakan script, dimana ketika user hotspot pertama login akan ditambahkan “limit-bytes-total” sebesar 1Gb / 1073741824 bytes kedalam akun user hotspot mereka, kemudian script tersebut akan membuat system-scheduler untuk mereset status “limit-bytes-total” tiap harinya.

Jadi user hotspot hanya diijinkan mengakses internet tiap harinya dengan jatah kuota 1Gb apabila jatah kuota telah habis user hotspot tidak bisa mengakses internet.

Script ini juga akan membuat schedule baru dengan interval 30d / 1 Bulan dimana setelah 1 Bulan user hotspot tersebut akan di disable dan di logout otomatis, schedule ini dibuat untuk masa aktif user hotspot.

Ketika user hotspot pertama login akan membuat schedule untuk reset kuota dan masa aktif 1 bulan

Pastekan Script bawah ini di IP –> Hotspot –> User Profiles –> On Login

{
:local usernya $user;
:local resetnya "reset-counter-$usernya";
:if ([/ip hotspot user find name=$usernya limit-bytes-total=1073741824]="") do={/ip hotspot user set [find name=$usernya] limit-bytes-total=1073741824};
:if ([/system schedule find name=$resetnya]="") do={
/system schedule add name=$resetnya start-time=00:00:01 interval=1d on-event="/ip hotspot user reset-counter [find name=$usernya]"
}
:if ([/system schedule find name=$usernya]="") do={
/system schedule add name=$usernya interval=30d on-event="/ip hotspot user disable [find name=$usernya]\r\n/ip hotspot active remove [find user=$usernya]\r\n/system schedule remove [find name=$resetnya]\r\n/system schedule remove [find name=$usernya]"
}
}

Laporan ketika User Hotspot Logout ke Bot Telegram

Untuk membuat lapotan sisa kuota, MAC Address, IP Address dll ke Bot Telegram ketika User Hotspot Logout pastekan saja Script bawah ini di IP –> Hotspot –> User Profiles –> On Logout. Sebelumnya ganti dulu API Key dan Chat ID telegramnya.

:local nama "$user";
:local ips [/ip hotspot active get [find user="$nama"] address];
:local mac [/ip hotspot active get [find user="$nama"] mac-address];
:local host [/ip dhcp-server lease get [find address="$ips"] host-name];
:local lby [/ip hotspot active get [find user="$nama"] login-by];
:local limit [/ip hotspot active get [find user="$nama"] limit-bytes-total];
:local kuota [/ip hotspot user get [find user="$nama"] limit-bytes-total];
:local useraktif [/ip hotspot active print count-only];
:local totq [(($limit)/1048576)];
:local tots [(($kuota)/1048576)];
/tool fetch "https://api.telegram.org/botXXXXXXXXXXXXXXXXXXXXXX/sendMessage?chat_id=XXXXXXXXXXXXXX&text=Login :%0A$nama%0A$ips %0A$mac%0A$host%0Alogin-by : $lby%0Akuota terpakai: $totq Mb%0ASisa Kuota : $tots%0ATerhubung : $useraktif user" mode=http keep-result=no;

4 COMMENTS

    • hapus saja script untuk untuk membuat schedule baru setiap 30d

      misalnya menjadi seperti ini:
      {
      :local usernya $user;
      :local resetnya “reset-counter-$usernya”;
      :if ([/ip hotspot user find name=$usernya limit-bytes-total=1073741824]=””) do={/ip hotspot user set [find name=$usernya] limit-bytes-total=1073741824};
      :if ([/system schedule find name=$resetnya]=””) do={
      /system schedule add name=$resetnya start-time=00:00:01 interval=1d on-event=”/ip hotspot user reset-counter [find name=$usernya]”
      }
      }

Leave a Reply