https://github.com/gcsboss/load-m-up
A RESTful service specialized in receiving and managing web file uploads.
https://github.com/gcsboss/load-m-up
Last synced: 8 months ago
JSON representation
A RESTful service specialized in receiving and managing web file uploads.
- Host: GitHub
- URL: https://github.com/gcsboss/load-m-up
- Owner: GCSBOSS
- License: mit
- Created: 2019-07-16T17:25:34.000Z (almost 7 years ago)
- Default Branch: master
- Last Pushed: 2022-12-10T22:38:33.000Z (over 3 years ago)
- Last Synced: 2024-05-08T23:00:52.858Z (almost 2 years ago)
- Language: JavaScript
- Size: 169 KB
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 4
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE
Awesome Lists containing this project
README
# [Load m Up](https://gitlab.com/GCSBOSS/load-m-up)
A RESTful service specialized in receiving and managing web file uploads.
## Get Started
1. Install with: `npm i -g --no-optional load-m-up`.
2. Optionally point `LOADMUP_CONF` env var to a TOML [config file](#configuration).
3. Optionally store a strong admin token in `LOADMUP_TOKEN` env var.
4. Run in the terminal with: `load-m-up`.
## Reporting Bugs
If you have found any problems with this module, please:
1. [Open an issue](https://gitlab.com/GCSBOSS/load-m-up/issues/new).
2. Describe what happened and how.
3. Also in the issue text, reference the label `~bug`.
We will make sure to take a look when time allows us.
## Proposing Features
If you wish to get that awesome feature or have some advice for us, please:
1. [Open an issue](https://gitlab.com/GCSBOSS/load-m-up/issues/new).
2. Describe your ideas.
3. Also in the issue text, reference the label `~proposal`.
## Contributing
If you have spotted any enhancements to be made and is willing to get your hands
dirty about it, fork us and
[submit your merge request](https://gitlab.com/GCSBOSS/load-m-up/merge_requests/new)
so we can collaborate effectively.
## API
Endpoint | Body | Visibility | Summary
---------|------|---------|---
`POST /upload` | `multipart/form-data` | Public | Upload files to the server
`POST /confirmation` | `application/json` | Admin | Mark an upload as permanent
`GET /upload/:hash/:name` | none | Public | Retrieve a given upload
## Configuration
The following options are available on the config file:
Option | Type | Summary | Default
-------|------|---------|--------
`debug`| Boolean | When true, enables some minor development env tweaks. | false
`port`| Boolean | HTTP port for the server to listen | 80 or 443
`confirmTimeout` | Integer | Timeout in seconds for unconfirmed uploads to be removed. | 6
`dir` | Directory | Where to store permanent uploads. | `./uploads`
`formFileDir` | Directory | Where to store unconfirmed uploads. | `./uploads/tmp`
`sizeLimit` | Integer | A maximum byte size for uploads. | No limit
`whitelist` | Array of String | An array of mime-types/extensions that should be accepted on uploads. | Disabled
`blacklist` | Array of String | An array of mime-types/extensions that should be rejected on uploads. | Disabled
`log.file` | File | Where to stream all log events. | Unset
`ssl.key` | File | Where to look for SSL key. | Unset
`ssl.cert` | File | Where to look for SSL cert/chain. | Unset
`multi` | Boolean | Whether to allow multiple files in 1 request | false
`multiSizeLimit` | Integer | A maximum overall byte size in 1 request | No Limit
`multiFileLimit` | Integer | A maximum amount of files allowed in 1 request | No Limit