Simple file hosting server for Node.js. Stores file information in MongoDB and uploads in the file system.
- Node
- MongoDB
Visiting /
in a browser shows a single page where you can enter your token and upload files.
/admin
in a browser will prompt for a username and password, and allows control of tokens and uploaded files.
{
"error": {
"status": Number,
"title": String,
"detail": String
}
}
POST /upload
The Authorization
header has to be a valid token, and the file should be called file
(multipart/form-data).
Response (if OK):
{
// 7 character long file ID
"id": String,
// MIME type
"type": String,
// Size in bytes
"size": Number,
// The IP you uploaded from
"ip": String,
// 64 character long key that can be used to delete the file
"deleteKey": String,
// MD5 file hash
"hash": String,
// Name of the file you uploaded
"originalName": String
}
The file will then be accessible at GET /{id}
.
GET /delete/{id}/{deleteKey}
Uses GET so the link can be opened in a browser. If the request doesn't accept HTML, an OK response would be:
{
"deleted": true,
"type": String,
"size": Number,
"ip": String,
// How many times the file was sent to a human (unless a bot was disguised as a browser)
"hits": Number,
// How many times it was sent to a bot
"botHits": Number
}
config.json
has to be created, see config.sample.json
.