2.0.3 • Published 9 years ago

fortnotes v2.0.3

Weekly downloads
3
License
GPLv3
Repository
github
Last release
9 years ago

FortNotes Server

Build Status NPM version Dependencies Status Gitter

FortNotes is a highly secure online private information manager based on the AES encryption in the browser. This repo is for a new fully redesigned and reworked version. The current stable version can be found on the Bitbucket.

Getting Started

Node.js and NPM should be installed beforehand. Please follow the official instruction.

FortNotes Server is available as an npm package and should be installed globally:

npm install -g fortnotes

In Linux this can be done as a root:

sudo npm install -g fortnotes

Then to start a server with default options:

fortnotes

Usage

General way of usage:

fortnotes [options]

Full list of available options can be provided by the fortnotes application:

fortnotes --help

To run FortNotes Server with the specific configuration:

fortnotes --config ~/.fortnotes/config.json

Where the content of config.json:

{
	"port": 8080,
	"dataLimit": 50,
	"sessionTokenSize": 128,
	"sessionConfirmAttempts": 5,
	"smtpTransport": {
		"service": "gmail",
		"auth": {
			"user": "gmail.user@gmail.com",
			"pass": "userpass"
		}
	},
	"database": "sqlite://./data.sqlite"
}

DBMS Support

  • MySQL & MariaDB
  • PostgreSQL
  • Amazon Redshift (not tested)
  • SQLite

There are some config file examples for mysql, postgres, sqlite in memory and other options.

Config file options

NameDescription
debugenable verbose debug mode
testrun tests and exit
portHTTP port serving REST API requests
dataSizemaximum encrypted data size (notes, tags)
hashSizenotes/tags sha512 hash size
dataLimitdefault amount of returned records in lists of notes, sessions etc.
dataLimitMaxmaximum amount of returned records in lists
sessionTokenSizegenerated token size in bytes
sessionConfirmCodeSizegenerated token confirmation code size in bytes
sessionConfirmAttemptsallowed amount of attempts to activate sessions
smtpTransportnodemailer SMTP transport configuration (use direct if not set)
mailOptionsnodemailer e-mail message fields
restifyserver creation options passed to restify package
databasedatabase connection options passed to node-orm2 package

Default config options are listed in the config.js.

Development

Get the latest version of source files:

git clone git@github.com:fortnotes/server.git
cd server

Install global dependencies:

sudo npm install -g gulp node-dev

Then install local dependencies:

npm install

Now you can start it like this:

node-dev ./bin/cli.js --config ./tests/configs/sqlite.json --debug

To see sub-system log details:

DEBUG=* node ./bin/cli.js --config ./tests/configs/sqlite.json

Full REST API documentation is built from source files and available online.

Testing

It's possible to run all tests locally with given config:

fortnotes --config ~/.fortnotes/config.json --test

Tests are also run on Travis CI for node versions 0.10.x, 0.12.x and iojs.

License

FortNotes Server is released under the GPL-3.0 License.