NodeJS Mikrotik API minimales Beispiel

English Deutsch

Dies ist ein Beispiel für den Zugriff auf die Mikrotik-API mit NodeJS und dem mikrotik-Paket.

Installieren Sie zuerst das Paket

install_mikrotik_package.sh
npm i --save mikrotik

Um außerdem die import-Anweisung zu aktivieren, setzen Sie

package.json
"type": "module"

in package.json.

Beispielcode:

mikrotik_example.mjs
import * as MikroNode from 'mikrotik' ;

const host = "10.56.23.4";
const username = "admin";
const password = "N@CdVTz8y@D$KwVS5TTo"; // Hope that's not your real password ;)

const  connection = MikroNode.getConnection(host, username, password, {
    closeOnDone : true
});

connection.getConnectPromise().then(function(conn) {
    conn.getCommandPromise('/ip/address/print').then(addresses => {
        for(const address of addresses) {
            console.info(`Address: ${address.address} on ${address.interface}`);
        }
    }, reason => {
        console.log('Error while running command: ' + JSON.stringify(reason));
    });
}).catch(reason =>  {
    console.log('Error while connecting: ' + JSON.stringify(reason));
});

Dies wird beispielsweise ausgeben:

addresses_output.txt
Address: 192.168.88.1/24 on bridge
Address: 10.1.2.3/24 on bridge

Bei falschen Benutzername/Passwort-Anmeldedaten wird ausgegeben:

error_output.txt
Error while connecting: {"errors":[{"category":"","message":"invalid user name or password (6)"}],"channelId":"login","channel":{"id":"login","running":true,"closing":true,"closed":true,"clearEvents":false,"saveBuffer":true,"closeOnDone":false,"lastCommand":["/login","=name=admin","=password=admin1234",".tag=login"],"_events":{},"_eventsCount":0}}

Check out similar posts by category: MikroTik, NodeJS