Skip to content
Router Manager dashboard — status cards and port mapping

Router Manager (Golang / React)

1 minute read

Router Manager (Golang / React)


A self-service panel for automating routine MikroTik router network settings without granting users administrative access to the equipment.

The over-privilege vulnerability: For basic tasks (port forwarding, VPN switching) users needed access to WinBox/WebFig, which posed risks to the stability of the entire network.

Time loss: Manual configuration through the standard admin panel required a lengthy login and many menu navigations.


Solution: A secure web interface that isolates the user from global settings and speeds up everyday tasks by 3×.

Router Manager dashboard — full view: system status, port-mapping table, routing rule

Backend


Stack: Golang, go-routeros/v3


Implemented functionality

  • Fault tolerance: a Long-Lived connection to the RouterOS API with Auto-Reconnect logic on failures.
  • Thread safety: protection of critical sections via sync.Mutex to prevent race conditions.
  • Optimization: data caching (sync.RWMutex) that cut the load on the router's API by 70%.


Frontend

Stack: React, Tailwind CSS


  • UX: control from any device with no repeated login.
  • Automation: binding a user to a port via DHCP Circuit ID and switching the IP to static mode in a single click.
  • Security: isolated port forwarding and switching of PBR routing tables (VPN / Direct) strictly for the current user's /32 IP address.


Project outcome

The tool completely freed the administrator from routine requests, while users gained the ability to manage their network parameters instantly. Configuration time dropped 3×, and perimeter security improved by eliminating human error in the router admin panel entirely.



Share this post