chr-test-router-init

Provisions a fresh CHR MikroTik test router to the state the tik4net integration suite expects.

198|97|Updated Aug 16, 2015
One-click install
npx skills add https://github.com/danikf/tik4net --skill chr-test-router-init-danikf
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: chr-test-router-init
Source: https://github.com/danikf/tik4net/tree/main/.claude/skills/chr-test-router-init
Command: npx skills add https://github.com/danikf/tik4net --skill chr-test-router-init-danikf

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve? After a CHR virtual router is reset, restored, netinstalled, or recreated in Hyper-V, it no longer matches the state the tik4net integration test suite assumes — wrong IP/MAC/identity, missing packages, no certificates, disabled services, and drifting clocks all cause confusing test failures. This Skill walks through re-provisioning the router end to end, verifying every step against the live device. ## Core Features & Use Cases - Discovery and coordinate reconciliation: Runs an MNDP broadcast scan to find MikroTik devices on the segment, lets the user confirm which one is the test box, and syncs host, MAC, and identity into tik4net.integrationtests/App.config. - Full router provisioning: Installs the complete RouterOS package set via FTP upload and reboot, configures NTP and timezone, enables all required services (api, api-ssl, www, www-ssl, telnet, ssh, winbox, ftp, discover), and creates self-signed CA/server certificates for the SSL transports. - Verification and documentation hygiene: Creates a recovery admin account, runs an 11-transport smoke matrix (Api, ApiSsl, Rest, RestSsl, Telnet, Ssh, MacTelnet, WinBox variants), and reconciles the RouterOS version promised in README and the wiki with the live router. - Use Case: After recreating the CHR VM in Hyper-V, run this Skill to discover the router, update App.config, install all 12 packages, set up certificates, and confirm all 11 transports connect before handing off to the test suite. ## Quick Start Re-initialize my CHR test router — it was just reset to defaults, so discover it on the network, update App.config, and bring it up to the state the tik4net integration suite expects.

Frequently Asked Questions about chr-test-router-init

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I set up a fresh CHR router for tik4net integration tests?

Run the chr-test-router-init skill, which discovers the router via MNDP, reconciles App.config coordinates, installs the full package set, enables all required services, creates SSL certificates, and verifies all 11 transports. Every step ends with a live verification against the router.

How do I find which MikroTik device on my network is the test router?

Use the mikrotik_discover MCP tool, which listens for MNDP broadcasts on UDP 5678 without credentials. It lists all MikroTik devices with identity, IP, MAC, and board name, then you confirm which entry is the test box before updating App.config.

Why do api-ssl and rest-ssl connections fail after a router restore?

A restore wipes the router's certificate store, leaving api-ssl and www-ssl with certificate=none so they cannot accept connections. The skill rebuilds a self-signed CA and server certificate and binds them to both SSL services.

Does the CHR x86_64 image use the all_packages-x86_64 archive?

No. The x86_64 CHR uses the archive named all_packages-x86-<version>.zip; the x86_64-named file returns a 404. The package version must exactly match the live RouterOS version or the npk files will not install.

Why does the CHR router stall on large API reads in Hyper-V?

A wide VM (e.g., 16 vCPUs) is hard for the hypervisor to schedule, stalling the router mid-read for 30 seconds at a time. Setting the CHR VM to 2 vCPUs and disabling Dynamic Memory resolved the stalls in testing.

What RouterOS services must be enabled for all tik4net transports?

Nine services are required: api (8728), api-ssl (8729), www (80), www-ssl (443), telnet (23), ssh (22), winbox (8291), discover (5678/udp), and ftp (21). All must report disabled=false and invalid=false in /ip/service/print.