---
title: Installing MikroSpeed Addon
description: "**MikroSpeed Addon: Setup, Multi-Server Architecture & Settings Guide** Document Category: Addons & Integrations | Target Audience: Network Administrators, System Engineers, & ISP Operators | Applies to: MikroWizard v2.0+ (Pro & Enterprise) ## 📌 1. Overview & How MikroSpeed Works **MikroSpeed**…"
url: "https://mikrowizard.com/docs/installing-mikrospeed-addon/"
updated: "2026-08-13"
category: Getting started
---

# Installing MikroSpeed Addon

**MikroSpeed Addon: Setup, Multi-Server Architecture & Settings Guide**

 Document Category: Addons & Integrations | Target Audience: Network Administrators, System Engineers, & ISP Operators | Applies to: MikroWizard v2.0+ (Pro & Enterprise)

## 📌 1. Overview & How MikroSpeed Works

**MikroSpeed** is an automated, enterprise-grade bandwidth benchmarking agent engineered for MikroTik RouterOS devices. It bridges **MikroWizard** with a high-speed Rust implementation (btest-rs) of the MikroTik Bandwidth Test protocol.

 Architecture Flow

```
┌─────────────────────────────────────────────────────────────┐
│                      MikroWizard Core                       │
└──────────────────────────────┬──────────────────────────────┘
                               │ HTTP REST API (Port 8200)
                               │ (Bearer Token Auth)
                               ▼
┌─────────────────────────────────────────────────────────────┐
│                 MikroSpeed Server / POP Agent               │
│                                                             │
│  ┌──────────────────────┐      ┌─────────────────────────┐  │
│  │   FastAPI Manager    │ ───► │  btest-rs Rust Engine   │  │
│  │     (Port 8200)      │      │      (Port 2000)        │  │
│  └──────────────────────┘      └────────────┬────────────┘  │
└─────────────────────────────────────────────┼───────────────┘
                                              │ MikroTik BTest
                                              │ Protocol
                                              ▼
                                 ┌─────────────────────────┐
                                 │   MikroTik RouterOS     │
                                 └─────────────────────────┘
```

Architecture

### Key Technical Highlights:

- **Modern EC-SRP5 Authentication**: Fully compatible with RouterOS v6.43+ and v7.x using Curve25519 Weierstrass SRP authentication.
- **On-Demand Lifecycle**: Spawns isolated BTest server sessions dynamically and auto-terminates processes after test completion + safety buffers to conserve server CPU and RAM.
- **Multi-Location Auto-Detection**: Supports deploying multiple speed test servers across different data centers or POPs. MikroWizard automatically detects and selects the lowest latency server for each router.
- **Granular Benchmarking**: Measures TCP Downlink, TCP Uplink, UDP Downlink, UDP Uplink, Ping latency, and Jitter.

## 🌐 2. Network & System Requirements

Before installing MikroSpeed, ensure the target server and network firewalls satisfy the following requirements:

### Server Prerequisites

- **Operating System**: Linux (Ubuntu 20.04+, Debian 11+, RHEL 8+).
- **Runtime**: Docker installed and active (`docker.service`).
- **Privileges**: Root access (`sudo`).

### Network Ports & Firewall Rules

| Port | Protocol | Scope | Description |
| --- | --- | --- | --- |
| **2000** | TCP & UDP | Public / LAN | **MikroTik BTest Engine Port**: Must be open to all managed MikroTik routers. |
| **8200** | TCP | Private / Restricted | **REST API Control Port**: Handles authenticated commands from MikroWizard. |

    Firewall Security Notice for Port 8200: Port 8200 handles API management commands and requires a valid Bearer Token. If you bind Port 8200 to a public IP (0.0.0.0), restrict inbound traffic on Port 8200 via ufw or iptables strictly to the IP address of your MikroWizard server.

## 💻 3. Installing MikroSpeed Locally (Same Server as MikroWizard)

If you are running MikroSpeed on the **same physical server or VM** as MikroWizard, the automated installer will deploy the Docker container and automatically integrate it into `/opt/mikrowizard/server-conf.json`.

### Step 1: Run the 1-Line Installer

Open a terminal on your MikroWizard server and execute:

 Bash

```
curl -fsSL https://raw.githubusercontent.com/MikroWizard/MikroSpeed/master/install.sh | sudo bash
```

Bash

### Step 2: Interactive Prompt Configuration

During installation, accept the default values for local installation:

- **BTest Server Listen Port [2000]**: Press `Enter` (Default: `2000`).
- **HTTP API Manager Port [8200]**: Press `Enter` (Default: `8200`).
- **HTTP API Listen Host IP [127.0.0.1]**: Press `Enter` (Default: `127.0.0.1`).

 Bash

```
--- MikroSpeed Configuration ---
BTest Server Listen Port [2000]:
HTTP API Manager Port [8200]:

🔒 SECURITY NOTICE - API Listen IP Address:
   • 127.0.0.1 (Default) : Restricts REST API access to local loopback interface.
   • 0.0.0.0             : Exposes REST API to all network interfaces (requires firewall protection).
HTTP API Listen Host IP [127.0.0.1]:

Pulling MikroSpeed Docker image (mikrowizard/speedtest-addon:latest) from Docker Hub...
Starting container...
Waiting for MikroSpeed Agent to initialize.... Online!
Integrating with local MikroWizard server config...
Reloading MikroWizard server...
---
Success! MikroSpeed is running.
API Token: e2f651f2d30a8afa6d657526c2db3b08270b536a436603e3a7567cfb5bdeaeee
BTest Port: 2000
API Host: 127.0.0.1
API Port: 8200
```

Bash Note: For local installations (127.0.0.1), the installer automatically patches server-conf.json and reloads MikroWizard. No manual configuration in the UI is required!

## 🌍 4. Installing MikroSpeed on Remote Servers & POP Locations

To measure true network throughput across geographically distributed networks, ISPs and enterprises can deploy MikroSpeed agents on multiple remote servers (e.g., London POP, Frankfurt DC, Tokyo Edge).

### Step 1: Run Installer on Remote Server

SSH into the remote server (e.g., `192.168.1.150` or `london.speedtest.mydomain.com`) and run:

 Bash

```
curl -fsSL https://raw.githubusercontent.com/MikroWizard/MikroSpeed/master/install.sh | sudo bash
```

Bash

### Step 2: Configure Public / LAN Binding

When prompted for the IP address, specify `0.0.0.0` or the server's public/LAN IP:

 Bash

```
HTTP API Listen Host IP [127.0.0.1]: 0.0.0.0
```

Bash

### Step 3: Copy the Generated API Token

Upon completion, copy the printed **API Token**:

 Bash

```
==================================================
Success! MikroSpeed is running.
API Token: e2f651f2d30a8afa6d657526c2db3b08270b536a436603e3a7567cfb5bdeaeee
BTest Port: 2000
API Host: 0.0.0.0
API Port: 8200
==================================================
```

Bash Tip: If you ever lose your API Token, retrieve it anytime on the server by running: cat /opt/mikrowizard/speedtest/addon_token

## ⚙️ 5. Tutorial: Adding Remote Speed Test Servers in MikroWizard Settings

After deploying a remote MikroSpeed agent, add it to your MikroWizard cluster through the web interface.

### Step-by-Step UI Setup:

1. Log in to your **MikroWizard Admin Dashboard**.
2. Navigate to **System Settings** > **Speed Test Servers** tab.
3. Under **Add Speed Test Server**, fill in the following fields:

| Field Name | Description | Example Value |
| --- | --- | --- |
| **Server Name** | Friendly descriptive label for location identification | London POP Server |
| **Host/IP Address** | IP address or FQDN of the remote MikroSpeed server | 192.168.1.150 or london.speed.mydomain.com |
| **API Port** | HTTP REST API management port | 8200 |
| **BTest Port** | MikroTik Bandwidth Test listening port | 2000 |
| **Authentication Token (API Key)** | The 64-character token generated during installation | e2f651f2d30a8afa6d657526c2db3b0827... |

4. Click the green **+ Add Server** button to save.

## 📡 6. Multi-Server & Multi-Location Architecture

MikroWizard supports adding an unlimited number of remote MikroSpeed servers across your network:

 Multi-Server Architecture

```
                          ┌────────────────────────┐
                          │   MikroWizard Master   │
                          └───────────┬────────────┘
                                      │
           ┌──────────────────────────┼──────────────────────────┐
           │ Auto-Latency Check       │ Auto-Latency Check       │ Auto-Latency Check
           ▼                          ▼                          ▼
┌──────────────────────┐   ┌──────────────────────┐   ┌──────────────────────┐
│  London POP Server   │   │ Frankfurt DC Server  │   │  Tokyo Edge Server   │
│ (192.168.1.150:8200) │   │ (10.50.0.20:8200)    │   │ (172.16.80.5:8200)   │
└──────────────────────┘   └──────────────────────┘   └──────────────────────┘
```

 Multi-Server

### Auto-Detection & Lowest Latency Routing

When performing a bandwidth test on any router, MikroWizard offers an **Auto-detect / Lowest Latency** mode:

- MikroWizard measures the network latency (ping) between the target router and all configured speed test servers.
- It automatically selects the optimal server with the lowest round-trip latency to ensure accurate throughput benchmarking without routing bottlenecks.

## 📊 7. Running & Verifying Bandwidth Tests

Once a local or remote MikroSpeed server is configured, bandwidth tests can be executed directly from any router's management panel:

1. Go to **Device Management** > **Devices** and click on your target router (e.g. `CHR-Tower01`).
2. Select the **Speed Test** tab.
3. Select your **Target Speed Test Server** (or `Auto-detect / Lowest Latency`) and **Test Duration**.
4. Click **► Start Speed Test**.

### Benchmarking Metrics Delivered:

| Metric | Sample Output | Description |
| --- | --- | --- |
| **Ping Latency** | 390us | Round-trip ping latency between router and speed test server. |
| **Jitter** | 161us | Latency variation consistency measurement. |
| **TCP Down / Up** | 2.49 Gbps / 126 Mbps | Multi-connection TCP download and upload throughput. |
| **UDP Down / Up** | 233 Mbps / 1.22 Gbps | High-throughput UDP stream download and upload throughput. |

## ❓ 8. Troubleshooting & FAQ

| Issue | Cause | Solution |
| --- | --- | --- |
| API returns 401 Unauthorized | Incorrect API token in MikroWizard Settings | Run `cat /opt/mikrowizard/speedtest/addon_token` on the speed test server and update the Token field in Settings. |
| Connection Timed Out on Port 2000 | Firewall blocking TCP/UDP Port 2000 | Ensure firewall allows incoming connections: `sudo ufw allow 2000/tcp && sudo ufw allow 2000/udp`. |
| Remote server API not responding on Port 8200 | API host was set to 127.0.0.1 during install | Re-run installer on remote server and set HTTP API Listen Host IP to 0.0.0.0. Ensure port 8200 is open to MikroWizard IP. |
| MikroWizard core directory not found | Main MikroWizard missing on local server | Ensure main MikroWizard is installed at /opt/mikrowizard. For remote servers, choose remote installation mode. |
