@tikoci/rosetta 0.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -0
- package/README.md +333 -0
- package/bin/rosetta.js +34 -0
- package/matrix/2026-03-25/matrix.csv +145 -0
- package/matrix/CLAUDE.md +7 -0
- package/matrix/get-mikrotik-products-csv.sh +20 -0
- package/package.json +34 -0
- package/src/assess-html.ts +267 -0
- package/src/db.ts +360 -0
- package/src/extract-all-versions.ts +147 -0
- package/src/extract-changelogs.ts +266 -0
- package/src/extract-commands.ts +175 -0
- package/src/extract-devices.ts +194 -0
- package/src/extract-html.ts +379 -0
- package/src/extract-properties.ts +234 -0
- package/src/link-commands.ts +208 -0
- package/src/mcp.ts +725 -0
- package/src/query.test.ts +994 -0
- package/src/query.ts +990 -0
- package/src/release.test.ts +280 -0
- package/src/restraml.ts +65 -0
- package/src/search.ts +49 -0
- package/src/setup.ts +224 -0
package/LICENSE
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2026 tikoci
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|
package/README.md
ADDED
|
@@ -0,0 +1,333 @@
|
|
|
1
|
+
# rosetta
|
|
2
|
+
|
|
3
|
+
MCP server for searching [MikroTik RouterOS documentation](https://help.mikrotik.com/docs/spaces/ROS/overview). Gives your AI assistant searchable access to 317 documentation pages, 4,860 property definitions, 40,000-entry command tree, and 144 hardware product specs — with direct links to help.mikrotik.com.
|
|
4
|
+
|
|
5
|
+
Tested with **Claude Desktop**, **Claude Code**, **VS Code Copilot** (including Copilot CLI), and **VS Code** on macOS and Linux.
|
|
6
|
+
|
|
7
|
+
## What is SQL-as-RAG?
|
|
8
|
+
|
|
9
|
+
Most retrieval-augmented generation (RAG) systems use vector embeddings to search documentation. This project takes a different approach: **SQLite [FTS5](https://www.sqlite.org/fts5.html) full-text search as the retrieval layer** — what we call SQL-as-RAG.
|
|
10
|
+
|
|
11
|
+
For structured technical documentation like RouterOS, full-text search with [BM25 ranking](https://www.sqlite.org/fts5.html#the_bm25_function) beats vector similarity. Technical terms like "dhcp-snooping" or "/ip/firewall/filter" are exact tokens — [porter stemming](https://www.sqlite.org/fts5.html#porter_tokenizer) and proximity matching handle the rest. No embedding pipeline, no vector database, no API keys. Just a single SQLite file that searches in milliseconds.
|
|
12
|
+
|
|
13
|
+
The data flows: **HTML docs → SQLite extraction → FTS5 indexes → MCP tools → your AI assistant.** The database is built once from MikroTik's official Confluence documentation export, then the MCP server exposes 10 search tools over stdio transport.
|
|
14
|
+
|
|
15
|
+
## What's Inside
|
|
16
|
+
|
|
17
|
+
- **317 documentation pages** from MikroTik's official help site (~515K words)
|
|
18
|
+
- **4,860 property definitions** with types, defaults, and descriptions
|
|
19
|
+
- **5,114 commands** in the RouterOS command hierarchy (551 directories, 34K arguments)
|
|
20
|
+
- **1,034 callout blocks** — warnings, notes, and tips with important caveats
|
|
21
|
+
- **144 hardware products** — CPU, RAM, storage, ports, PoE, wireless, license level, pricing
|
|
22
|
+
- **46 RouterOS versions tracked** (7.9 through 7.23beta2) for command history
|
|
23
|
+
- Direct links to help.mikrotik.com for every page and section
|
|
24
|
+
|
|
25
|
+
## Quick Start
|
|
26
|
+
|
|
27
|
+
Download a pre-built binary from [Releases](https://github.com/tikoci/rosetta/releases) — no Bun, Node.js, or other tools required.
|
|
28
|
+
|
|
29
|
+
### 1. Download
|
|
30
|
+
|
|
31
|
+
Go to the [latest release](https://github.com/tikoci/rosetta/releases/latest) and download the ZIP for your platform:
|
|
32
|
+
|
|
33
|
+
| Platform | File |
|
|
34
|
+
|----------|------|
|
|
35
|
+
| macOS (Apple Silicon) | `rosetta-macos-arm64.zip` |
|
|
36
|
+
| macOS (Intel) | `rosetta-macos-x64.zip` |
|
|
37
|
+
| Windows | `rosetta-windows-x64.zip` |
|
|
38
|
+
| Linux | `rosetta-linux-x64.zip` |
|
|
39
|
+
|
|
40
|
+
Extract the ZIP to a permanent location (e.g., `~/rosetta` or `C:\rosetta`).
|
|
41
|
+
|
|
42
|
+
### 2. Run Setup
|
|
43
|
+
|
|
44
|
+
Open a terminal in the extracted folder and run:
|
|
45
|
+
|
|
46
|
+
```sh
|
|
47
|
+
./rosetta --setup
|
|
48
|
+
```
|
|
49
|
+
|
|
50
|
+
On Windows:
|
|
51
|
+
```powershell
|
|
52
|
+
.\rosetta.exe --setup
|
|
53
|
+
```
|
|
54
|
+
|
|
55
|
+
This downloads the documentation database (~50 MB compressed, ~230 MB on disk) and prints configuration instructions for your MCP client.
|
|
56
|
+
|
|
57
|
+
> **macOS Gatekeeper:** If macOS blocks the binary, go to **System Settings → Privacy & Security** and click **Allow Anyway**, then run again. Or from Terminal: `xattr -d com.apple.quarantine ./rosetta`
|
|
58
|
+
>
|
|
59
|
+
> **Windows SmartScreen:** If Windows warns about an unrecognized app, click **More info → Run anyway**.
|
|
60
|
+
|
|
61
|
+
### 3. Configure Your MCP Client
|
|
62
|
+
|
|
63
|
+
The `--setup` command prints the exact config for your platform. Here's what it looks like for each client:
|
|
64
|
+
|
|
65
|
+
#### Claude Desktop
|
|
66
|
+
|
|
67
|
+
Edit your Claude Desktop config file:
|
|
68
|
+
- **macOS:** `~/Library/Application Support/Claude/claude_desktop_config.json`
|
|
69
|
+
- **Windows:** `%APPDATA%\Claude\claude_desktop_config.json`
|
|
70
|
+
|
|
71
|
+
Add (or merge into existing config):
|
|
72
|
+
|
|
73
|
+
```json
|
|
74
|
+
{
|
|
75
|
+
"mcpServers": {
|
|
76
|
+
"rosetta": {
|
|
77
|
+
"command": "/path/to/rosetta"
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
```
|
|
82
|
+
|
|
83
|
+
Replace `/path/to/rosetta` with the actual path printed by `--setup`. Then **restart Claude Desktop**.
|
|
84
|
+
|
|
85
|
+
#### Claude Code
|
|
86
|
+
|
|
87
|
+
```sh
|
|
88
|
+
claude mcp add rosetta /path/to/rosetta
|
|
89
|
+
```
|
|
90
|
+
|
|
91
|
+
#### VS Code Copilot
|
|
92
|
+
|
|
93
|
+
The simplest way: open the Command Palette (`Cmd+Shift+P` / `Ctrl+Shift+P`), choose **"MCP: Add Server…"**, select **"Command (stdio)"**, and enter the full path to the `rosetta` binary.
|
|
94
|
+
|
|
95
|
+
Or add to your User Settings JSON (`Cmd+Shift+P` → "Preferences: Open User Settings (JSON)"):
|
|
96
|
+
|
|
97
|
+
```json
|
|
98
|
+
"mcp": {
|
|
99
|
+
"servers": {
|
|
100
|
+
"rosetta": {
|
|
101
|
+
"command": "/path/to/rosetta"
|
|
102
|
+
}
|
|
103
|
+
}
|
|
104
|
+
}
|
|
105
|
+
```
|
|
106
|
+
|
|
107
|
+
### 4. Try It
|
|
108
|
+
|
|
109
|
+
Ask your AI assistant questions like:
|
|
110
|
+
|
|
111
|
+
- *"What are the DHCP server properties in RouterOS?"*
|
|
112
|
+
- *"How do I set up a bridge VLAN?"*
|
|
113
|
+
- *"Is the /container command available in RouterOS 7.12?"*
|
|
114
|
+
- *"What are the firewall filter default chains?"*
|
|
115
|
+
- *"Show me warnings about hardware offloading"*
|
|
116
|
+
- *"Which MikroTik routers have L3HW offload, and more than 8 ports of 48V PoE? Include cost."*
|
|
117
|
+
|
|
118
|
+
## MCP Tools
|
|
119
|
+
|
|
120
|
+
The server provides 10 tools, designed to work together:
|
|
121
|
+
|
|
122
|
+
| Tool | What it does |
|
|
123
|
+
|------|-------------|
|
|
124
|
+
| `routeros_search` | **Start here.** Full-text search across all pages with BM25 ranking |
|
|
125
|
+
| `routeros_get_page` | Retrieve full page content by ID or title. Section-aware for large pages |
|
|
126
|
+
| `routeros_lookup_property` | Look up a property by exact name (type, default, description) |
|
|
127
|
+
| `routeros_search_properties` | Search across 4,860 property names and descriptions |
|
|
128
|
+
| `routeros_command_tree` | Browse the `/ip/firewall/filter` style command hierarchy |
|
|
129
|
+
| `routeros_search_callouts` | Search warnings, notes, and tips across all pages |
|
|
130
|
+
| `routeros_command_version_check` | Check which RouterOS versions include a command |
|
|
131
|
+
| `routeros_device_lookup` | Hardware specs for 144 MikroTik products — filter by architecture, RAM, storage, PoE, wireless, LTE |
|
|
132
|
+
| `routeros_stats` | Database health: page/property/command counts, coverage stats |
|
|
133
|
+
| `routeros_current_versions` | Fetch current RouterOS versions from MikroTik (live) |
|
|
134
|
+
|
|
135
|
+
The AI assistant typically starts with `routeros_search`, then drills into specific pages, properties, or the command tree based on what it finds. Each tool's description includes workflow hints (e.g., "→ use `routeros_get_page` to read full content") and empty-result suggestions so the AI knows how to chain tools together — this is where most of the tuning effort goes.
|
|
136
|
+
|
|
137
|
+
## Alternative: Run with Bun
|
|
138
|
+
|
|
139
|
+
If you have [Bun](https://bun.sh/) installed and prefer not to use the pre-built binary — for example, to avoid Gatekeeper/SmartScreen warnings, or to inspect the code you're running — you can run the MCP server directly from source. No HTML export or command tree data is needed; the database is downloaded from GitHub Releases just like the binary option.
|
|
140
|
+
|
|
141
|
+
### 1. Install Bun
|
|
142
|
+
|
|
143
|
+
```sh
|
|
144
|
+
# macOS / Linux
|
|
145
|
+
curl -fsSL https://bun.sh/install | bash
|
|
146
|
+
# or: brew install oven-sh/bun/bun
|
|
147
|
+
|
|
148
|
+
# Windows
|
|
149
|
+
powershell -c "irm bun.sh/install.ps1 | iex"
|
|
150
|
+
```
|
|
151
|
+
|
|
152
|
+
### 2. Download and Install
|
|
153
|
+
|
|
154
|
+
```sh
|
|
155
|
+
git clone https://github.com/tikoci/rosetta.git
|
|
156
|
+
cd rosetta
|
|
157
|
+
bun install
|
|
158
|
+
```
|
|
159
|
+
|
|
160
|
+
Or download the source archive from the [latest release](https://github.com/tikoci/rosetta/releases/latest) ("Source code" ZIP or tarball), extract it, and run `bun install`.
|
|
161
|
+
|
|
162
|
+
### 3. Run Setup
|
|
163
|
+
|
|
164
|
+
```sh
|
|
165
|
+
bun run src/mcp.ts --setup
|
|
166
|
+
```
|
|
167
|
+
|
|
168
|
+
This downloads the documentation database and prints MCP client configuration. The config uses `bun` as the command with `src/mcp.ts` as the entrypoint:
|
|
169
|
+
|
|
170
|
+
#### Claude Desktop
|
|
171
|
+
|
|
172
|
+
```json
|
|
173
|
+
{
|
|
174
|
+
"mcpServers": {
|
|
175
|
+
"rosetta": {
|
|
176
|
+
"command": "bun",
|
|
177
|
+
"args": ["run", "src/mcp.ts"],
|
|
178
|
+
"cwd": "/path/to/rosetta"
|
|
179
|
+
}
|
|
180
|
+
}
|
|
181
|
+
}
|
|
182
|
+
```
|
|
183
|
+
|
|
184
|
+
#### Claude Code
|
|
185
|
+
|
|
186
|
+
```sh
|
|
187
|
+
claude mcp add rosetta -- bun run src/mcp.ts --cwd /path/to/rosetta
|
|
188
|
+
```
|
|
189
|
+
|
|
190
|
+
#### VS Code Copilot
|
|
191
|
+
|
|
192
|
+
Open the Command Palette (`Cmd+Shift+P` / `Ctrl+Shift+P`), choose **"MCP: Add Server…"**, select **"Command (stdio)"**, and enter `bun run src/mcp.ts` with the working directory set to the rosetta folder.
|
|
193
|
+
|
|
194
|
+
Or add to your User Settings JSON:
|
|
195
|
+
|
|
196
|
+
```json
|
|
197
|
+
"mcp": {
|
|
198
|
+
"servers": {
|
|
199
|
+
"rosetta": {
|
|
200
|
+
"command": "bun",
|
|
201
|
+
"args": ["run", "src/mcp.ts"],
|
|
202
|
+
"cwd": "/path/to/rosetta"
|
|
203
|
+
}
|
|
204
|
+
}
|
|
205
|
+
}
|
|
206
|
+
```
|
|
207
|
+
|
|
208
|
+
Replace `/path/to/rosetta` with the actual path (printed by `--setup`).
|
|
209
|
+
|
|
210
|
+
## Building from Source
|
|
211
|
+
|
|
212
|
+
For contributors or when you have access to the MikroTik HTML documentation export.
|
|
213
|
+
|
|
214
|
+
### Prerequisites
|
|
215
|
+
|
|
216
|
+
- [Bun](https://bun.sh/) v1.1+
|
|
217
|
+
- RouterOS HTML documentation export (Confluence space export)
|
|
218
|
+
- Internet access to [tikoci/restraml GitHub Pages](https://tikoci.github.io/restraml/) for command-tree extraction
|
|
219
|
+
|
|
220
|
+
`make extract` and `make extract-full` fetch `inspect.json` from restraml GitHub Pages by default. You can still pass a local source explicitly:
|
|
221
|
+
|
|
222
|
+
```sh
|
|
223
|
+
bun run src/extract-commands.ts /path/to/restraml/docs/7.22.1/extra/inspect.json
|
|
224
|
+
bun run src/extract-all-versions.ts /path/to/restraml/docs
|
|
225
|
+
```
|
|
226
|
+
|
|
227
|
+
### Build
|
|
228
|
+
|
|
229
|
+
```sh
|
|
230
|
+
git clone https://github.com/tikoci/rosetta.git
|
|
231
|
+
cd rosetta
|
|
232
|
+
bun install
|
|
233
|
+
```
|
|
234
|
+
|
|
235
|
+
Place the Confluence HTML export in `box/documents-export-<date>/ROS/` and symlink `box/latest` to it:
|
|
236
|
+
|
|
237
|
+
```sh
|
|
238
|
+
ln -s documents-export-<date> box/latest
|
|
239
|
+
```
|
|
240
|
+
|
|
241
|
+
Then:
|
|
242
|
+
|
|
243
|
+
```sh
|
|
244
|
+
make extract # HTML → properties → commands (single version) → link
|
|
245
|
+
# or
|
|
246
|
+
make extract-full # Same but with all 46 RouterOS versions
|
|
247
|
+
```
|
|
248
|
+
|
|
249
|
+
### Development
|
|
250
|
+
|
|
251
|
+
```sh
|
|
252
|
+
bun test # Run tests (in-memory SQLite, no DB needed)
|
|
253
|
+
bun run typecheck # Type check
|
|
254
|
+
make lint # Biome linter
|
|
255
|
+
bun run src/mcp.ts # Start MCP server in dev mode
|
|
256
|
+
```
|
|
257
|
+
|
|
258
|
+
The repo includes `.vscode/mcp.json` — opening the folder in VS Code automatically configures Copilot to use the dev server.
|
|
259
|
+
|
|
260
|
+
### Creating a Release
|
|
261
|
+
|
|
262
|
+
The Makefile handles the full release flow — preflight checks, cross-compile, git tag, push, and GitHub Release upload:
|
|
263
|
+
|
|
264
|
+
```sh
|
|
265
|
+
make release VERSION=v0.1.0
|
|
266
|
+
```
|
|
267
|
+
|
|
268
|
+
This cross-compiles to macOS (arm64 + x64), Windows (x64), and Linux (x64), creates ZIP archives, compresses the database, tags the commit, and creates a GitHub Release with all artifacts.
|
|
269
|
+
|
|
270
|
+
## Project Structure
|
|
271
|
+
|
|
272
|
+
```text
|
|
273
|
+
src/
|
|
274
|
+
├── mcp.ts # MCP server (10 tools, stdio) + CLI dispatch
|
|
275
|
+
├── setup.ts # --setup: DB download + MCP client config
|
|
276
|
+
├── query.ts # NL → FTS5 query planner, BM25 ranking
|
|
277
|
+
├── db.ts # SQLite schema, WAL mode, FTS5 triggers
|
|
278
|
+
├── extract-html.ts # Confluence HTML → pages + callouts
|
|
279
|
+
├── extract-properties.ts # Property table extraction
|
|
280
|
+
├── extract-commands.ts # inspect.json → commands (version-aware)
|
|
281
|
+
├── extract-all-versions.ts # Batch extract all 46 versions
|
|
282
|
+
├── extract-devices.ts # Product matrix CSV → devices table
|
|
283
|
+
├── link-commands.ts # Command ↔ page mapping
|
|
284
|
+
└── query.test.ts # Tests (in-memory SQLite fixtures)
|
|
285
|
+
|
|
286
|
+
scripts/
|
|
287
|
+
└── build-release.ts # Cross-compile + package releases
|
|
288
|
+
```
|
|
289
|
+
|
|
290
|
+
## Data Sources
|
|
291
|
+
|
|
292
|
+
The database combines three sources of MikroTik data into a single SQLite file with full-text search ([FTS5](https://www.sqlite.org/fts5.html) with [porter stemming](https://www.sqlite.org/fts5.html#porter_tokenizer) and [BM25 ranking](https://www.sqlite.org/fts5.html#the_bm25_function)):
|
|
293
|
+
|
|
294
|
+
- **HTML Documentation** — Confluence space export from help.mikrotik.com (March 2026). The 317 pages are broken out several ways: by section heading, callout boxes (warnings, tips, notes), and property tables (attribute name/type/default/description). This is the richest source — ~515K words of official documentation with direct links back to help.mikrotik.com.
|
|
295
|
+
|
|
296
|
+
- **Command Tree** — `inspect.json` files from [tikoci/restraml](https://github.com/tikoci/restraml), which runs `/console/inspect` requests (`child`, `syntax`, `completion`) against RouterOS CHR under QEMU via GitHub Actions for every version since 7.9. This gives the MCP server structured knowledge of whether a command or argument exists in a particular version (46 versions tracked: 7.9–7.23beta2). The blind spot: these come from CHR with all extra-packages on x86, so commands from packages not available on CHR (like `zerotier` and Wi-Fi driver packages) are missing — the HTML docs cover those.
|
|
297
|
+
|
|
298
|
+
- **Product Matrix** — CSV export from mikrotik.com/products/matrix (144 products, 34 columns). Hardware specs, license levels, and pricing — lets the AI answer questions like *"Which routers have L3HW offload and 8+ ports of 48V PoE?"* The CSV requires manual download (the old POST API was removed when the site was redesigned in late 2025).
|
|
299
|
+
|
|
300
|
+
Documentation covers RouterOS **v7 only** and aligns with the long-term release (~7.22) at export time. v6 had different syntax and major subsystems — answers for v6 are unreliable.
|
|
301
|
+
|
|
302
|
+
## Database (Standalone)
|
|
303
|
+
|
|
304
|
+
The SQLite database is distributed separately from the MCP server code via GitHub Releases:
|
|
305
|
+
|
|
306
|
+
```text
|
|
307
|
+
https://github.com/tikoci/rosetta/releases/latest/download/ros-help.db.gz
|
|
308
|
+
```
|
|
309
|
+
|
|
310
|
+
The MCP server downloads this automatically on first run (or via `--setup`), but the database is usable on its own with any SQLite client:
|
|
311
|
+
|
|
312
|
+
```sh
|
|
313
|
+
sqlite3 ros-help.db "SELECT title, url FROM pages_fts WHERE pages_fts MATCH 'DHCP lease' ORDER BY rank LIMIT 5;"
|
|
314
|
+
```
|
|
315
|
+
|
|
316
|
+
### Tables
|
|
317
|
+
|
|
318
|
+
| Table | Rows | What's in it |
|
|
319
|
+
|-------|------|-------------|
|
|
320
|
+
| `pages` | 317 | Documentation pages — title, breadcrumb path, full text, code blocks, help.mikrotik.com URL |
|
|
321
|
+
| `sections` | 2,984 | Page chunks split by h1–h3 headings, with anchor IDs for deep linking |
|
|
322
|
+
| `callouts` | 1,034 | Warning/Note/Info/Tip boxes extracted from Confluence callout macros |
|
|
323
|
+
| `properties` | 4,860 | Command properties — name, type, default value, description (from doc tables) |
|
|
324
|
+
| `commands` | 40K+ | RouterOS command hierarchy — dirs, commands, arguments from `/console/inspect` |
|
|
325
|
+
| `command_versions` | 1.67M | Junction table: which command paths exist in which RouterOS versions (7.9–7.23beta2) |
|
|
326
|
+
| `ros_versions` | 46 | Tracked RouterOS versions with channel (stable/development) |
|
|
327
|
+
| `devices` | 144 | MikroTik hardware — CPU, RAM, storage, ports, PoE, wireless, license level, MSRP |
|
|
328
|
+
|
|
329
|
+
Each content table has a corresponding [FTS5](https://www.sqlite.org/fts5.html) index (e.g., `pages_fts`, `properties_fts`, `devices_fts`) using the [porter](https://www.sqlite.org/fts5.html#porter_tokenizer) stemming tokenizer for natural language search with [BM25 ranking](https://www.sqlite.org/fts5.html#the_bm25_function).
|
|
330
|
+
|
|
331
|
+
## License
|
|
332
|
+
|
|
333
|
+
MIT
|
package/bin/rosetta.js
ADDED
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
/**
|
|
3
|
+
* bin/rosetta.js — Entry point for `npx @tikoci/rosetta` and `bunx @tikoci/rosetta`.
|
|
4
|
+
*
|
|
5
|
+
* The server uses bun:sqlite and other Bun APIs, so it requires the Bun runtime.
|
|
6
|
+
* When run under Bun (via bunx), this imports src/mcp.ts directly.
|
|
7
|
+
* When run under Node (via npx), this spawns `bun run src/mcp.ts` as a subprocess.
|
|
8
|
+
*/
|
|
9
|
+
|
|
10
|
+
import { dirname, join } from "node:path";
|
|
11
|
+
import { fileURLToPath } from "node:url";
|
|
12
|
+
|
|
13
|
+
const __dirname = dirname(fileURLToPath(import.meta.url));
|
|
14
|
+
const entry = join(__dirname, "..", "src", "mcp.ts");
|
|
15
|
+
|
|
16
|
+
if (typeof Bun !== "undefined") {
|
|
17
|
+
// Running under Bun — import TypeScript entry directly
|
|
18
|
+
await import(entry);
|
|
19
|
+
} else {
|
|
20
|
+
// Running under Node — delegate to Bun subprocess
|
|
21
|
+
const { spawn } = await import("node:child_process");
|
|
22
|
+
const proc = spawn("bun", ["run", entry, ...process.argv.slice(2)], {
|
|
23
|
+
stdio: "inherit",
|
|
24
|
+
});
|
|
25
|
+
proc.on("error", (err) => {
|
|
26
|
+
if (err.code === "ENOENT") {
|
|
27
|
+
console.error("rosetta requires the Bun runtime (bun:sqlite is not available in Node.js).");
|
|
28
|
+
console.error("Install Bun: https://bun.sh");
|
|
29
|
+
process.exit(1);
|
|
30
|
+
}
|
|
31
|
+
process.exit(1);
|
|
32
|
+
});
|
|
33
|
+
proc.on("exit", (code) => process.exit(code ?? 1));
|
|
34
|
+
}
|
|
@@ -0,0 +1,145 @@
|
|
|
1
|
+
"Product name","Product code",Architecture,CPU,"CPU core count","CPU nominal frequency","License level","Operating system","Size of RAM","Storage size",Dimensions,"PoE in","PoE out","PoE out ports","PoE in input Voltage","Number of DC inputs","DC jack input Voltage","Max power consumption","Wireless 2.4 GHz number of chains","Antenna gain dBi for 2.4 GHz","Wireless 5 GHz number of chains","Antenna gain dBi for 5 GHz","10/100 Ethernet ports","10/100/1000 Ethernet ports","Number of 2.5G Ethernet ports","Number of USB ports","Ethernet Combo ports","SFP ports","SFP+ ports","Number of 1G/2.5G/5G/10G Ethernet ports","Number of SIM slots","Memory cards","USB slot type","MSRP (USD)"
|
|
2
|
+
"ATL 5G R16",ATLGM&RG520F-EU,"ARM 64bit",88F3720,2,"800 MHz",3,"RouterOS v7","512 MB","32 MB",,802.3af/at,,,"12-56 V",1,,"10 W",,,,,,1,,,,,,,1,,,349.00
|
|
3
|
+
"ATL LTE18 kit",ATLGM&EG18-EA,"ARM 64bit",88F3720,2,"800 MHz",3,"RouterOS v7","256 MB","16 MB",,802.3af/at,,,"12-57 V",1,,"8 W",,,,,,1,,,,,,,1,,,279.00
|
|
4
|
+
Audience,RBD25G-5HPacQD2HPnD,"ARM 32bit",IPQ-4019,4,"448-896 (auto) MHz",4,RouterOS,"256 MB","128 MB","100 x 235 x 97 mm","Passive PoE",,,"24-57 V",2,"12-57 V","27 W",2,3.5,2,4.5,,2,,,,,,,,,,169.00
|
|
5
|
+
"BaseBox 5",RB912UAG-5HPnD-OUT,MIPSBE,AR9342,1,"600 MHz",4,RouterOS,"64 MB","128 MB",246x135x50mm,"Passive PoE",,,"8-30 V",1,,"12 W",,,2,,,1,,1,,,,,1,,"USB type A",89.00
|
|
6
|
+
cAP,RBcAP2nD,MIPSBE,QCA9533,1,"650 MHz",4,RouterOS,"64 MB","16 MB","185mm diameter, 31mm height",802.3af/at,,,"11-57 V",1,,"4 W",2,2,,,1,,,,,,,,,,,49.95
|
|
7
|
+
"cAP ac",RBcAPGi-5acD2nD,"ARM 32bit",IPQ-4018,4,"488-896 (auto) MHz",4,RouterOS,"128 MB","16 MB","Round case: ⌀ 136 mm, height: 30 mm; Square case: 145 mm x 145 mm x 30 mm",802.3af/at,"Passive PoE up to 57V",Ether2,"17-57 V",1,,"24 W",2,2,2,2.5,,2,,,,,,,,,,85.00
|
|
8
|
+
"cAP ax",cAPGi-5HaxD2HaxD,"ARM 64bit",IPQ-6010,4,"auto (864 - 1800) MHz",4,"RouterOS v7","1 GB","128 MB",,802.3af/at,"Passive PoE up to 57V",Ether2,"18-57 V",2,"18-57 V","36 W",2,6,2,5.5,,2,,,,,,,,,,129.00
|
|
9
|
+
"cAP lite",RBcAPL-2nD,MIPSBE,QCA9533,1,"650 MHz",4,RouterOS,"64 MB","16 MB","Wall case: 88 x 52 x 20 mm Ceiling case: ⌀88 mm x 20 mm",802.3af/at,,,"10-60 V",2,,"4 W",2,1.5,,,1,,,,,,,,,,,29.00
|
|
10
|
+
"cAP LTE12 ax",cAPGi-5HaxD2HaxD&EG12-EA,"ARM 64bit",IPQ-6010,4,"auto (864 - 1800) MHz",4,"RouterOS v7","1 GB","128 MB",,802.3af/at,"Passive PoE up to 57V",Ether2,"18-57 V",2,"18-57 V","34 W",2,6,2,5.5,,2,,,,,,,1,,,229.00
|
|
11
|
+
"cAP XL ac",RBcAPGi-5acD2nD-XLr4,"ARM 32bit",IPQ-4018,4,"488-896 (auto) MHz",4,RouterOS,"128 MB","16 MB","191 x 42 mm",802.3af/at,"Passive PoE up to 57V",Ether2,"18-57 V",1,,"24 W",2,6,2,5.5,,2,,,,,,,,,,99.00
|
|
12
|
+
CCR2004-1G-2XS-PCIe,CCR2004-1G-2XS-PCIe,"ARM 64bit",AL52400,4,"1500 MHz",6,"RouterOS v7","4 GB","128 MB","170 x 69 x 18 mm",,,,,,,"29 W",,,,,,1,,,,,,,,,,199.00
|
|
13
|
+
CCR2004-1G-12S+2XS,CCR2004-1G-12S+2XS,"ARM 64bit",AL32400,4,"1700 MHz",6,"RouterOS v7","4 GB","128 MB","443 x 224 x 44 mm",,,,,,,"60 W",,,,,,1,,,,,12,,,,,595.00
|
|
14
|
+
CCR2004-16G-2S+,CCR2004-16G-2S+r2,"ARM 64bit",AL32400,4,"1700 MHz",6,"RouterOS v7","4 GB","128 MB","443 x 210 x 44 mm",,,,,,,"48 W",,,,,,16,,1,,,2,,,,,465.00
|
|
15
|
+
CCR2004-16G-2S+PC,CCR2004-16G-2S+PC,"ARM 64bit",AL32400,4,"1200 MHz",6,"RouterOS v7","4 GB","128 MB","272 x 195 x 44 mm",,,,,2,"36-57 V","36 W",,,,,,16,,1,,,2,,,,,465.00
|
|
16
|
+
CCR2116-12G-4S+,CCR2116-12G-4S+,"ARM 64bit",AL73400,16,"2000 MHz",6,"RouterOS v7","16 GB","128 MB","443 x 199 x 44 mm",,,,,,,"83 W",,,,,,13,,,,,4,,,,,995.00
|
|
17
|
+
CCR2216-1G-12XS-2XQ,CCR2216-1G-12XS-2XQ,"ARM 64bit",AL73400,16,"2000 MHz",6,"RouterOS v7","16 GB","128 MB","443 x 367 x 44 mm",,,,,,,"128 W",,,,,,1,,,,,,,,,,2795.00
|
|
18
|
+
"Chateau 5G R17 ax",S53UG+5HaxD2HaxD-TC&RG650E-EU,"ARM 64bit",IPQ-6010,4,"864-1800 MHz",4,"RouterOS v7","1 GB","128 MB",,,,,,1,"12-28 V","27 W",2,3,2,6,,4,1,1,,,,,1,,"USB type A",349.00
|
|
19
|
+
"Chateau LTE6-US",D53G-5HacD2HnD-TC&EG06-A,"ARM 32bit",IPQ-4019,4,"488-896 (auto) MHz",4,"RouterOS v7","256 MB","16 MB","240 x 156 x 44 mm",,,,,1,"12-28 V","19 W",2,3,2,5.5,,5,,1,,,,,1,,"USB type A",189.00
|
|
20
|
+
"Chateau LTE7",D53G-5HacD2HnD-TC&R11e-LTE7,"ARM 32bit",IPQ-4019,4,"448-896 (auto) MHz",4,"RouterOS v7","256 MB","16 MB",,,,,,1,"12-28 V","20 W",2,2,2,4,,5,,1,,,,,1,,"USB type A",119.00
|
|
21
|
+
"Chateau LTE7 ax",S53UG+5HaxD2HaxD-TC&R11e-LTE7,"ARM 64bit",IPQ-6010,4,"auto MHz",4,"RouterOS v7","1 GB","128 MB",,,,,,1,"12-28 V","21.5 W",2,3,2,6,,4,1,1,,,,,1,,"USB type A",169.00
|
|
22
|
+
"Chateau LTE12 (2025)",D53G-5HacD2HnD-TC&EG120K-EA,"ARM 32bit",IPQ-4019,4,"448-896 (auto) MHz",4,"RouterOS v7","256 MB","32 MB",,,,,,1,"12-28 V","24 W",2,2,2,4,,5,,1,,,,,1,,"USB type A",179.00
|
|
23
|
+
"Chateau LTE18 ax",S53UG+5HaxD2HaxD-TC&EG18-EA,"ARM 64bit",IPQ-6010,4,"auto (864 -1800) MHz",4,"RouterOS v7","1 GB","128 MB","240 x 156 x 44 mm",,,,,1,"12-28 V","19 W",2,3,2,6,,4,1,1,,,,,1,,"USB type A",299.00
|
|
24
|
+
"Chateau PRO ax",H53UiG-5HaxQ2HaxQ,"ARM 64bit",IPQ-8072A,4,"2208 MHz",6,"RouterOS v7","1 GB","128 MB",,,"Passive PoE up to 57V",Ether5,,1,"18-57 V","55 W",4,5,4,6,,5,,1,,,,,,,"USB 3.0 type A",199.00
|
|
25
|
+
"CME Gateway",CME22-2n-BG77,MIPSBE,QCA9531,1,"650 MHz",4,"RouterOS v7","64 MB","16 MB",,802.3af/at,"Passive PoE up to 57V",Ether2,"18-57 V",2,,"31 W",1,2,,,2,,,,,,,,1,,,89.00
|
|
26
|
+
CRS106-1C-5S,CRS106-1C-5S,MIPSBE,QCA8511,1,"400 MHz",5,RouterOS,"128 MB","16 MB","114 x 137 x 29mm","Passive PoE",,,"11-30 V",2,"11-30 V","11 W",,,,,,,,,1,5,,,,,,59.00
|
|
27
|
+
CRS112-8P-4S-IN,CRS112-8P-4S-IN,MIPSBE,QCA8511,1,"400 MHz",5,RouterOS,"128 MB","16 MB","200 x 142 x 44 mm",,802.3af/at,Ether1-Ether8,,2,"18-28 V / 48-57 V","160 W",,,,,,8,,,,4,,,,,,209.00
|
|
28
|
+
CRS304-4XG-IN,CRS304-4XG-IN,"ARM 64bit",98DX2528,2,"1200 MHz",5,"RouterOS v7","512 MB","32 MB",,802.3af/at,,,"36-57 V",4,"12-57 V / 12-57 V","21 W",,,,,,1,,,,,,4,,,,199.00
|
|
29
|
+
CRS305-1G-4S+IN,CRS305-1G-4S+IN,"ARM 32bit",98DX3236,2,"800 MHz",5,"RouterOS / SwitchOS","512 MB","16 MB","141 x 115 x 28 mm",802.3af/at,,,"12-57 V",3,"12-57 V","18 W",,,,,,1,,,,,4,,,,,149.00
|
|
30
|
+
CRS309-1G-8S+IN,CRS309-1G-8S+IN,"ARM 32bit",98DX8208,2,"800 MHz",5,"RouterOS / SwitchOS","512 MB","16 MB","272 x 191 x 44 mm",802.3af/at,,,"18-57 V",2,"12-57 V","23 W",,,,,,1,,,,,8,,,,,269.00
|
|
31
|
+
CRS310-1G-5S-4S+IN,CRS310-1G-5S-4S+IN,"ARM 32bit",98DX226S,2,"800 MHz",5,"RouterOS v7 / SwitchOS","256 MB","16 MB","200 x 166 x 44 mm",802.3af/at,,,"18-57 V",2,"18-57 V","20 W",,,,,,1,,,,5,4,,,,,199.00
|
|
32
|
+
CRS310-8G+2S+IN,CRS310-8G+2S+IN,"ARM 32bit",98DX226S,2,"800 MHz",5,"RouterOS v7 / SwitchOS","256 MB","32 MB","200 x 206,1 x 44",,,,,1,"18-57 V","34 W",,,,,,,8,1,,,2,,,,"USB type A",219.00
|
|
33
|
+
CRS312-4C+8XG-RM,CRS312-4C+8XG-RM,MIPSBE,QCA9531,1,"650 MHz",5,"RouterOS v7 / SwitchOS","64 MB","16 MB","443 x 183 x 44 mm",,,,,,,"60 W",,,,,1,,,1,,,,8,,,"USB type A",699.00
|
|
34
|
+
CRS317-1G-16S+RM,CRS317-1G-16S+RM,"ARM 32bit",98DX8216,2,"800 MHz",6,"RouterOS / SwitchOS","1 GB","16 MB","443 x 224 x 44 mm",,,,,,,"44 W",,,,,,1,,,,,16,,,,,499.00
|
|
35
|
+
CRS320-8P-8B-4S+RM,CRS320-8P-8B-4S+RM,"ARM 32bit",98DX226S,2,"800 MHz",5,"RouterOS v7 / SwitchOS","256 MB","32 MB",,,802.3af/at/bt,"Ether1-Ether8 (af/at), Ether9-Ether16 (bt)",,,,"600W (1150W with additional PSU)",,,,,,17,,,,,4,,,,,489.00
|
|
36
|
+
CRS326-4C+20G+2Q+RM,CRS326-4C+20G+2Q+RM,MIPSBE,QCA9531,1,"650 MHz",6,"RouterOS v7","128 MB","32 MB",,,,,,,,"70 W",,,,,1,,20,,,,,,,,,999.00
|
|
37
|
+
CRS326-24G-2S+IN,CRS326-24G-2S+INr2,"ARM 32bit",98DX3236,2,"800 MHz",5,"RouterOS / SwitchOS","512 MB","16 MB","285 x 144 x 44 mm","Passive PoE",,,"10-30 V",2,"10-30 V","21 W",,,,,,24,,,,,2,,,,,199.00
|
|
38
|
+
CRS326-24G-2S+RM,CRS326-24G-2S+RM,"ARM 32bit",98DX3236,2,"800 MHz",5,"RouterOS / SwitchOS","512 MB","16 MB","443 x 144 x 44 mm","Passive PoE",,,"10-30 V",2,"10-30 V","24 W",,,,,,24,,,,,2,,,,,209.00
|
|
39
|
+
CRS326-24S+2Q+RM,CRS326-24S+2Q+RM,MIPSBE,QCA9531,1,"650 MHz",5,"RouterOS v7 / SwitchOS","128 MB","32 MB","443 x 200 x 44 mm",,,,,,,"69 W",,,,,1,,,1,,,24,,,,"USB type A",599.00
|
|
40
|
+
CRS328-4C-20S-4S+RM,CRS328-4C-20S-4S+RM,"ARM 32bit",98DX3236,2,"800 MHz",5,"RouterOS / SwitchOS","512 MB","16 MB","443 x 194 x 44 mm",,,,,,,"43 W",,,,,,,,,4,20,4,,,,,449.00
|
|
41
|
+
CRS328-24P-4S+RM,CRS328-24P-4S+RM,"ARM 32bit",98DX3236,1,"800 MHz",5,"RouterOS / SwitchOS","512 MB","16 MB","443 x 300 x 44 mm",,802.3af/at,Ether1-Ether24,,,,"494 W",,,,,,24,,,,,4,,,,,489.00
|
|
42
|
+
CRS354-48G-4S+2Q+RM,CRS354-48G-4S+2Q+RM,MIPSBE,QCA9531,1,"650 MHz",5,"RouterOS v7 / SwitchOS","128 MB","32 MB","297 x 443 x 44 mm",,,,,,,"60 W",,,,,1,48,,,,,4,,,,,599.00
|
|
43
|
+
CRS354-48P-4S+2Q+RM,CRS354-48P-4S+2Q+RM,MIPSBE,QCA9531,1,"650 MHz",5,"RouterOS v7 / SwitchOS","128 MB","32 MB","443 x 382 x 44 mm",,802.3af/at,Ether1-Ether48,,,,"800 W",,,,,1,48,,,,,4,,,,,999.00
|
|
44
|
+
CRS418-8P-8G-2S+5axQ2axQ-RM,CRS418-8P-8G-2S+5axQ2axQ-RM,"ARM 64bit",IPQ-8072A,4,"2208 MHz",5,"RouterOS v7","1 GB","128 MB",,,802.3af/at,Ether9-Ether16,,,,"227 W",4,5,4,6,,17,,1,,,2,,,,"USB 3.0 type A",499.00
|
|
45
|
+
CRS418-8P-8G-2S+RM,CRS418-8P-8G-2S+RM,"ARM 64bit",IPQ-8072,4,"2208 MHz",5,"RouterOS v7","1 GB","128 MB",,,802.3af/at,"Ether9 - Ether16",,,,"215 W",,,,,,17,,1,,,2,,,,"USB 3.0 type A",449.00
|
|
46
|
+
CRS504-4XQ-IN,CRS504-4XQ-IN,MIPSBE,QCA9531,1,"650 MHz",5,"RouterOS v7","64 MB","16 MB","320 x 185 x 44 mm","802.3 bt",,,"43-57 V",3,"36-57 V","41 W",,,,,1,,,,,,,,,,,799.00
|
|
47
|
+
CRS504-4XQ-OUT,CRS504-4XQ-OUT,MIPSBE,QCA9531,1,"650 MHz",5,"RouterOS v7","128 MB","32 MB",,"802.3 bt",,,"43-57 V",3,"36-57 V","44 W",,,,,1,,,,,,,,,,,899.00
|
|
48
|
+
CRS510-8XS-2XQ-IN,CRS510-8XS-2XQ-IN,MIPSBE,QCA9531,1,"650 MHz",5,"RouterOS v7","128 MB","32 MB",,"802.3 bt",,,"42.5-57 V",3,"36-57 V","45 W",,,,,1,,,,,,,,,,,999.00
|
|
49
|
+
CRS518-16XS-2XQ-RM,CRS518-16XS-2XQ-RM,MIPSBE,QCA9531,1,"650 MHz",6,"RouterOS v7","64 MB","16 MB",,,,,,,,"95 W",,,,,1,,,1,,,,,,,"USB type A",1595.00
|
|
50
|
+
CRS520-4XS-16XQ-RM,CRS520-4XS-16XQ-RM,"ARM 64bit",AL52400,4,"2 GHz",5,"RouterOS v7","4 GB","128 MB",,,,,,,,"150 W (220 W with both PSUs)",,,,,,,,,,,,"2 (supported: 10M/100M/1G/10G)",,,,2195.00
|
|
51
|
+
"CRS804 DDQ",CRS804-4DDQ-hRM,"ARM 64bit",AL52400,4,"2000 MHz",6,"RouterOS v7","4 GB","512 MB",,,,,,,,"123 W",,,,,,,,,,,,"2 (supported: 10M/100M/1G/10G)",,,,1295.00
|
|
52
|
+
"CRS812 DDQ",CRS812-8DS-2DQ-2DDQ-RM,"ARM 64bit",AL52400,4,"2000 MHz",6,"RouterOS v7","4 GB","512 MB",,,,,,,,"134 W",,,,,,,,,,,,"2 (supported: 10M/100M/1G/10G)",,,,1295.00
|
|
53
|
+
"Cube 60Pro ac",CubeG-5ac60ay,"ARM 32bit",IPQ-4019,4,"448-896 (auto) MHz",4,RouterOS,"256 MB","64 MB","115 x 95 x 82 mm",802.3af/at,,,"18-48 V",1,,"10 W",,,1,11.5,,1,,,,,,,,,,149.00
|
|
54
|
+
"CubeSA 60Pro ac",CubeG-5ac60ay-SA,"ARM 32bit",IPQ-4019,4,"448-896 (auto) MHz",4,RouterOS,"256 MB","64 MB","115 x 211 x 90 mm",802.3af/at,,,"18-48 V",1,,"13 W",,,1,11.5,,1,,,,,,,,,,199.00
|
|
55
|
+
"FiberBox Plus",CRS305-1G-4S+OUTr2,"ARM 32bit",98DX226S,2,"800 MHz",5,"RouterOS v7 / SwOS","256 MB","16 MB",,802.3af/at,,,"42-57 V",3,"24-57 V","17 W",,,,,,1,,,,,4,,,,,229.00
|
|
56
|
+
"Groove 52",RBGroove52HPnr2,MIPSBE,AR9342,1,"600 MHz",3,RouterOS,"64 MB","16 MB","180x49x44mm, 193g","Passive PoE",,,"9-30 V",1,,"6 W",1,,1,,1,,,,,,,,,,,59.00
|
|
57
|
+
"GrooveA 52",RBGrooveA-52HPnr2,MIPSBE,AR9342,1,"600 MHz",4,RouterOS,"64 MB","16 MB","177x44x44mm, 193g","Passive PoE",,,"9-30 V",1,,"6 W",1,6,1,6,1,,,,,,,,,,,79.00
|
|
58
|
+
"GrooveA 52 ac",RBGrooveGA-52HPacn,MIPSBE,QCA9556,1,"720 MHz",4,RouterOS,"64 MB","16 MB","177 x 44 x 44 mm","Passive PoE",,,"10-30 V",1,,"5 W",1,6,1,6,,1,,,,,,,,,,99.00
|
|
59
|
+
hAP,RB951Ui-2nD,MIPSBE,QCA9531,1,"650 MHz",4,RouterOS,"64 MB","16 MB","113 x 89 x 28mm","Passive PoE","Passive PoE",Ether5,"10-28 V",2,"10-28 V","5 W",2,1.5,,,5,,,1,,,,,,,"USB type A",45.00
|
|
60
|
+
"hAP ac",RB962UiGS-5HacT2HnT,MIPSBE,QCA9558,1,"720 MHz",4,"RouterOS v7","128 MB","16 MB","114 x 137 x 29mm","Passive PoE","Passive PoE",Ether5,"11-57 V",2,"11-57 V","17 W",3,2.5,3,2,,5,,1,,1,,,,,"USB type A",129.00
|
|
61
|
+
"hAP ac lite",RB952Ui-5ac2nD,MIPSBE,QCA9531,1,"650 MHz",4,RouterOS,"64 MB","16 MB","113 x 89 x 28mm","Passive PoE","Passive PoE",Ether5,"10-28 V",2,"10-28 V","20 W",2,1.5,1,2,5,,,1,,,,,,,"USB type A",59.00
|
|
62
|
+
"hAP ac lite TC",RB952Ui-5ac2nD-TC,MIPSBE,QCA9531,1,"650 MHz",4,RouterOS,"64 MB","16 MB","34 x 119 x 98mm","Passive PoE","Passive PoE",Ether5,"10-28 V",2,"10-28 V","20 W",2,1.5,1,2,5,,,1,,,,,,,"USB type A",59.00
|
|
63
|
+
"hAP ac²",RBD52G-5HacD2HnD-TCr2,"ARM 32bit",IPQ-4018,4,"488-896 (auto) MHz",4,RouterOS,"128 MB","16 MB","34 x 119 x 98mm","Passive PoE",,,"18-28 V",2,"12-30 V","21 W",2,2.5,2,2.5,,5,,1,,,,,,,"USB type A",79.00
|
|
64
|
+
"hAP ac³",RBD53iG-5HacD2HnD,"ARM 32bit",IPQ-4019,4,"448-896 (auto) MHz",4,RouterOS,"256 MB","128 MB","251 x 129 x 39 mm","Passive PoE","Passive PoE",Ether5,"18-28 V",2,"12-28 V","30 W",2,3,2,5.5,,5,,1,,,,,,,"USB type A",109.00
|
|
65
|
+
"hAP ax lite",L41G-2axD,"ARM 32bit",IPQ-5010,2,"800 MHz",4,"RouterOS v7","256 MB","128 MB",,,,,,"1 (USB-C)",,"8 W",2,4.3,,,,4,,,,,,,,,,59.00
|
|
66
|
+
"hAP ax S",E62iUGS-2axD5axT,"ARM 32bit",EN7562CT,2,"950 MHz",4,"RouterOS v7","512 MB","128 MB",,"Passive PoE","Passive PoE",Ether5,"18-28 V",2,"12-28 V","34 W",2,5.5,3,6.5,,5,,1,,"1 (2.5G supported)",,,,,"USB type A",79.00
|
|
67
|
+
"hAP ax²",C52iG-5HaxD2HaxD-TC,"ARM 64bit",IPQ-6010,4,"864 MHz",4,"RouterOS v7","1 GB","128 MB",,"Passive PoE","Passive PoE","Ether 1","18-28 V",2,"12-28 V","27 W",2,4,2,4.5,,5,,,,,,,,,,99.00
|
|
68
|
+
"hAP ax³",C53UiG+5HPaxD2HPaxD,"ARM 64bit",IPQ-6010,4,"auto (864 - 1800) MHz",6,"RouterOS v7","1 GB","128 MB",,"Passive PoE","Passive PoE","Ether 1","18-28 V",2,"12-28 V","38 W",2,3.3,2,5.5,,4,1,1,,,,,,,"USB 3.0 type A",139.00
|
|
69
|
+
"hAP be³ Media",MA53UG+HbeH,"ARM 64bit",IPQ-5322,4,"Up to 1.5 GHz (auto)",6,"RouterOS v7","2 GB","512 MB",,802.3af/at,,,"24-57 V",2,"24-57 V","29 W",2,4,2,7.5,,,5,3,,,,,,,"USB 3.0 type A",179.00
|
|
70
|
+
"hAP lite",RB941-2nD,SMIPS,QCA9533,1,"650 MHz",4,RouterOS,"32 MB","16 MB",,,,,,1,,"3.5 W",2,1.5,,,4,,,,,,,,,,,24.95
|
|
71
|
+
"hAP lite TC",RB941-2nD-TC,SMIPS,QCA9533,1,"650 MHz",4,RouterOS,"32 MB","16 MB",,,,,,1,,"3.5 W",2,1.5,,,4,,,,,,,,,,,24.95
|
|
72
|
+
hEX,RB750Gr3,MMIPS,MT7621A,2,"880 MHz",4,RouterOS,"256 MB","16 MB",113x89x28mm,"Passive PoE",,,"8-30 V",2,"8-30 V","10 W",,,,,,5,,1,,,,,,1,"USB type A",59.95
|
|
73
|
+
"hEX lite",RB750r2,MIPSBE,QCA9533,1,"850 MHz",4,RouterOS,"64 MB","16 MB","113x89x28mm. Weight without packaging and cables: 129g","Passive PoE",,,"6-30 V",2,"6-30 V","2 W",,,,,5,,,,,,,,,,,39.95
|
|
74
|
+
"hEX PoE",RB960PGS,MIPSBE,QCA9557,1,"800 MHz",4,RouterOS,"128 MB","16 MB",,"Passive PoE",802.3af/at,Ether2-Ether5,"12-57 V",2,"12-57 V","54 W",,,,,,5,,1,,1,,,,,"USB type A",89.00
|
|
75
|
+
"hEX PoE lite",RB750UPr2,MIPSBE,QCA9531,1,"650 MHz",4,RouterOS,"64 MB","16 MB",113x89x28mm,"Passive PoE","Passive PoE",Ether2-Ether5,"8-30 V",2,"8-30 V","51 W",,,,,5,,,1,,,,,,,"USB type A",59.95
|
|
76
|
+
"hEX refresh",E50UG,"ARM 32bit",EN7562CT,2,"950 MHz",4,"RouterOS v7","512 MB","128 MB",113x89x28mm,"Passive PoE",,,"12-28 V",2,"12-28 V","10 W",,,,,,5,,1,,,,,,,"USB type A",59.95
|
|
77
|
+
"hEX S",RB760iGS,MMIPS,MT7621A,2,"880 MHz",4,RouterOS,"256 MB","16 MB","113 x 89 x 28 mm",802.3af/at,"Passive PoE up to 57V",Ether5,"12-57 V",2,"12-57 V","24 W",,,,,,5,,1,,1,,,,1,"USB type A",79.00
|
|
78
|
+
"hEX S (2025)",E60iUGS,"ARM 32bit",EN7562CT,2,"950 MHz",4,"RouterOS v7","512 MB","128 MB",,802.3af/at,"Passive PoE up to 57V",Ether5,"18-57 V",2,"12-57 V","23 W",,,,,,5,,1,,"1 (2.5G supported)",,,,,"USB 3.0 type A",69.00
|
|
79
|
+
KNOT,RB924i-2nD-BT5&BG77r2,MIPSBE,QCA9531,1,"650 MHz",4,"RouterOS v7","64 MB","128 MB","122 x 87 x 26 mm",802.3af/at,"Passive PoE up to 57V",Ether2,"18-57 V",3,"12-57 V","18 W",2,1.5,,,2,,,1,,,,,1,,"microUSB type AB",99.00
|
|
80
|
+
"KNOT Embedded LTE4",EC25-EU&KNe,"ARM 32bit","CPU ARM 32-bit Cortex A7",1,"800 MHz",3,"RouterOS v7","256 MB","512 MB",,802.3af/at,,,"12-57 V",2,,"7 W",,,,,,1,,,,,,,1,,,79.00
|
|
81
|
+
"KNOT Embedded LTE4 Global",EG25-G&KNe,"ARM 32bit",Unknown,1,"800 MHz",3,"RouterOS v7","256 MB","256 MB",,802.3af/at,,,"12-57 V",2,,"6 W",,,,,,1,,,,,,,1,,,89.00
|
|
82
|
+
"KNOT LR8G kit",RB924iR-2nD-BT5&BG770A&R11e-LR8G,MIPSBE,QCA9531,1,"650 MHz",4,"RouterOS v7","64 MB","128 MB",,802.3af/at,"Passive PoE",Ether2,"18-57 V",3,"12-57 V","23 W",2,1.5,,,2,,,1,,,,,1,,"microUSB type AB",179.00
|
|
83
|
+
"KNOT LR9G kit",RB924iR-2nD-BT5&BG770A&R11e-LR9G,MIPSBE,QCA9531,1,"650 MHz",4,"RouterOS v7","64 MB","128 MB",,802.3af/at,802.3af,Ether2,"18-57 V",3,"12-57 V","23 W",2,1.5,,,2,,,1,,,,,1,,"microUSB type AB",179.00
|
|
84
|
+
L009UiGS-2HaxD-IN,L009UiGS-2HaxD-IN,"ARM 32bit",IPQ-5018,2,"800 MHz",5,"RouterOS v7","512 MB","128 MB",,802.3af/at,"Passive PoE",Ether8,"24-56 V",2,"24-56 V","47 W",2,4,,,,8,,1,,"1 (2.5G supported)",,,,,"USB 3.0 type A",129.00
|
|
85
|
+
L009UiGS-RM,L009UiGS-RM,"ARM 32bit",IPQ-5018,2,"800 MHz",5,"RouterOS v7","512 MB","128 MB",,802.3af/at,"Passive PoE",Ether8,"24-56 V",2,"24-56 V","40 W",,,,,,8,,1,,"1 (2.5G supported)",,,,,"USB 3.0 type A",119.00
|
|
86
|
+
L11UG-5HaxD,L11UG-5HaxD,"ARM 32bit",IPQ-5010,2,"800 MHz",4,"RouterOS v7","256 MB","128 MB",,"Passive PoE",,,"18-28 V",2,"12-28 V","15 W",,,2,,,1,,1,,,,,,,"USB type A",79.00
|
|
87
|
+
L23UGSR-5HaxD2HaxD,L23UGSR-5HaxD2HaxD,"ARM 32bit",IPQ-5010,2,"800 MHz",4,"RouterOS v7","256 MB","128 MB",,"Passive PoE",,,"18-28 V",2,"12-28 V","25 W",2,,2,,,1,,1,,"1 (2.5G supported)",,,1,,"USB type A",99.00
|
|
88
|
+
"LDF 5",RBLDF-5nD,MIPSBE,AR9344,1,"600 MHz",3,RouterOS,"64 MB","16 MB",84x84x115mm,"Passive PoE",,,"10-30 V",1,,"6 W",,,2,9,1,,,,,,,,,,,49.00
|
|
89
|
+
"LHG 5",RBLHG-5nD,MIPSBE,AR9344,1,"600 MHz",3,RouterOS,"64 MB","16 MB","Ø 391 x 222 mm; package 450 x 450 x 145 mm","Passive PoE",,,"11-30 V",1,,"6 W",,,2,24.5,1,,,,,,,,,,,69.00
|
|
90
|
+
"LHG 5 ax",LHG-5axD,"ARM 32bit",IPQ-5010,2,"800 MHz",3,"RouterOS v7","256 MB","128 MB",,"Passive PoE",,,"12-28 V",1,,"5 W",,,2,24.5,,1,,,,,,,,,,99.00
|
|
91
|
+
"LHG 60G",RBLHGG-60adr2,"ARM 32bit",IPQ-4019,4,"448-896 (auto) MHz",3,RouterOS,"256 MB","16 MB",,802.3af/at,,,"12-57 V",1,,"5 W",,,,,,1,,,,,,,,,,149.00
|
|
92
|
+
"LHGG LTE7 kit",LHGGR&R11e-LTE7,"ARM 64bit",88F3720,2,"800 MHz",3,"RouterOS v7","256 MB","16 MB",,802.3af/at,,,"12-57 V",1,,"8 W",,,,,,1,,,,,,,1,,,169.00
|
|
93
|
+
"LHG LTE18 kit",LHGGM&EG18-EA,"ARM 64bit",88F3720,2,"800 MHz",3,"RouterOS v7","256 MB","16 MB",,802.3af/at,,,"12-57 V",1,,"8 W",,,,,,1,,,,,,,1,,,279.00
|
|
94
|
+
"LHG XL 5 ac",RBLHGG-5acD-XL,"ARM 32bit",IPQ-4018,4,"488-896 (auto) MHz",3,RouterOS,"256 MB","16 MB","Ø 550 x 245 mm;","Passive PoE",,,"10-30 V",1,,"8 W",,,2,27,,1,,,,,,,,,,117.00
|
|
95
|
+
"LHG XL 5 ax",LHG-5axD-XL,"ARM 32bit",IPQ-5010,2,"800 MHz",3,"RouterOS v7","256 MB","128 MB",,"Passive PoE",,,"12-28 V",1,,"5 W",,,2,27,,1,,,,,,,,,,119.00
|
|
96
|
+
"LHG XL HP5",RBLHG-5HPnD-XL,MIPSBE,AR9344,1,"600 MHz",3,RouterOS,"64 MB","16 MB","Ø 550 x 245 mm;","Passive PoE",,,"10-28 V",1,,"7 W",,,2,27,1,,,,,,,,,,,89.00
|
|
97
|
+
"LtAP mini",RB912R-2nD-LTm,MIPSBE,QCA9531,1,"650 MHz",4,RouterOS,"64 MB","16 MB","139 x 77 x 28,5 mm",802.3af/at,,,"12-57 V",3,"8-30 V","9 W",2,1.5,,,1,,,,,,,,2,,,99.00
|
|
98
|
+
"LtAP mini LTE kit",RB912R-2nD-LTm&EC200A-EUr3,MIPSBE,QCA9531,1,"650 MHz",4,"RouterOS v7","64 MB","16 MB",,802.3af/at,,,"12-57 V",3,"8-30 V","8 W",2,1.5,,,1,,,,,,,,2,,,99.00
|
|
99
|
+
"mANTBox 2 12s",RB911G-2HPnD-12Sr2,MIPSBE,AR9342,1,"600 MHz",4,RouterOS,"64 MB","128 MB","140 x 348 x 82 mm","Passive PoE",,,"10-28 V",2,"8-30 V","11 W",2,12,,,,1,,,,,,,,,,99.00
|
|
100
|
+
"mANTBox ax 15s",L22UGS-5HaxD2HaxD-15S,"ARM 32bit",IPQ-5010,2,"800 MHz",4,"RouterOS v7","256 MB","128 MB",,"Passive PoE",,,"18-28 V",2,"12-28 V","21 W",2,12,2,15,,1,,1,,"1 (2.5G supported)",,,,,"USB type A",179.00
|
|
101
|
+
mAP,RBmAP2nD,MIPSBE,QCA9531,1,"650 MHz",4,RouterOS,"64 MB","16 MB",68x68x19mm,802.3af/at,"Passive PoE",Ether2,"12-57 V",3,"8-57 V","5 W",2,1.2,,,2,,,1,,,,,,,"microUSB type AB",45.00
|
|
102
|
+
"mAP lite",RBmAPL-2nD,MIPSBE,QCA9533,1,"650 MHz",4,RouterOS,"64 MB","16 MB",48x49x11mm,802.3af/at,,,"10-60 V",2,,"3.5 W",2,1.5,,,1,,,,,,,,,,,30.00
|
|
103
|
+
"Metal 52 ac",RBMetalG-52SHPacn,MIPSBE,QCA9556,1,"720 MHz",4,RouterOS,"64 MB","16 MB",215x60x38mm,"Passive PoE",,,"10-30 V",1,,"11 W",1,6,1,6,,1,,,,,,,,,,119.00
|
|
104
|
+
"NetBox 5 ax",L11UG-5HaxD-NB,"ARM 32bit",IPQ-5010,2,"800 MHz",4,"RouterOS v7","256 MB","128 MB",,"Passive PoE",,,"18-28 V",1,,"15 W",,,2,,,1,,1,,,,,,,"USB type A",109.00
|
|
105
|
+
"netFiber 9",CRS310-1G-5S-4S+OUT,"ARM 32bit",98DX226S,2,"800 MHz",5,"RouterOS v7 / SwitchOS","256 MB","16 MB",,802.3af/at,,,"18-57 V",2,"18-57 V","17 W",,,,,,1,,,,5,4,,,,,249.00
|
|
106
|
+
"NetMetal 5",RB922UAGS-5HPacD-NM,MIPSBE,QCA9557,1,"720 MHz",4,RouterOS,"128 MB","128 MB","143x247x48mm (PCB)","Passive PoE",,,"8-30 V",1,,"19 W",,,2,,,1,,1,,1,,,1,,"USB type A",149.00
|
|
107
|
+
"NetMetal ax",L23UGSR-5HaxD2HaxD-NM,"ARM 32bit",IPQ-5010,2,"800 MHz",4,"RouterOS v7","256 MB","128 MB",,"Passive PoE",,,"18-28 V",2,"12-28 V","25 W",2,,2,,,1,,1,,"1 (2.5G supported)",,,1,,"USB type A",169.00
|
|
108
|
+
"netPower 15FR",CRS318-1Fi-15Fr-2S-OUT,"ARM 32bit",98DX224S,2,"800 MHz",5,"RouterOS / SwitchOS","256 MB","16 MB","304 x 212 x 71 mm","Passive PoE","Passive PoE",Ether15,"18-57 V (recommended 36-57V)",16,"18-57 V","29 W",,,,,16,,,,,2,,,,,,169.00
|
|
109
|
+
"netPower 16P",CRS318-16P-2S+OUT,"ARM 32bit",98DX226S,2,"800 MHz",5,"RouterOS / SwitchOS","256 MB","16 MB","303 x 212 x 78 mm",,802.3af/at,Ether1-Ether16,,2,"18-30 V / 48-57 V","316 W",,,,,,16,,,,,2,,,,,279.00
|
|
110
|
+
"OmniTIK 5 PoE ac",RBOmniTikPG-5HacD,MIPSBE,QCA9557,1,"720 MHz",4,RouterOS,"128 MB","16 MB","416 x 129 x 58 mm","Passive PoE",802.3af/at,Ether2-Ether5,"12-57 V",1,,"66 W",,,2,7.5,,5,,1,,,,,,,"USB type A",139.00
|
|
111
|
+
"PowerBox Pro",RB960PGS-PB,MIPSBE,QCA9557,1,"800 MHz",4,RouterOS,"128 MB","16 MB","125 x 52 x 225 mm","Passive PoE",802.3af/at,Ether2-Ether5,"12-57 V",2,"12-57 V","54 W",,,,,,5,,,,1,,,,,,109.00
|
|
112
|
+
"QRT 5",RB911G-5HPnD-QRT,MIPSBE,AR9342,1,"600 MHz",4,RouterOS,"64 MB","128 MB",309x320x50mm,"Passive PoE",,,"8-28 V",1,,"12 W",,,2,24,,1,,,,,,,,,,169.00
|
|
113
|
+
RB450Gx4,RB450Gx4,"ARM 32bit",IPQ-4019,4,"448-896 (auto) MHz",5,RouterOS,"1 GB","512 MB","90 x 116 mm",802.3af/at,"Passive PoE",Ether5,"12-57 V",3,"10-57 V","16 W",,,,,,5,,,,,,,,,,99.00
|
|
114
|
+
RB911G-5HPnD,RB911G-5HPnD,MIPSBE,AR9342,1,"600 MHz",3,RouterOS,"64 MB","128 MB",105x105mm,"Passive PoE",,,"8-28 V",2,"8-28 V","11 W",,,2,,,1,,,,,,,,,,55.00
|
|
115
|
+
RB912UAG-2HPnD,RB912UAG-2HPnD,MIPSBE,AR9342,1,"600 MHz",4,RouterOS,"64 MB","128 MB",105x105mm,"Passive PoE",,,"8-30 V",2,"8-30 V","13.5 W",2,,,,,1,,1,,,,,1,,"USB type A",79.00
|
|
116
|
+
RB912UAG-5HPnD,RB912UAG-5HPnD,MIPSBE,AR9342,1,"600 MHz",4,RouterOS,"64 MB","128 MB",105x105mm,"Passive PoE",,,"8-30 V",2,"8-30 V","12 W",,,2,,,1,,1,,,,,1,,"USB type A",79.00
|
|
117
|
+
RB922UAGS-5HPacD,RB922UAGS-5HPacD,MIPSBE,QCA9557,1,"720 MHz",4,RouterOS,"128 MB","128 MB",105x105mm,"Passive PoE",,,"8-30 V",2,"8-30 V","17 W",,,2,,,1,,1,,1,,,1,,"USB type A",99.00
|
|
118
|
+
RB951Ui-2HnD,RB951Ui-2HnD,MIPSBE,AR9344,1,"600 MHz",4,RouterOS,"128 MB","128 MB",113x138x29mm,"Passive PoE","Passive PoE",Ether5,"8-30 V",2,"8-30 V","24 W",2,2.5,,,5,,,1,,,,,,,"USB type A",59.95
|
|
119
|
+
RB1100AHx4,RB1100x4,"ARM 32bit",AL21400,4,"1.4 GHz",6,RouterOS,"1 GB","128 MB","443 x 148 x 44 mm",802.3af/at,,,"20-57 V",2,,"20 W",,,,,,13,,,,,,,,1,,329.00
|
|
120
|
+
"RB1100AHx4 Dude Edition",RB1100Dx4,"ARM 32bit",AL21400,4,"1.4 GHz",6,RouterOS,"1 GB","128 MB","443 x 148 x 44 mm",802.3af/at,,,"20-57 V",2,,"33 W",,,,,,13,,,,,,,,1,,385.00
|
|
121
|
+
RB4011iGS+5HacQ2HnD-IN,RB4011iGS+5HacQ2HnD-IN,"ARM 32bit",AL21400,4,"auto (533 - 1900) MHz",5,"RouterOS v7","1 GB","512 MB","228 x 120 x 30 mm","Passive PoE","Passive PoE up to 57V",Ether10,"18-57 V",2,"12-57 V","44 W",2,3,4,3,,10,,,,,1,,,,,275.00
|
|
122
|
+
RB4011iGS+RM,RB4011iGS+RM,"ARM 32bit",AL21400,4,"auto (533 - 1900) MHz",5,"RouterOS v7","1 GB","512 MB","228 x 120 x 30 mm","Passive PoE","Passive PoE up to 57V",Ether10,"18-57 V",2,"12-57 V","33 W",,,,,,10,,,,,1,,,,,219.00
|
|
123
|
+
RB5009UG+S+IN,RB5009UG+S+IN,"ARM 64bit",88F7040,4,"350-1400 (auto) MHz",5,"RouterOS v7","1 GB","1 GB","220 x 125 x 22 mm",802.3af/at,,,"24-57 V",3,"24-57 V","25 W",,,,,,7,1,1,,,1,,,,"USB 3.0 type A",219.00
|
|
124
|
+
RB5009UPr+S+IN,RB5009UPr+S+IN,"ARM 64bit",88F7040,4,"350-1400 (auto) MHz",5,"RouterOS v7","1 GB","1 GB",,"802.3af/at (ether1), Mode B (ether2-ether8)",802.3af/at,Ether1-Ether8,"24-57 V",3,"24-57 V","150 W",,,,,,7,1,1,,,1,,,,"USB 3.0 type A",299.00
|
|
125
|
+
RB5009UPr+S+OUT,RB5009UPr+S+OUT,"ARM 64bit",88F7040,4,"350-1400 (auto) MHz",5,"RouterOS v7","1 GB","1 GB",,802.3af/at,802.3af/at,Ether1-Ether8,"24-57 V",2,,"150 W",,,,,,7,1,1,,,1,,,,"USB 3.0 type A",319.00
|
|
126
|
+
RBM33G,RBM33G,MMIPS,MT7621A,2,"880 MHz",4,RouterOS,"256 MB","16 MB",,"Passive PoE",,,"11-28 V",2,"11-28 V","24 W",,,,,,3,,1,,,,,2,,"USB 3.0 type A",59.00
|
|
127
|
+
"ROSE Data server (RDS)",RDS2216-2XG-4S+4XS-2XQ,"ARM 64bit",AL73400,16,"2000 MHz",6,"RouterOS v7 (Special ROSE edition)","32 GB","128 MB","476 x 443 x 44 mm",,,,,,,"286 W",,,,,,1,,2,,,4,2,,,"USB 3.0 type A",1950.00
|
|
128
|
+
"SXT SA5 ac",RBSXTG-5HPacD-SAr2,MIPSBE,QCA9557,1,"720 MHz",4,RouterOS,"128 MB","128 MB",,802.3af/at,,,"12-57 V",1,,"12 W",,,2,14,,1,,1,,,,,,,"USB type A",119.00
|
|
129
|
+
"SXTsq 5 ac",RBSXTsqG-5acD,"ARM 32bit",IPQ-4018,4,"488-896 (auto) MHz",3,RouterOS,"256 MB","16 MB","129 x 129 x 34 mm","Passive PoE",,,"10-28 V",1,,"7 W",,,2,16,,1,,,,,,,,,,65.00
|
|
130
|
+
"SXTsq 5 ax",SXTsq-5axD,"ARM 32bit",IPQ-5010,2,"800 MHz",4,"RouterOS v7","256 MB","128 MB",,"Passive PoE",,,"12-28 V",1,,"6 W",,,2,16,,1,,,,,,,,,,65.00
|
|
131
|
+
"SXTsq Lite2",RBSXTsq2nD,MIPSBE,QCA9533,1,"650 MHz",3,RouterOS,"64 MB","16 MB","129 x 129 x 34 mm","Passive PoE",,,"10-30 V",1,,"5 W",2,10,,,1,,,,,,,,,,,39.00
|
|
132
|
+
"SXTsq Lite5",RBSXTsq5nD,MIPSBE,AR9344,1,"600 MHz",3,RouterOS,"64 MB","16 MB",129x129x34mm,"Passive PoE",,,"10-30 V",1,,"6 W",,,2,16,1,,,,,,,,,,,46.00
|
|
133
|
+
"wAP 60G",RBwAPG-60ad,"ARM 32bit",IPQ-4019,4,"448-896 (auto) MHz",3,RouterOS,"256 MB","16 MB","185 x 85 x 30 mm",802.3af/at,,,"12-57 V",2,"12-57 V","5 W",,,,,,1,,,,,,,,,,114.00
|
|
134
|
+
"wAP 60G AP",RBwAPG-60ad-A,"ARM 32bit",IPQ-4019,4,"448-896 (auto) MHz",4,RouterOS,"256 MB","16 MB","185 x 85 x 30 mm",802.3af/at,,,"11-57 V",2,"11-57 V","5 W",,,,,,1,,,,,,,,,,139.00
|
|
135
|
+
"wAP ac LTE kit",wAPGR-5HacD2HnD&EC200A-EUr3,"ARM 32bit",IPQ-4018,4,"488-896 (auto) MHz",4,"RouterOS v7","128 MB","16 MB",,802.3af/at,,,"18-57 V",2,"10-57 V","12 W",2,2.5,2,2.5,,2,,,,,,,1,,,169.00
|
|
136
|
+
"wAP ax",wAPG-5HaxD2HaxD,"ARM 32bit",IPQ-5010,2,"800 MHz",4,"RouterOS v7","256 MB","128 MB",,802.3af/at,,,"18-57 V",2,"12-57 V","9 W",2,6.9,2,7,,2,,,,,,,,,,89.00
|
|
137
|
+
"wAP ax LTE7 kit",wAPGR-5HaxD2HaxD&R11e-LTE7,"ARM 64bit",IPQ-5010,2,"800 MHz",4,"RouterOS v7","256 MB","128 MB",,802.3af/at,,,"18-57 V",2,"12-57 V","13 W",2,6.9,2,7,,2,,,,,,,1,,,169.00
|
|
138
|
+
"wAP LR8G kit",RBwAPR-2nD&R11e-LR8G,MIPSBE,QCA9531,1,"650 MHz",4,"RouterOS v7","64 MB","16 MB",,"Passive PoE",,,"9-30 V",3,"9-30 V","5 W",2,2,,,1,,,,,,,,1,,,149.00
|
|
139
|
+
"wAP LR9G kit",RBwAPR-2nD&R11e-LR9G,MIPSBE,QCA9531,1,"650 MHz",4,"RouterOS v7","64 MB","16 MB",,"Passive PoE",,,"9-28 V",3,"9-28 V","7 W",2,2,,,1,,,,,,,,1,,,149.00
|
|
140
|
+
"wAP LTE kit",wAPR-2nD&EC200A-EUr2,MIPSBE,QCA9531,1,"650 MHz",4,"RouterOS v7","64 MB","16 MB",,"Passive PoE",,,"9-30 V",3,"9-30 V","7 W",2,2,,,1,,,,,,,,1,,,99.00
|
|
141
|
+
"wAP R",RBwAPR-2nD,MIPSBE,QCA9531,1,"650 MHz",4,RouterOS,"64 MB","16 MB","185x85x30 mm","Passive PoE",,,"9-30 V",3,"9-30 V","6 W",2,2,,,1,,,,,,,,1,,,89.00
|
|
142
|
+
"Wireless Wire",RBwAPG-60adkit,"ARM 32bit",IPQ-4019,4,"448-896 (auto) MHz",3,RouterOS,"256 MB","16 MB","185 x 85 x 30 mm",802.3af/at,,,"12-57 V",2,"12-57 V","5 W",,,,,,1,,,,,,,,,,228.00
|
|
143
|
+
"Wireless Wire Cube Pro",CubeG-5ac60aypair,"ARM 32bit",IPQ-4019,4,"448-896 (auto) MHz",4,RouterOS,"256 MB","64 MB",,802.3af/at,,,"18-48 V",1,,"10 W",,,1,11.5,,1,,,,,,,,,,298.00
|
|
144
|
+
"Wireless Wire Dish",RBLHGG-60adkit,"ARM 32bit",IPQ-4019,4,"448-896 (auto) MHz",3,RouterOS,"256 MB","16 MB","Ø 391 x 222 mm",802.3af/at,,,"12-57 V",1,,"5 W",,,,,,1,,,,,,,,,,298.00
|
|
145
|
+
"Wireless Wire nRAY",nRAYG-60adpair,"ARM 64bit",88F3720,2,"1 GHz",3,RouterOS,"256 MB","16 MB","261 x 166 mm",802.3af/at,,,"12-57 V",1,,"7 W",,,,,,1,,,,,,,,,,298.00
|
package/matrix/CLAUDE.md
ADDED
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
# MikroTik Product Matrix
|
|
2
|
+
|
|
3
|
+
Per-device hardware specs from mikrotik.com/products/matrix. Date-stamped snapshots stored in git.
|
|
4
|
+
|
|
5
|
+
See main [CLAUDE.md](../CLAUDE.md) → "Product Matrix (CSV)" under Source Details for full schema, download instructions, and column documentation.
|
|
6
|
+
|
|
7
|
+
Extraction: `bun run src/extract-devices.ts` (or `make extract-devices`). Idempotent — deletes and re-inserts all rows.
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
#!/bin/sh
|
|
2
|
+
# Download MikroTik product matrix CSV.
|
|
3
|
+
#
|
|
4
|
+
# The old POST endpoint (curl -X POST -d "ax=matrix") died when MikroTik
|
|
5
|
+
# moved to Laravel Livewire / PowerGrid. The CSV is now obtained via the
|
|
6
|
+
# browser: visit https://mikrotik.com/products/matrix, click the export
|
|
7
|
+
# button (top-left area), choose "All", and save the .csv file.
|
|
8
|
+
#
|
|
9
|
+
# After downloading manually, copy the file here:
|
|
10
|
+
# cp ~/Downloads/products-*.csv <ISODATE>/matrix.csv
|
|
11
|
+
|
|
12
|
+
ISODATE=$(date -u +%Y-%m-%d)
|
|
13
|
+
mkdir -p "$ISODATE"
|
|
14
|
+
|
|
15
|
+
echo "Manual download required:"
|
|
16
|
+
echo " 1. Open https://mikrotik.com/products/matrix in a browser"
|
|
17
|
+
echo " 2. Click the export/download button"
|
|
18
|
+
echo " 3. Choose 'All' to export all products"
|
|
19
|
+
echo " 4. Copy the downloaded CSV here:"
|
|
20
|
+
echo " cp ~/Downloads/products-*.csv $ISODATE/matrix.csv"
|