piratebox icon indicating copy to clipboard operation
piratebox copied to clipboard

Node.js implementation of the PirateBox Server inspired by David Darts

PirateBox Node.js server - original idea by David Darts - http://wiki.daviddarts.com/PirateBox reimplemented by crypto.scythe ([email protected])

changes by camperking(@gmail.com):

  • Now users can delete files. Simply click on the x after the filename in the filelist.

changelog:

v0.8 small optimizations

v0.7 working chat implemented

v0.6 outsourced configuration and templates

v0.5 code changes for debugging.

v0.4 files in transfer from the system temp directory are not shown in file list and are not downloadable until they are finished

v0.3 implemented force download instead of viewing in browser

v0.2 moved duplicate calls to separate functions

compatibility: tested with Node.js version 0.4.2 running on OS X 10.6 and FreeBSD 8.2

the following NPM modules are needed for this to work: information for installing & using NPM - Node Package Manager - http://npmjs.org

formidable mime url forever -> only for running the script continuously

installation instructions: (these are for FreeBSD but should be easily adaptable to other unixoid OSes)

  1. install Node.js, you can find it in ports/www/node compile it

make install clean

  1. install Node Package Manager from www.npmjs.org the easiest ways is

curl http://npmjs.org/install.sh | sh

  1. install the needed Node.js packages

npm install formidable

npm install mime

npm install url

npm install forever

  1. move piratebox.js and its folders to where you want it go the the folder you extracted it and

mkdir /var/piratebox

mv * /var/piratebox

  1. configure the piratebox script to use the folders you have chosen open the piratebox.js in your favorite plaintext editor and change the values of "pbUPLOADDIRECTORY" and "pbWEBROOT" to the folders you created.

  2. now you can start the piratebox to start it normal

node piratebox.js

to start it with automatic restarting:

forever piratebox.js

  1. The piratebox should run now at port 80 check the piratebox-config.js file for more configuration options