Code Monkey home page Code Monkey logo

files's Introduction

files

Simple file hosting server for Node.js. Stores file information in MongoDB and uploads in the file system.

Prerequisites

  • Node
  • MongoDB

Usage

Visiting / in a browser shows a single page where you can enter your token and upload files.

Admin

/admin in a browser will prompt for a username and password, and allows control of tokens and uploaded files.

API

Error Response

{
	"error": {
		"status": Number,
		"title": String,
		"detail": String
	}
}

Uploading

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}.

Deleting

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
}

Configuration

config.json has to be created, see config.sample.json.

files's People

Stargazers

 avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.