robinjia / easy-upload

Gracefully handle large file uploads with websockets

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Easy Upload

A simple web application for transferring very large files over the network using WebSocket.

This app allows research collaborators to share large files, without requiring all parties to have an account on a file sharing service like Dropbox.

Setup

Requirements

Most of these are available in pip, i.e.

pip install bottle gevent gevent-websocket wsaccel ujson

Numpy installation instructions can be found on the scipy website.

Initial setup

Before you can run the server, you need to set basic configuration parameters. Configuration is handled through a single JSON file located at config.json in the root directory. See config_example.json for an example config file.

Currently, the following parameters can be configured:

  • title (required): Title of the webpage
  • text (required): Text to display on the webpage
  • write_dir (required): Location to write uploaded files
  • owner: If supplied, chown file to supplied user or uid
  • group: If supplied, chgrp file to supplied group or gid
  • chmod: If supplied, chmod file to the supplied permission level

Running

To start the server, simply run

python server.py

By default, this will run on localhost on port 8080. You can also specify a certain hostname and port; for example,

python server.py 0.0.0.0 3000

will run on 0.0.0.0 on port 3000.

About

Gracefully handle large file uploads with websockets


Languages

Language:JavaScript 46.9%Language:Python 41.0%Language:Smarty 7.8%Language:CSS 4.4%