http server with modular data retrieval and functional api endpoints
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
api
core
panel
public
.eslintrc.json
.gitignore
README.md
index.js
keychain.json.example
nginx.conf
package-lock.json
package.json

README.md

Sherlock2

Like Sherlock, but not as poorly coded

Prerequisites

Sherlock2 requires a minimum of Node v7.6
Please update your Node.js runtime to use Sherlock2.

macOS

brew install pkg-config cairo pango libpng jpeg giflib

Ubuntu

sudo apt install libcairo2-dev libjpeg8-dev libpango1.0-dev libgif-dev build-essential g++

Installation

git clone https://github.com/kurisubrooks/sherlock2.git
cd sherlock2/
npm install

Setup

  1. Create a new folder in the main directory called storage

  2. Rename or duplicate keychain.json.example in the root directory to keychain.json and complete the JSON file by providing your API Keys for the various services listed in the file.

Note: session in keychain.json is not an API Key, and instead is a secure key that is used for checking the validity of client↔server sessions. You can easily generate a key for this by opening the node REPL in your terminal by running node, then copy pasting the following code:

crypto.randomBytes(Math.ceil(80 / 2)).toString("ascii")

Run

Note: If you're running this on macOS, you'll need to run the following with sudo for access to Ports 80 and 443.

node index

If you wish to run Sherlock2 under Production, you can start it under pm2 by using

pm2 start index.js --name "sherlock2" -- --color