* First draft on image labeling * Fixing execution providers for other OSs * Better error handling and shutdown * Working with shallow media processor * bruh * Fix warnings * Now hooked to media processor job * Link desktop app with libonnxruntime to avoid TLS error during startup * Be able to change models on runtime Revert to use labels table instead of tags * A bug on a model-less inference * Show AI labels on Inspector - Change yolo inference to use half precision - Add labels api to core * Remove LD_PRELOAD * Fix race condition on model executor shutdown * Don't load all images in memory moron * Embeed yolo model in prod build - Change yolo model path to new one relative to executable * Disable volume watcher on linux, it was crashing the app - Invalidate labels when they are updated * Rust fmt * Minor changes * Gate onnxruntime linking to the ai-models feature * Add build script to sd-server to handle onnxruntime linking workaround * Move AI stuff to its own crate and normalize deps * Rust fmt * Don't regenerate labels unless asked to * Now blazingly fast * Bad merge * Fix * Fix * Add backend logic to download extra yolo models * Add models api route - Add api call to get available model version - Add api call to change the model version * Improve new model download logic - Add frontend to change image labeler model * Fix new model downloader * Fix model select width * invalidate labels count after media_processor generates a new output * Rename AI crate and first draft on download notifications * fix types --------- Co-authored-by: Vítor Vasconcellos <vasconcellos.dev@gmail.com> Co-authored-by: Brendan Allan <brendonovich@outlook.com> |
||
---|---|---|
.. | ||
assets | ||
benches | ||
examples | ||
src | ||
Cargo.toml | ||
README.md |
Crypto
This crate contains Spacedrive's cryptographic modules.
This includes things such as:
- The key manager
- Encryption and decryption
- Encrypted file header formats (with extremely fast serialization and deserialization)
- Key hashing and derivation
- Keyring interfaces to access native OS keystores
It has support for the following cryptographic functions:
Argon2id
Balloon
hashingBLAKE3
key derivationXChaCha20-Poly1305
AES-256-GCM
It aims to be (relatively) lightweight, easy to maintain and platform-agnostic where possible. It does contain some platform-specific code, although it's only built if the target matches.
Features
A list of all features can be found below (NOTE: none of these features are enabled by default)
serde
- provides integration with theserde
andserde_json
crates. this also enables header metadatarspc
- provides integration with therspc
cratekeymanager
- provides an interface for handling the encryption, decryption, storage and derivation of passwords/keys. this enables theos-keyrings
featureos-keyrings
- provides a unified interface for interacting with OS-keyrings (currently only supports MacOS/iOS and Gnome/KDE (viagnome-keyring
andkwallet
respectively))
Security Notice
This crate has NOT received any security audit - however, a couple of our upstream libraries (provided by RustCrypto) have.
You may find them below:
- AES-GCM and XChaCha20-Poly1305 audit by NCC group (link)
Breaking changes are very likely! Use at your own risk - no stability or security is guaranteed.
Security Policy
Please refer to the security policy for details and information on how to responsibly report a security vulnerability or issue.