An open API service indexing awesome lists of open source software.

https://github.com/arindas/elevate

Barebones zero dependency HTTP File upload server.
https://github.com/arindas/elevate

barebones file-upload-server framework-agnostic golang

Last synced: 6 months ago
JSON representation

Barebones zero dependency HTTP File upload server.

Awesome Lists containing this project

README

        

# `elevate`
[![.github/workflows/release.yml](https://github.com/arindas/elevate/actions/workflows/release.yml/badge.svg)](https://github.com/arindas/elevate/actions/workflows/release.yml)
[![Go Reference](https://pkg.go.dev/badge/github.com/arindas/elevate.svg)](https://pkg.go.dev/github.com/arindas/elevate)
[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)

`elevate` is a HTTP file upload server. Files are uploaded to the server's host file system.

## Usage
```
$ ./elevate --help
Usage of ./elevate:
-base_dir string
Base directory for storing files. (default ".")
```

## Web interface

![screenshot](./assets/screenshot.png)

## Feature Set

- Upload multiple files to the server file system, over http, at once.
- Selected files are listed before uploading.
- Target directory in the server's host file system can be specified as shown above.
- Additionally, one can specify to which subdirectory you want to upload in the html form.
- Minimal page loading time. The entire web page is self contained in a single html file.
- Manages to be one of the most barebones file upload server that does exactly what it says.
- Files in a single upload request are handled in parallel.

## Build Instructions

### Pre-requisites:

- go 1.15 or newer installed

### Commands
Simply clone the repository and build with the go tool.

```
git clone https://github.com/arindas/elevate.git
cd elevate
go build
```

The binary produced can be freely distributed with anyone using the same machine architecture.