Harpoon
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/harpooncd harpoonnpm 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