harpoon-server

0.1.0 • Public • Published

Harpoon

enter image description here

Harpoon is a file send server written in Javascript using NodeJS & Express.

FEATURES

  • Session Clustering
  • Server Health Data
  • Server Clustering
  • Worker Threading
  • Lag Overload Prevention
  • Session Caching
  • Session Security
  • Bot Detection
  • Spider Detection
  • Throttle Resources
  • Resource Caching
  • Anti-Leeching
  • Anti-Query Scanning
  • Prevents SQL Injections
  • Throttles Requests
  • QoS Uptime
  • Request Logging

INSTALLING

Using Git:

git clone https://github.com/active9/harpoon
cd harpoon
npm install

Using NPM:

npm install harpoon -g

Once installed run

harpoon

Now visit http://localhost.rocks:8080/ in your web browser!

CONFIGURING

Harpoon allows you to configure and load your own settings using a config.js file located in your file send servers main directory. But before you do that navigate to the directly where you wish to run harpoon from then make a folder called files. All content is served from within the files directory.

For example: If you installed harpoon and wish to run it from /var/www/harpoon you would add /var/www/harpoon/config.js and /var/www/harpoon/files/

For an example configuration see the config.js distributed with this source.

IMPORTANT: Be sure to create your own unique serverSecret phrase in your configuration file.

OPTIONS

  • rfcname - the RFC server name
  • localip - the local ip of the box (this is generally your publicly exposed ip)
  • hosts - the hostnames & ip associated with your server
  • peers - the harpoon peer servers if clustering
  • filesDirectory - the directory to serve files from
  • port - the port in which the file send server runs on
  • maxLag - the maximum lag the server will allow before stopping new sends
  • serverSecret - a hash that is unique to your server
  • logging - enable or disable logging (true,false)
  • basekbps - base send speed in kbps
  • burstkbps - burst speed in kbps during file sends
  • exts - array of extensions to allow file sends for
  • picture - the default image to show when a file is missing

STATISTICS

By default harpoon comes with basic statistic information which can be viewed by visiting /ping and /status with the server running. Both of which return a JSON array of data pertaining to the server session and host computer.

CONTRIB

Harpoon is made to replace existing file send servers such as nginx or litespeed. In our tests (data not yet available) we have noticed roughly a 2 - 4x speed increase and 2-4x cpu load decrease over nginx. Harpoon is open-source via the MIT license we encourage Forking.

LICENSE

MIT

Dependents (0)

Package Sidebar

Install

npm i harpoon-server

Weekly Downloads

2

Version

0.1.0

License

MIT

Last publish

Collaborators

  • active9