A backend providing a HTTP REST like interface for uploading files written in rust.

Overview

UploadServer

A backend providing a HTTP REST like interface for uploading files written in rust.


API Documentation


License

This project is licensed under the Mit License



Features

  1. Rest api
  2. Chunked uploading
  3. Embeds


Clients


You have created your own client for UploadServer? Great! Just submit an client request in the issues tab of github or write me an email at [email protected].



Usage

Prerequirements

  • Rust Nightly
    You need rustup to run this.
rustup default nightly

Configuration

Copy default.env to .env and change the settings in .env.


Building

cargo build --release

The executable will be located at target/release/uploadserver


Testing

If you are developing and don't want to rebuild and run the client to release mode use

cargo run


Goals

  • Image compression

If you have aditional ideas how to make this tool better please create a feature request in the issues tab.



Contributing

More information here.

You might also like...
 HTTPie: human-friendly CLI HTTP client for the API era
HTTPie: human-friendly CLI HTTP client for the API era

HTTPie: human-friendly CLI HTTP client for the API era HTTPie (pronounced aitch-tee-tee-pie) is a command-line HTTP client. Its goal is to make CLI in

xh is a friendly and fast tool for sending HTTP requests. It reimplements as much as possible of HTTPie's excellent design, with a focus on improved performance.
xh is a friendly and fast tool for sending HTTP requests. It reimplements as much as possible of HTTPie's excellent design, with a focus on improved performance.

xh is a friendly and fast tool for sending HTTP requests. It reimplements as much as possible of HTTPie's excellent design, with a focus on improved performance

rh: user-friendly command-line HTTP client

Rust HTTP Cli The command name in your terminal is rh. rh: user-friendly command-line HTTP client rh is a user-friendly, lightweight and performant co

Rust bindings to libcurl

curl-rust libcurl bindings for Rust Quick Start use std::io::{stdout, Write}; use curl::easy::Easy; // Print a web page onto stdout fn main() {

A GraphQL server library implemented in Rust

A GraphQL server library implemented in Rust Async-graphql is a high-performance server-side library that supports all GraphQL specifications. Feature

Typed, correct GraphQL requests and responses in Rust

graphql_client A typed GraphQL client library for Rust. Features Precise types for query variables and responses. Supports GraphQL fragments, objects,

A rule34 scraper made in rust this time

rust-34-scraper A rule34 scraper made in rust this time Building Clone the repository Execute cargo build --release --release is an optimized build pr

Easy c̵̰͠r̵̛̠ö̴̪s̶̩̒s̵̭̀-t̶̲͝h̶̯̚r̵̺͐e̷̖̽ḁ̴̍d̶̖̔ ȓ̵͙ė̶͎ḟ̴͙e̸̖͛r̶̖͗ë̶̱́ṉ̵̒ĉ̷̥e̷͚̍ s̷̹͌h̷̲̉a̵̭͋r̷̫̊ḭ̵̊n̷̬͂g̵̦̃ f̶̻̊ơ̵̜ṟ̸̈́ R̵̞̋ù̵̺s̷̖̅ţ̸͗!̸̼͋

Rust S̵̓i̸̓n̵̉ I̴n̴f̶e̸r̵n̷a̴l mutability! Howdy, friendly Rust developer! Ever had a value get m̵̯̅ð̶͊v̴̮̾ê̴̼͘d away right under your nose just when

An experimental HTTP server in Rust that supports HTTP/1.1, HTTP/2, and HTTP/3 over QUIC.

🚀 H123 An experimental HTTP server in Rust that supports HTTP/1.1, HTTP/2, and HTTP/3 over QUIC. Warning This is an experimental project and not inte

CLI and library for uploading files to Arweave.

arloader Command line application and library for effortlessly uploading files to Arweave. Arweave enables you to store documents and applications for

Small microservice to render Lottie animation files via an http REST API.

Lottie Renderer Service Small microservice to render Lottie animation files via an http REST API. Run via docker docker run -p 8080:8080 ghcr.io/mikbo

A more modern http framework benchmarker supporting HTTP/1 and HTTP/2 benchmarks.

rewrk A more modern http framework benchmark utility.

The most efficient, scalable, and fast production-ready serverless REST API backend which provides CRUD operations for a MongoDB collection

Optimal CRUD Mongo Goals of This Project This is meant to be the most efficient, scalable, and fast production-ready serverless REST API backend which

A Rust library for interacting with OpenAI's ChatGPT API, providing an easy-to-use interface and strongly typed structures.

ChatGPT Rust Library A Rust library for interacting with OpenAI's ChatGPT API. This library simplifies the process of making requests to the ChatGPT A

Plugin to request a relaunch when uploading a Skyline plugin through cargo skyline

restart-plugin A skyline plugin for allowing cargo-skyline (or other tools) to restart your game without you having to touch your controller. Install

A commmand line tool for uploading homework coded on the dcloud server onto specific google drive course folders.

A commmand line tool for uploading homework coded on the dcloud server onto specific google drive course folders.

Dufs is a distinctive utility file server that supports static serving, uploading, searching, accessing control, webdav...
Dufs is a distinctive utility file server that supports static serving, uploading, searching, accessing control, webdav...

Dufs (Old Name: Duf) Dufs is a distinctive utility file server that supports static serving, uploading, searching, accessing control, webdav... Featur

A CLI helping with uploading to Redacted, inspired by REDBetter

red_oxide CLI to help uploading to REDacted, inspired by REDBetter. Installing Install intermodal and add it to your PATH Install lame, sox & flac and

A file server that supports static serving, uploading, searching, accessing control, webdav...
A file server that supports static serving, uploading, searching, accessing control, webdav...

Dufs Dufs is a distinctive utility file server that supports static serving, uploading, searching, accessing control, webdav... Features Serve static

Comments
  • [ImgBot] Optimize images

    [ImgBot] Optimize images

    Beep boop. Your images are optimized!

    Your image file size has been reduced by 22% 🎉

    Details

    | File | Before | After | Percent reduction | |:--|:--|:--|:--| | /assets/fetch_upstream.png | 2.29kb | 1.55kb | 32.49% | | /assets/fork.png | 1.80kb | 1.22kb | 32.30% | | /assets/contribute.png | 1.96kb | 1.36kb | 30.51% | | /assets/fetch_and_merge.png | 16.24kb | 12.30kb | 24.29% | | /assets/open_pull_request.png | 13.55kb | 10.26kb | 24.26% | | /assets/fork_select.png | 18.81kb | 15.68kb | 16.65% | | | | | | | Total : | 54.65kb | 42.36kb | 22.48% |


    📝 docs | :octocat: repo | 🙋🏾 issues | 🏪 marketplace

    ~Imgbot - Part of Optimole family

    opened by imgbot[bot] 0
  • Fixes

    Fixes

    Added configure.sh script for easily configuring uploadserver.

    Increased maximum file extension size to 10.

    Increased id size to 7.

    Fixed file extensions.

    opened by KekOnTheWorld 0
  • You can't host a web client on the uploadserver

    You can't host a web client on the uploadserver

    There is no option to host your upload client on the server. This means you need a reverse proxy like nginx with custom location entry's to host the web client and the upload server on the same address, but in some use cases this isn't possible and then you need to host the client on another address.

    feature request 
    opened by CraftingDragon007 0
Releases(v2.0.0-beta2)
  • v2.0.0-beta2(May 9, 2022)

    !! This is a beta, expect bugs !!

    Changes

    • Removed / after download route.
    • Fixed embed route.
    • Added 404 handling

    What's Changed

    • Fixed download route by @KekOnTheWorld in https://github.com/KotwOSS/kekupload-server/pull/25
    • v2.0.0-beta1 by @KekOnTheWorld in https://github.com/KotwOSS/kekupload-server/pull/26
    • Added 404 by @KekOnTheWorld in https://github.com/KotwOSS/kekupload-server/pull/27

    Full Changelog: https://github.com/KotwOSS/kekupload-server/compare/v2.0.0-alpha...v2.0.0-beta2

    Source code(tar.gz)
    Source code(zip)
  • v2.0.0-alpha(May 6, 2022)

    ! This is an alpha expect bugs !

    Major changes

    • Switched from rocket to actix web to gain speed.
    • Redesigned API
    • Added better error handling

    What's Changed

    • Added Dockerfile for Docker Support by @CraftingDragon007 in https://github.com/KotwOSS/kekupload-server/pull/4
    • Fixes by @KekOnTheWorld in https://github.com/KotwOSS/kekupload-server/pull/6
    • Updated API.md by @KekOnTheWorld in https://github.com/KotwOSS/kekupload-server/pull/7
    • E by @KekOnTheWorld in https://github.com/KotwOSS/kekupload-server/pull/8
    • E by @KekOnTheWorld in https://github.com/KotwOSS/kekupload-server/pull/9
    • Fixed docker by @KekOnTheWorld in https://github.com/KotwOSS/kekupload-server/pull/10
    • Fixed Dockerfile by @KekOnTheWorld in https://github.com/KotwOSS/kekupload-server/pull/11
    • Fixed configure.sh by @KekOnTheWorld in https://github.com/KotwOSS/kekupload-server/pull/12
    • Fixed Dockerfile by @KekOnTheWorld in https://github.com/KotwOSS/kekupload-server/pull/13
    • Fixed Dockerfile by @KekOnTheWorld in https://github.com/KotwOSS/kekupload-server/pull/14
    • Added embed only if image by @KekOnTheWorld in https://github.com/KotwOSS/kekupload-server/pull/15
    • fixed embed by @KekOnTheWorld in https://github.com/KotwOSS/kekupload-server/pull/16
    • Updated README by @KekOnTheWorld in https://github.com/KotwOSS/kekupload-server/pull/17
    • Added address customizability by @KekOnTheWorld in https://github.com/KotwOSS/kekupload-server/pull/18
    • [ImgBot] Optimize images by @imgbot in https://github.com/KotwOSS/kekupload-server/pull/19
    • Fix API Docs-URL by @MrRedRhino in https://github.com/KotwOSS/kekupload-server/pull/20
    • Switched to actix web by @KekOnTheWorld in https://github.com/KotwOSS/kekupload-server/pull/21
    • Removed unused files by @KekOnTheWorld in https://github.com/KotwOSS/kekupload-server/pull/23
    • Added error handling and format by @KekOnTheWorld in https://github.com/KotwOSS/kekupload-server/pull/24

    New Contributors

    • @CraftingDragon007 made their first contribution in https://github.com/KotwOSS/kekupload-server/pull/4
    • @imgbot made their first contribution in https://github.com/KotwOSS/kekupload-server/pull/19
    • @MrRedRhino made their first contribution in https://github.com/KotwOSS/kekupload-server/pull/20

    Full Changelog: https://github.com/KotwOSS/kekupload-server/compare/1.0.1...v2.0.0-alpha

    Source code(tar.gz)
    Source code(zip)
  • 1.0.1(Feb 19, 2022)

  • 1.0.0(Feb 14, 2022)

    v1.0.0

    The first official release of uploadserver

    Routes

    | Name | Route | | ----- | ------- | | create |~/c/| | upload |~/u//| | remove |~/r/| | finish |~/f/| | download |~/d/id| | embed |~/e/id|

    Source code(tar.gz)
    Source code(zip)
Pyre - A fast python HTTP server inspired by japronto written in rust.

Pyre - A fast python HTTP server inspired by japronto written in rust.

null 135 Nov 26, 2022
An HTTP library for Rust

hyper A fast and correct HTTP implementation for Rust. HTTP/1 and HTTP/2 Asynchronous design Leading in performance Tested and correct Extensive produ

null 11k Jan 8, 2023
An easy and powerful Rust HTTP Client

reqwest An ergonomic, batteries-included HTTP Client for Rust. Plain bodies, JSON, urlencoded, multipart Customizable redirect policy HTTP Proxies HTT

Sean McArthur 6.8k Dec 31, 2022
FeignHttp is a declarative HTTP client. Based on rust macros.

FeignHttp is a declarative HTTP client. Based on rust macros. Features Easy to use Asynchronous request Configurable timeout settings Suppor

null 46 Nov 30, 2022
Pretend is a macros-based declarative Rust HTTP client

pretend is a modular, Feign-inspired HTTP, client based on macros. It's goal is to decouple the definition of a REST API from it's implementation.

null 24 Aug 3, 2022
Minimal Rust HTTP client for both native and WASM

ehttp: a minimal Rust HTTP client for both native and WASM If you want to do HTTP requests and are targetting both native and web (WASM), then this is

Emil Ernerfeldt 105 Dec 25, 2022
Fast and friendly HTTP server framework for async Rust

Tide Serve the web API Docs | Contributing | Chat Tide is a minimal and pragmatic Rust web application framework built for rapid development. It comes

http-rs 4.1k Jan 2, 2023
ratpack: a simpleton's HTTP framework (for rust-lang)

ratpack: a simpleton's HTTP framework (for rust-lang) ratpack is idealized in the simplicity of the sinatra (ruby) framework in its goal, and attempts

ZeroTier, Inc. 5 Jun 29, 2022
🐱‍👤 Drop-in HTTP replacement module for Garry's Mod

??‍?? gmsv_reqwest This module is a drop-in replacement for Garry's Mod's HTTP function, inspired by gmsv_chttp created by timschumi. The module uses

William 38 Dec 12, 2022
Multi-stream HTTP downloader using range requests

chooch - An Amazing Project Downloads files faster than wget/curl (in theory) using multiple connections. Chooch recycles the slowest connection and r

null 13 Sep 14, 2022