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×.

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.



