bunkr-client

Crates.iobunkr-client
lib.rsbunkr-client
version0.1.4
created_at2025-11-08 20:29:59.30509+00
updated_at2025-12-17 21:34:02.446815+00
descriptionA Rust library and CLI tool for uploading files to Bunkr.cr
homepagehttps://github.com/sn0w12/bunkr-client
repositoryhttps://github.com/sn0w12/bunkr-client
max_upload_size
id1923248
size130,916
sn0w (sn0w12)

documentation

README

bunkr-uploader

A command-line tool for uploading files to Bunkr.cr.

Features

  • Upload single files or directories
  • Create and manage albums
  • Batch uploading with configurable batch size
  • Optional TUI for progress tracking
  • Video preprocessing support
  • Secure token storage

Installation

From Source

git clone https://github.com/sn0w12/bunkr-uploader.git
cd bunkr-uploader
cargo install --path .

As a Library

Add to your Cargo.toml:

[dependencies]
bunkr-client = "0.1.0"

To use without CLI features:

[dependencies]
bunkr-client = { version = "0.1.0", default-features = false }

Usage

As a Library

use bunkr_client::{BunkrUploader, Config};

#[tokio::main]
async fn main() -> Result<(), Box<dyn std::error::Error>> {
    let config = Config {
        default_batch_size: Some(5),
        default_album_id: None,
        default_album_name: Some("My Album".to_string()),
        preprocess_videos: Some(true),
    };
    // Or use default: let config = Config::default();

    let uploader = BunkrUploader::new("your_api_token".to_string()).await?;

    // Upload files
    let files = vec!["file1.jpg".to_string(), "file2.png".to_string()];
    let (urls, failures) = uploader.upload_files(files, None, 1, None, Some(&config)).await?;

    Ok(())
}

First Time Setup (CLI)

Save your API token securely:

bunkr-client save-token YOUR_API_TOKEN

Upload Files

Upload files to an existing album by name or id:

bunkr-client --album-id ALBUM_ID file1.jpg file2.png
bunkr-client --album-name "My Album" file1.jpg file2.png

Upload a directory:

bunkr-client /path/to/directory

Create Album

bunkr-client create-album "Album Name" --description "Description"

Configuration

View current config:

bunkr-client config get

Set default batch size:

bunkr-client config set default_batch_size 5

Options

  • --token: Provide API token (alternative to saving)
  • --album-id: Upload to specific album ID
  • --album-name: Upload to album by name
  • --batch-size: Number of files to upload concurrently
  • --help: Show help

License

See LICENSE file.

Commit count: 0

cargo fmt