This repository provides a complete solution for integrating AmneziaWG (a WireGuard fork with traffic obfuscation) with MikroTik RouterOS. It includes multi-architecture Dockerfiles (amd64, arm, arm64) that build minimal Alpine-based containers running the AmneziaWG client, along with OpenRC init scripts to manage the VPN tunnel and configure NAT/MSS clamping via nftables or iptables. The repository also contains pre-built container images and a detailed step-by-step guide (in Russian) covering two deployment options: running the container directly inside RouterOS (for devices that support containers) or using a separate Linux machine as a VPN gateway. The actual code is limited to Dockerfiles and shell scripts; the bulk of the repository is documentation and build artifacts. It is not a standalone application but a deployment pattern and configuration toolkit for network engineers.
This is a large Go and TypeScript project for managing and monitoring network devices, specifically MikroTik routers. It has a web interface, role-based access control, and supports features like backups, settings management, and notifications.
This is a PHP library for interacting with MikroTik RouterOS devices via their proprietary API protocol. It provides a clean, object-oriented client that manages TCP socket connections (optionally over SSL), handles authentication with both legacy (pre-6.43) and modern login schemes, and supports executing arbitrary RouterOS commands. The library also includes an SSH-based export feature using the spatie/ssh package. The codebase is well-structured with clear separation of concerns: a Config class for connection parameters, a Query class for building API commands, a Client class for sending queries and reading responses, and low-level stream abstractions (ResourceStream, StringStream) for I/O. The APILengthCoDec class is a notable component that correctly implements the binary length encoding used in the RouterOS wire protocol. The repository includes a Laravel service provider and facade for easy integration. While the library is functionally complete and has been used in production (503 stars, 180 forks), the original author has explicitly stated it is unmaintained, and the project shows signs of technical drift (e.g., outdated spatie/ssh dependency, PHP 8.4 compatibility workarounds). The code remains a solid example of a specialized API client with good engineering practices.