| Crates.io | tauri-plugin-keygen-rs |
| lib.rs | tauri-plugin-keygen-rs |
| version | 0.7.0 |
| created_at | 2024-08-27 09:29:12.898465+00 |
| updated_at | 2025-08-02 12:41:04.701909+00 |
| description | Tauri plugin for Keygen.sh licensing, based on keygen-rs |
| homepage | |
| repository | |
| max_upload_size | |
| id | 1353099 |
| size | 160,846 |
Tauri plugin for Keygen.sh licensing, based on the keygen-rs SDK.
For Tauri v2 support, please use tauri-plugin-keygen-rs2.
Keymana is a desktop interface for Keygen.sh that eliminates API calls, offering intuitive license management with multi-account support, advanced filtering, and compatibility with both cloud and self-hosted instances.
Add the following to your Cargo.toml:
[dependencies]
tauri-plugin-keygen-rs = "0.4"
main.rs, import and use the plugin:use tauri_plugin_keygen_rs::Builder;
fn main() {
tauri::Builder::default()
.plugin(
Builder::new(account, product, public_key)
.api_url(api_url)
.build()
)
// ... other configurations
.run(tauri::generate_context!())
.expect("error while running tauri application");
}
import {
getLicense,
validateKey,
deactivate,
checkoutLicense,
checkoutMachine,
} from 'tauri-plugin-keygen-rs-api';
const license = await validateKey('YOUR_LICENSE_KEY');
tauri::Builder::default()
// ... other configurations
.setup(|app| {
let app_handle = app.handle();
tauri::async_runtime::block_on(async move {
let license_state = app_handle.get_license_state();
let license_state = license_state.lock().await;
println!("License: {:?}", license_state.license);
let machine_state = app_handle.get_machine_state();
let machine_state = machine_state.lock().await;
println!("Machine: {:?}", machine_state);
tauri_plugin_keygen_rs::add_license_listener(|state| {
println!("License state change: {:?}", state);
}).await;
});
Ok(())
})
.run(tauri::generate_context!())
.expect("error while running tauri application");
For more detailed examples, refer to the examples directory.
The plugin uses a KeygenError class for error handling. Catch and handle these errors in your application as needed.
Contributions are welcome! Please feel free to submit a Pull Request.
This project is licensed under the MIT License.