1.1.0 β€’ Published 10 months ago

uqmi-client v1.1.0

Weekly downloads
-
License
MIT
Repository
github
Last release
10 months ago

UqmiClient

npm version Build Status License: MIT

UqmiClient is a Node.js library for managing network-related commands over SSH, specifically designed to work with UQMI-compatible devices.

Table of Contents

πŸ›  Installation

Install UqmiClient via npm:

npm install uqmi-client

πŸš€ Usage

Here’s an example of how to use the library to start a network session:

import { UqmiClient } from "uqmi-client";

const client = new UqmiClient("/dev/cdc-wdm0", {
    host: "192.168.0.1",
    port: 22,
    username: "user",
    password: "password",
});

// Start a network session
(async () => {
    try {
        const versions = await uqmi.getVersions();
        console.log("Device Versions:", versions);
    } catch (error) {
        console.error("Failed to get device versions:", error);
    }
})();

SSH options

/**
 * SSH connection options for connecting to a remote device.
 *
 * @property {string} host - The SSH server hostname or IP address.
 * @property {number} [port=22] - The port to connect to (default is 22).
 * @property {string} username - The username to authenticate as on the SSH server.
 * @property {string} [password] - The password for authentication (used if no private key is provided).
 * @property {string} [privateKeyPath] - The path to the private key file for authentication (if password is not used).
 * @property {string} [passphrase] - The passphrase to unlock the private key (if the key is encrypted).
 */
export interface SSHOptions {
    host: string;
    port?: number;
    username: string;
    password?: string;
    privateKeyPath?: string;
    passphrase?: string;
}

Default options

/**
 * Options for configuring the Uqmi client, allowing for optional settings like timeout.
 *
 * @property {number} [timeout] - The timeout period (in milliseconds) for operations performed by the uqmi cli.
 */
export interface UqmiClientOptions {
    timeout?: number;
}

πŸ” Finding Device Name

To identify the device name, run the following command on the target device:

ls /dev

Typically, the device name will be something like cdc-wdm0.

πŸ§ͺ Examples

Explore more examples in the examples folder.

🀝 Contributing

Contributions are welcome! Please check out the CONTRIBUTING.md and CODE_OF_CONDUCT.md for details.

πŸ“œ License

This project is licensed under the MIT License.

1.1.0

10 months ago

1.0.2

10 months ago

1.0.1

10 months ago

1.0.0

10 months ago