MikroTik • RouterOS • ISP Toolkit

Live MikroTik Monitoring & DDoS Safety — built for ISPs & IPTSPs

Watch PPPoE users in real time, track Ethernet bandwidth for 12 hours, count active sessions, and harden your router against common DDoS patterns — all in a simple web UI.

Chart style
X axis (Time) = Yellow, Y axis (Units) = White
PPPoE per-user RX/TX (5 minutes, 2s polling)
Ethernet bandwidth (12 hours, adjustable interval)
Active PPPoE users count (12 hours)
Android TV app with built-in PPPoE usage check
Android SMS Gateway using operator bundles (very low cost)
DDoS SafeKit firewall baseline for RouterOS

Tools included

PPPoE User RX/TX (5m)

Search by username (e.g., knet-108378) or exact interface and watch live bandwidth.

Open in Dashboard
Ethernet RX/TX (12h)

Pick any Ethernet port and graph RX/TX over the last 12 hours. Interval is configurable.

Open in Dashboard
Active PPPoE (12h)

Counts active PPPoE sessions and keeps a 12-hour history with a live sample of usernames.

Open in Dashboard
DDoS SafeKit

RAW/FILTER rules, SYN cookies, spoofing filters, and Netwatch/Traffic-Monitor alerts.

View instructions
onFace TV (Demo)

Android app: Channel list & player, with PPPoE usage check built in.

Android SMS Gateway

Send via SIM bundle offers for ultra-low cost. Queue API, delay & threshold control.

onFace TV — Android App (Demo)

Your OTT/Live TV app integrated with ISP services. Customers can browse channels, play instantly, and check their PPPoE usage inside the app.

Quick Login
Minimal login using ISP-issued username/code.
onFace TV login (screenshot)
Channel List
Active count, categories, and per-channel PLAY buttons.
onFace TV channel list (screenshot)
PPPoE Usage Check
Built-in 5-minute RX/TX graph by username or interface.
PPPoE usage panel (screenshot)
Smooth Player
Clean UI with on-screen volume and quick zapping.
Player screenshot 1
Player screenshot 2

Android SMS Gateway — Auto SMS Dispatcher

Use an Android phone as a reliable SMS gateway and send through the mobile operator’s **bundle offers** for ultra-low cost. The app polls your server, sends queued messages, and posts delivery reports.

API-Key secured
Only authorized devices can send; queue lives on your server.
  • Delay for bulk with per-SMS seconds & threshold value.
  • Optional sound on send; clear status (“Pending SMS”, “No SMS to send”).
  • Delivery reports & retries on temporary failures.
Auto SMS Dispatcher app screenshot
Screenshot: API key auth, pending queue, sound toggle, delay controls, and threshold.

How it works

1) Place files

Upload routeros_api.class.php, db.conf.php, login.php, and puller.php to your server.

2) Configure

Edit db.conf.php with $rbip, $rbuser, $rbpass, and optional $rbport (8728 or 8729 for TLS).

3) Login

Open login.php and sign in; then the app redirects you to the dashboard.

4) Monitor

Use the left nav inside puller.php to switch between all graphs.

Sample db.conf.php
<?php
$rbip   = '10.10.10.1';
$rbuser = 'api-user';
$rbpass = 'strong-password';
$rbport = 8728; // 8729 if API-SSL (your PHP class must support TLS)
?>
          
Chart color scheme (already applied)
// X axis (time) = yellow, Y axis = white
scales: {
  x:{ ticks:{ color:'yellow' }, title:{ display:true, text:'Time', color:'yellow' } },
  y:{ ticks:{ color:'white', callback:v => v + ' Mb/s' }, title:{ display:true, text:'Mb/s', color:'white' } }
}
          

Security & DDoS SafeKit

Harden your router before exposing dashboards on the internet. The SafeKit adds spoofing filters, SYN protection, and dynamic DDoS lists.

Quick safety tips
Use a limited API user and IP-restrict it in RouterOS.
Serve this site via HTTPS; never expose it without auth.
Enable api (or api-ssl) only; disable unused services.
Verify WAN/LAN lists in the SafeKit before applying.
Apply SafeKit (RouterOS terminal)

Replace WAN/LAN names and management IPs at the top, then paste the script.

# See your SafeKit script provided earlier in chat (RAW/FILTER rules, Netwatch, Traffic-Monitor, scheduler)
Read FAQ

FAQ

Which API port?

Default 8728 (plain API). For TLS use 8729 and a PHP RouterOS API class that supports SSL. Set $rbport in db.conf.php.

Why “Could not resolve PPPoE interface”?

Your dynamic interface might not be pppoe-username. Our dashboard resolves by user, caller-id, and fuzzy name/comment before falling back.

What permissions does the API user need?

Read access to /ppp, /interface, and /system. For password changes or writes, grant minimal additional scopes as required.

Can I change chart colors?

Yes — open puller.php and adjust Chart.js axis tick colors. We’ve set X = yellow, Y = white by default.