mikro-client
TypeScript icon, indicating that this package has built-in type declarations

0.5.3 • Public • Published

mikro-client

This library, written in TypeScript and also compatible with JavaScript, provides a simple connection via TCP sockets to send and receive command-line commands from MikroTik. With this library, you can easily and quickly control and get information from a MikroTik device.

version documentation in:

Installation

npm install mikro-client

or

yarn add mikro-client

Usage

To use the class, you must first import it into your project:

import { MikroClient } from 'mikro-client'

Then, you can create a new instance of the class by providing the necessary configuration options:

const options = {
  host: 'XXX.XXX.XXX.XXX',
  port: XXXX,
  username: 'xxxxx',
  password: 'xxxxx',
  timeout: 5000,
}
const mikro = new MikroClient(options)

Once you have an instance of the class, you can use the "talk" method to send MikroTik commands to the device and receive the response:

const response = await mikro
  .talk(['/interface/print'])
  .then((response) => {
    console.log(response)
  })
  .catch((error) => {
    console.error(error)
  })

You can also specify the type of response you want to receive using the optional "type" argument:

const response = await mikro
  .talk(['/interface/print'], 'object')
  .then((response) => {
    console.log(response)
  })
  .catch((error) => {
    console.error(error)
  })

Examples

Here are some examples of MikroTik commands that you can send using the "talk" method:

  • Get network interface information:
const response = await mikro
  .talk(['/interface/print'])
  .then((response) => {
    console.log(response)
  })
  .catch((error) => {
    console.error(error)
  })
  • Add a firewall rule:
mikro
  .talk([
    '/ip/firewall/filter/add',
    '=chain=forward',
    '=protocol=tcp',
    '=dst-port=80',
    '=action=accept',
  ])
  .then((response) => {
    console.log(response)
  })
  .catch((error) => {
    console.error(error)
  })
  • Get connected user information:
mikro
  .talk(['/ip/hotspot/active/print'])
  .then((response) => {
    console.log(response)
  })
  .catch((error) => {
    console.error(error)
  })
  • Create a hotspot user:
mikro
  .talk([
    '/ip/hotspot/user/add',
    '=name=example',
    '=password=example',
    '=profile=default',
  ])
  .then((response) => {
    console.log(response)
  })
  .catch((error) => {
    console.error(error)
  })

Information

For more information on the MikroTik commands that you can send using the MikroApi class, we recommend consulting the MikroTik documentation, which is available at the following link:

On this page, you will find a complete list of available MikroTik commands and their respective parameters. You will also find examples of how to use these commands in the MikroTik command line and API.

I hope this helps you get more information on MikroTik commands and how to use them with the MikroApi class. If you have any additional questions, don't hesitate to ask.


License


Created by jjjjose - 2022

Package Sidebar

Install

npm i mikro-client

Weekly Downloads

24

Version

0.5.3

License

MIT

Unpacked Size

17.1 kB

Total Files

5

Last publish

Collaborators

  • jjjjose