ugos-client 0.14.3

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.

```rust
use ugos_client::{Credentials, TlsPolicy, UgosClient};
```

Part of [ugos-cli](https://github.com/metaneutrons/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.