ugos-client 0.14.2

Rust client library for the UGREEN NAS (UGOS) API: authentication, KVM virtual machine management, snapshots, networks, storage, and images
Documentation

ugos-client

Rust client library for the API that the UGREEN NAS web interface uses (UGOS).

Covers authentication, KVM virtual machines, snapshots, networks, storage, images, Docker, the file manager, the download centre, filesystem snapshots, system monitoring, logs and users.

Two things about UGOS shape this client and are worth knowing before you use it:

  • The device serves an X.509 version 1 certificate, which every ordinary verifier rejects. The library therefore offers trust on first use with a pinned certificate fingerprint, SSH style, alongside an explicit insecure mode. TLS 1.3 only.
  • Request encryption exists in UGOS, but the web interface uses it only when the connection is not HTTPS. It is a substitute for TLS, not an addition to it, and this client treats it as such.
use ugos_client::{Credentials, TlsPolicy, UgosClient};

Part of ugos-cli. See that repository for the command line tool, the MCP server and the full documentation.

Errors

UgosError is #[non_exhaustive]. Match the variants you handle and keep a _ arm for the rest, so a new error kind does not break your build. Io covers filesystem failures and is deliberately separate from Encryption.

Licence

GPL-3.0-or-later, deliberately, where a library would usually carry the LGPL. The crate serves the programs of its own project, so the weaker copyleft would add nothing, and every release so far has been GPL.