πŸ‡΅πŸ‡° Proudly made in Pakistan

ISP Boost - the all-in-one ISP billing & RADIUS platform

Supercharge your ISP.

Run your entire Internet service from one panel - customers, packages, billing, resellers, NAS, and reports. Install it in minutes with a single command on your own server or any cloud VPS, anywhere in the world. No Linux skills required.

FreeRADIUS 3.2MikroTik / any NAS Prepaid & postpaidReseller / manager tree Cards & vouchersAuto-updates PKR-ready billing

Introduction

ISP Boost is a complete management system for Internet Service Providers and network operators. It bundles a RADIUS server, a billing engine, a customer/reseller hierarchy, and a modern web control panel into a single product that runs on one server - on-prem or any cloud.

It's built for the real world of ISPs: prepaid & postpaid plans, reseller balances, activation invoices, vouchers/cards, FUP & quotas, MAC binding, session and authentication logs, and flexible money handling. You buy it once, install it on your own server or any cloud VPS, and your data stays with you.

You own the serverSelf-hosted on your own server or any cloud - you control the machine and the data.
Built for resellersGive each reseller their own scoped panel, wallet balance and pricing - they activate their own users from their balance.
One-command installA single command on a fresh Ubuntu server or cloud VPS and you're live. Auto-updates keep you current.

Key features

AreaWhat you get
CustomersUnlimited users, profiles/packages, expiry & FUP, quotas, MAC lock, bulk actions, KYC documents
BillingPrepaid & postpaid, activation/renewal invoices, receipts, credit users, double-entry ledger, PKR currency
ResellersMulti-level manager tree, per-reseller wallet, cascading pricing, balance-gated activation, scoped reports
RADIUSFreeRADIUS 3.2, MikroTik & standard NAS, live sessions, auth log, disconnect (CoA)
CardsPrepaid card / voucher batches, redeem & verify
ReportsActivations, sessions, journals, profits, receipts, auth log - all filterable
OperationsTickets, inventory, HR, assets, custom form fields, branded reseller domains
PlatformOne-time setup wizard, license & trial, secure auto-updates, role-based access control

1. Hardware requirements

Before installing, make sure your server meets the recommended specs:

Tip: Runs on a physical server, a VM (Proxmox, VMware, Hyper-V) or any cloud VPS (DigitalOcean, Linode, AWS, Vultr, Contabo, Hetzner…) - anywhere in the world. Just start from a fresh Ubuntu 22.04/24.04 install.

2. Installation (one command)

Good news: installing takes a single command. ISP Boost runs on any fresh Ubuntu Server 22.04 / 24.04 - on your own hardware or any cloud VPS, anywhere in the world (DigitalOcean, Linode, AWS, Vultr, Contabo, Hetzner…). No on-prem server required.

  1. Get a server - a fresh Ubuntu 22.04/24.04 machine or cloud VPS with root/sudo access (4 CPU, 8 GB RAM, 120 GB SSD recommended).
  2. Run the installer - SSH in as root and paste:
    URL=https://get.ispboost.com/install.sh && if [ -f /usr/bin/curl ];then curl -ksSO $URL ;else wget --no-check-certificate -O install.sh $URL;fi; bash install.sh
    It installs PHP, MySQL, Redis, Nginx and FreeRADIUS and starts the queue & scheduler - about 10–15 minutes. It installs alongside your OS and does not wipe the disk.
  3. Open the panel - browse to the server's IP or your domain (http://<server-ip>). You'll land on the Setup Wizard. Admin credentials are also saved to /root/h3radius-credentials.txt.
Tip: On a cloud VPS, point a domain at the server's public IP and enable HTTPS - your panel and customer portal are then reachable from anywhere in the world.

3. First-time setup wizard

The very first time you open the panel, ISP Boost runs a short one-time setup wizard so the system is ready in minutes:

  1. Company details - your company name, phone, email, address and timezone (used on invoices, the portal and notifications).
  2. Administrator account - set your admin username and a strong password.
  3. Activate or start a trial:
    • Enter your license key - paste the key we sent you to unlock your plan, or
    • Start the free 3-month trial - explore the full system with no key (up to 50 users).
  4. Finish - you're taken to the dashboard. The wizard never shows again.
Tip: You can switch from trial to a paid plan anytime - go to License β†’ Change / upgrade key and paste your key. It takes effect immediately.

4. License & free trial

ISP Boost is licensed per installation. Each plan sets a maximum number of users - this counts every subscriber record that currently exists (not concurrent/active-at-once sessions), so an expired or disabled subscriber still counts until it's deleted:

PlanUsersNAS/routersGood for
Free50 (3 months)2Evaluating the full system
Starter1,00010Small ISP / single area
Professional5,000100Growing ISPs with resellers
Enterprise20,000300Large multi-area operators
UnlimitedNo user capUnlimitedNo cap, ever

The license is bound to your server's hardware on activation, so a key can't be copied to another machine. If your license lapses, the panel keeps working through a short grace period and then becomes read-only until you renew - your customers stay online the whole time (RADIUS is never interrupted).

5. Quick start

  1. Log in with the admin account you created in the wizard.
  2. Create a Profile (package) - Profiles β†’ New. Set speed, price, validity and FUP/quota.
  3. Add your NAS - NAS β†’ New. Enter your router's IP and a shared secret (see the next section).
  4. Create a user - Users β†’ New. Pick the profile, set the username/password, and activate.
  5. Connect the customer - their router/PPPoE/Hotspot now authenticates against ISP Boost.

6. MikroTik: complete setup from scratch (Device, NAS, PPPoE, Hotspot)

This section takes a MikroTik router from a blank device to fully billing customers through ISP Boost, both PPPoE and Hotspot. Every network-facing step is given as Winbox clicks and the equivalent CLI/Terminal command - use whichever you're more comfortable with, they do the same thing. Skip 6.1 if your router already has working internet/LAN.

6.1 Device setup (basic router config)

A fresh/reset RouterOS device needs a WAN link, a LAN bridge, and NAT before it's usable at all. Skip this if it's already online.

WinboxCLI (Terminal)
System β†’ Identity - name the router (e.g. ISP-Main)./system identity set name=ISP-Main
IP β†’ DHCP Client β†’ + β†’ Interface = your WAN port (e.g. ether1) β†’ OK. (Skip if your WAN uses a static IP or PPPoE-out to an upstream ISP - configure that instead.)/ip dhcp-client add interface=ether1 disabled=no
Bridge β†’ + β†’ Name bridge1 β†’ OK. Then Bridge β†’ Ports β†’ + for each LAN port (e.g. ether2, ether3) β†’ Bridge = bridge1./interface bridge add name=bridge1
/interface bridge port add bridge=bridge1 interface=ether2
/interface bridge port add bridge=bridge1 interface=ether3
IP β†’ Addresses β†’ + β†’ Address 192.168.88.1/24, Interface bridge1 β†’ OK./ip address add address=192.168.88.1/24 interface=bridge1
IP β†’ Firewall β†’ NAT β†’ + β†’ Chain srcnat, Out. Interface ether1 (your WAN) β†’ Action tab β†’ masquerade β†’ OK./ip firewall nat add chain=srcnat out-interface=ether1 action=masquerade
Tip: Don't run the LAN as plain open DHCP if you're going to sell service on it - PPPoE or Hotspot (below) is what actually gates access by subscriber. A LAN DHCP server is only for local/admin/management devices, not customers.

6.2 NAS configuration (in ISP Boost)

  1. Go to NAS β†’ New NAS and fill in: Shortname (a short identifier, e.g. mt-main), NAS name / IP (your MikroTik's IP, reachable from the ISP Boost server), Secret (create a strong shared secret - you'll need the exact same value on the MikroTik), Type = mikrotik.
  2. Save, then go to NAS β†’ toolbar β†’ Reload FreeRADIUS.
Do not skip this. FreeRADIUS only loads its NAS list at startup, so a newly added NAS is invisible to it until reloaded - every request from it is silently dropped, no reply at all. On the MikroTik this shows up as the login getting stuck on "already authorizing, retry later" (Hotspot) or a PPPoE connection that never authenticates, which looks like a bug but is really just a missing reload. Click Reload FreeRADIUS and wait a few seconds before testing. Required again any time you add a NAS or change its IP/secret - not for new profiles or users.

6.3 RADIUS client on the MikroTik

This is the one-time link between the router and ISP Boost - both PPPoE and Hotspot reuse it.

WinboxCLI (Terminal)
Left menu RADIUS β†’ + (Add New) β†’ Services tab: tick ppp and hotspot. Address = your ISP Boost server's IP. Secret = the exact shared secret from 6.2. Authentication Port 1812, Accounting Port 1813 β†’ OK./radius add service=ppp,hotspot address=<ISP-BOOST-IP> secret=<your-shared-secret> authentication-port=1812 accounting-port=1813
Back in the RADIUS window, toolbar β†’ Incoming button (widen the window or use the Β» overflow if it's hidden) β†’ tick Accept β†’ Port 3799 β†’ OK. This enables CoA (live disconnect/update from the panel)./radius incoming set accept=yes port=3799
Tip: Watch for a trailing space when pasting the secret into the Winbox field - it's the single most common reason two identical-looking secrets don't actually match.

6.4 PPPoE setup

On the MikroTik:

WinboxCLI (Terminal)
IP β†’ Pool β†’ + β†’ Name ppp-pool, Addresses 10.10.0.2-10.10.0.254 β†’ OK./ip pool add name=ppp-pool ranges=10.10.0.2-10.10.0.254
PPP β†’ Profiles tab β†’ + β†’ Name isp-default, Local Address 10.10.0.1, Remote Address ppp-pool, DNS Server 8.8.8.8 β†’ OK. Leave Rate Limit blank - RADIUS pushes it per-subscriber from the assigned ISP Boost profile./ppp profile add name=isp-default local-address=10.10.0.1 remote-address=ppp-pool dns-server=8.8.8.8
PPP β†’ PPPoE Servers tab β†’ + β†’ Service Name isp-pppoe, Interface = your customer-facing interface (e.g. bridge1, or a dedicated VLAN), Default Profile isp-default, Authentication chap,mschap2 β†’ OK./interface pppoe-server server add service-name=isp-pppoe interface=bridge1 default-profile=isp-default authentication=chap,mschap2 disabled=no
PPP window β†’ toolbar AAA button β†’ tick Use RADIUS, tick Accounting β†’ OK./ppp aaa set use-radius=yes accounting=yes

In ISP Boost:

  1. Profiles β†’ New profile: Type = Prepaid (or Postpaid), set rate limit (e.g. 6M/6M), validity period and price. Syncs to FreeRADIUS automatically.
  2. Users β†’ New user: set username, password, assign the profile. These become the subscriber's PPPoE login.

Give the customer their username/password to enter in their own router's PPPoE client (or test from another MikroTik: /interface pppoe-client add interface=ether1 user=<username> password=<password> disabled=no).

6.5 Hotspot setup

On the MikroTik - create the Hotspot service (skip if it already exists):

WinboxCLI (Terminal)
IP β†’ Hotspot β†’ click hotspot Setup (the wizard button, not a tab) β†’ Hotspot Interface: your wifi/LAN interface (e.g. bridge1) β†’ accept the pre-filled Local Address/Pool β†’ Certificate none β†’ SMTP 0.0.0.0 (skip) β†’ DNS 8.8.8.8 β†’ DNS Name optional β†’ finish (the built-in local hotspot user it offers can be ignored, real users go through RADIUS/vouchers)./ip hotspot setup (interactive wizard - same prompts as the GUI, answer them in order)
IP β†’ Hotspot β†’ Server Profiles β†’ open the profile the wizard created β†’ RADIUS tab β†’ tick Use RADIUS β†’ OK./ip hotspot profile set [find] use-radius=yes

Walled Garden + login-page redirect - needed because ISP Boost hosts the actual voucher-login page, not the router itself:

WinboxCLI (Terminal)
IP β†’ Hotspot β†’ Walled Garden β†’ + β†’ Dst. Host your-domain.com β†’ Action allow β†’ OK. Repeat with *.your-domain.com./ip hotspot walled-garden add dst-host=your-domain.com action=allow
/ip hotspot walled-garden add dst-host=*.your-domain.com action=allow

Then point the router's login page at ISP Boost: in Winbox, Files list β†’ open hotspot/login.html (Edit, or drag it out, edit, drag back) and replace its contents with:

<html><head><meta http-equiv="refresh" content="0;url=https://your-domain.com/hotspot?link-login-only=$(link-login-only)&mac=$(mac)&ip=$(ip)"></head><body></body></html>

RouterOS substitutes the $(link-login-only)/$(mac)/$(ip) placeholders itself when it serves this file, so the redirect carries the router's real login context to the ISP Boost portal - after a customer enters a valid voucher there, the portal auto-submits the credentials straight back to that login URL.

In ISP Boost - activate voucher selling:

  1. Profiles β†’ New profile: set Type = Hotspot, rate limit, validity period and price.
  2. Cards β†’ generate vouchers against that Hotspot profile.
Current scope: the public Hotspot portal is voucher-redemption only - there's no self-signup or a separate branding/session-limit settings page yet. Branding is just your company name from Settings β†’ Organization.

6.6 Verify everything end to end

  1. PPPoE: connect a test device/router with the username/password from 6.4. It should get an IP from the pool within seconds.
  2. Hotspot: connect a test device to the wifi, it should redirect to the ISP Boost voucher page; enter a voucher from 6.5.
  3. Confirm it end to end: in ISP Boost, open that user β†’ Sessions tab. An active session should appear within ~30 seconds - that confirms full authentication and accounting, not just a page redirect or PPP negotiation.

If login doesn't work, check in this order: (1) did you click Reload FreeRADIUS after adding the NAS (6.2)? (2) does the shared secret match exactly on both sides, no extra spaces (6.3)? (3) is UDP 1812/1813 reachable from the MikroTik to the ISP Boost server (firewall)? (4) open NAS β†’ your NAS β†’ Console for a live log of what FreeRADIUS sees from that specific router. (5) Hotspot only: is the Walled Garden entry in place, and does hotspot/login.html actually contain the redirect?

7. Resellers & roles

ISP Boost has a built-in multi-level reseller (manager) system. Each reseller logs into the same panel but sees only their own customers, with their own wallet balance and pricing.

Tip: Keep "Users Β· index all" off for reseller roles so each reseller stays scoped to their own subtree. It's clearly flagged in the role editor.

8. Updates

ISP Boost checks for updates automatically and can install them securely in the background (with a verified checksum and an automatic backup before each upgrade). When a new version is published, eligible servers update themselves - you can also see the current version under License.

9. Troubleshooting

SymptomWhat to check
Can't reach the panelConfirm the server's IP or domain and that it's reachable (open port 80/443 in your cloud firewall); try http://<server-ip>.
"Already authorizing, retry later" on MikroTikYou added or changed a NAS but didn't click NAS β†’ Reload FreeRADIUS - see section 6.2.
Users can't connectCheck the NAS IP & shared secret match, and the user is active & not expired. See Reports β†’ Auth log.
Voucher rejected on the hotspot portalConfirm the voucher was generated under a Hotspot-type profile and hasn't already been redeemed - see section 6.5.
Hotspot login page never appears / router doesn't redirectThe MikroTik Hotspot server itself isn't set up yet - run the Hotspot Setup wizard first, see section 6.5.
"Panel is read-only"The license has lapsed past its grace period - go to License and enter/renew your key.
Reseller can't activateTop up their wallet balance - activation is charged to the reseller.

Uninstalling ISP Boost

If you need to completely remove ISP Boost from a server, run the uninstaller. It reverses everything the installer set up in the first place.

⚠️ Warning - this is destructive and irreversible.
The full uninstall permanently deletes the ISP Boost application and, with the flags below, the MySQL database (all subscribers, invoices and history), the web server (nginx), PHP, Redis and FreeRADIUS, plus their config and data. There is no undo. Take a backup first if you might need the data.

Remove everything (app + database + all packages installed during setup - nginx, PHP, MySQL, Redis, FreeRADIUS), no prompts:

curl -fsSL https://get.ispboost.com/uninstall.sh | sudo bash -s -- --purge-db --purge-packages --yes

Prefer to be asked before anything is dropped? Run it interactively - it removes the app and services, then prompts before deleting the database:

curl -fsSL https://get.ispboost.com/uninstall.sh | sudo bash
Tip: to remove ISP Boost but keep the server stack (PHP/MySQL/nginx) for another app, drop --purge-packages: … | sudo bash -s -- --purge-db --yes.

FAQ

Does the user limit count concurrent/active users, or total subscribers ever created?

Total subscribers that currently exist in your database - not concurrent/active-at-once sessions. A subscriber counts toward your plan's limit the moment it's created (including the moment a voucher gets redeemed, which materialises a real subscriber record), and keeps counting even after it expires or is disabled. Expiring does not free up a slot. The only way to free a slot is to actually delete the old subscriber record (soft-deleted/trashed records don't count).

Can I create unlimited vouchers/users throughout the year, as long as active users don't exceed my plan limit at once?

No. Every voucher that gets redeemed permanently uses a slot until that specific record is deleted, regardless of whether it's still "active." If you run a high-turnover voucher business, periodically delete old/expired/unused subscriber records to stay under your cap, or plan for a higher tier if your real monthly volume of new vouchers is high.

What happens if I go over my user limit?

Not an instant lock. There's a grace period (the same grace window as license expiry) before the panel goes read-only - and even then, only the admin panel is affected (you can't create new users/vouchers). Subscribers already provisioned keep authenticating through FreeRADIUS normally, since RADIUS talks directly to the database and isn't gated by the license check.

Exactly which IP and secret do I use when adding a NAS?

NAS name/IP = your MikroTik's IP address, reachable from the ISP Boost server. Secret = any strong string you choose - it just has to match exactly (character-for-character, no extra spaces) on both the NAS entry in ISP Boost and the /radius add command on the MikroTik. See section 6.2/6.3 above for the full steps.

Do I need to reload FreeRADIUS every time I make a change?

No - only after adding a new NAS, or changing an existing NAS's IP or secret. Creating profiles, users, or vouchers never requires a reload; those take effect immediately.

How do I confirm RADIUS authentication is actually working, not just that the hotspot page redirected?

Open the subscriber in ISP Boost and check the Sessions tab. A real successful authentication creates an active session there within about 30 seconds - that confirms the full round trip (authentication and accounting), not just that the captive portal page loaded.

Support & contact

ISP Boost is built and supported by ISP Boost in Pakistan. We're here to help you get set up and grow.