This commit is contained in:
G2-Games 2025-03-05 02:12:48 -06:00
commit db07d75fa7
5 changed files with 23 additions and 21 deletions

View file

@ -1,5 +1,6 @@
# Confetti-Box 🎉
A super simple file host. Inspired by [Catbox](https://catbox.moe) and [Uguu](https://uguu.se).
A super simple file host. Inspired by [Catbox](https://catbox.moe) and
[Uguu](https://uguu.se).
## Features
### Current
@ -7,6 +8,7 @@ A super simple file host. Inspired by [Catbox](https://catbox.moe) and [Uguu](ht
- Customizable using a simple config file
- Only stores one copy of a given hash on the backend
- Chunked uploads of configurable size
- Websocket uploads
- Fast (enough), runs just fine on a Raspberry Pi
- Simple API for interfacing with it programmatically
- No database setup required, uses self-contained in memory database
@ -18,10 +20,10 @@ A super simple file host. Inspired by [Catbox](https://catbox.moe) and [Uguu](ht
## Screenshot
<p align="center">
<img width="500px" src="https://github.com/user-attachments/assets/9b12d65f-257d-448f-a7d0-43068cc3f8a3">
<img width="500px" src="./images/Confetti-Box Screenshot.png">
<p align="center"><i>An example of a running instance</i></p>
</p>
## License
Confetti-Box is licensed under the terms of the GNU AGPL-3.0 license. Do what you want
with it within the terms of that license.
Confetti-Box is licensed under the terms of the GNU AGPL-3.0 license. Do what
you want with it within the terms of that license.

View file

@ -1,6 +1,6 @@
[package]
name = "confetti_box"
version = "0.2.1"
version = "0.2.2"
repository = "https://github.com/Dangoware/confetti-box"
license = "AGPL-3.0-or-later"
authors.workspace = true

View file

@ -7,7 +7,7 @@ keywords = ["selfhost", "upload", "command_line"]
categories = ["command-line-utilities"]
authors.workspace = true
license = "AGPL-3.0-or-later"
edition = "2021"
edition = "2024"
[[bin]]
name = "imu"
@ -17,17 +17,17 @@ path = "src/main.rs"
workspace = true
[dependencies]
anyhow = "1.0.92"
chrono = { version = "0.4.38", features = ["serde"] }
clap = { version = "4.5.20", features = ["derive", "unicode"] }
directories = "5.0.1"
indicatif = { version = "0.17.8", features = ["improved_unicode"] }
owo-colors = { version = "4.1.0", features = ["supports-colors"] }
reqwest = { version = "0.12.8", features = ["json", "stream"] }
serde = { version = "1.0.213", features = ["derive"] }
serde_json = "1.0.132"
thiserror = "1.0.68"
tokio = { version = "1.41.0", features = ["fs", "macros", "rt-multi-thread"] }
tokio-util = { version = "0.7.12", features = ["codec"] }
toml = "0.8.19"
uuid = { version = "1.11.0", features = ["serde", "v4"] }
anyhow = "1.0"
chrono = { version = "0.4", features = ["serde"] }
clap = { version = "4.5", features = ["derive", "unicode"] }
directories = "6.0"
indicatif = { version = "0.17", features = ["improved_unicode"] }
owo-colors = { version = "4.1", features = ["supports-colors"] }
reqwest = { version = "0.12", features = ["json", "stream"] }
serde = { version = "1.0", features = ["derive"] }
serde_json = "1.0"
thiserror = "1.0"
tokio = { version = "1.41", features = ["fs", "macros", "rt-multi-thread"] }
tokio-util = { version = "0.7", features = ["codec"] }
toml = "0.8"
uuid = { version = "1.11", features = ["serde", "v4"] }

View file

@ -7,7 +7,7 @@ use owo_colors::OwoColorize;
use reqwest::Client;
use serde::{Deserialize, Serialize};
use thiserror::Error;
use tokio::{fs::{create_dir, File}, io::{AsyncReadExt, AsyncWriteExt}, task::JoinSet};
use tokio::{fs::File, io::{AsyncReadExt, AsyncWriteExt}, task::JoinSet};
use uuid::Uuid;
use clap::{arg, builder::{styling::RgbColor, Styles}, Parser, Subcommand};
use anyhow::{anyhow, bail, Context as _, Result};

Binary file not shown.

After

Width:  |  Height:  |  Size: 102 KiB