cocoa
Password generator service
What can cocoa do for me?
cocoa
is a service which can generate 1 or many passwords using a mnemonic word list, and email you the result(s).
The password(s) is not logged, or saved anywhere.
How do I run cocoa?
cocoa
can be up and running in 3 steps! When run in a production environment, it's recommended that you use NGINX
to terminate SSL, and reverse proxy to cocoa
. Using a daemon like upstart
(on Linux) to run cocoa
is ideal.
- Clone this repository, or install from
npm
:-
$ npm install cocoa
-
$ ln -s node_modules/cocoa/config.json config.json
-
$ ln -s node_modules/cocoa/index.js index.js
-
- (Optional) Edit
config.json
to configure your email server, etc. - Run via
node index.js
.
Request parameters
words
Integer (3) The amount of words to use
passwords
Integer (1) The amount of passwords to generate
special
Boolean (false) Randomly adds common "special" characters to a password, including capitalization
Configuration
{
"auth": /* Optional, see tenso authentication section */
"compress": false, /* Optional, enabled by default, disabled with SSL */
"email": { /* Optional, disabled by default */
"enabled": true,
"host": "smtp.host",
"port": 465,
"secure": true,
"from": "You <you@yourdomain>",
"user": "you@yourdomain",
"pass": "password"
},
"headers": { ... }, /* Optional, custom headers */
"hostname": "localhost", /* Optional, default is 'localhost' */
"json": 2, /* Optional, default indent for 'pretty' JSON */
"logs": { /* Optional */
"level": "debug",
"stdout": true,
"dtrace": true,
"stack": true
},
"port": 9090, /* Optional, default is 9090 */
"rate": {
"enabled": true,
"limit": 450, /* Maximum requests allowed before `reset` */
"reset": 900, /* TTL in seconds */
"status": 429, /* Optional HTTP status */
"message": "Too many requests", /* Optional error message */
"override": function ( req, rate ) { ... } /* Override the default rate limiting */
},
"session": { /* Optional */
"secret": null,
"store": "memory", /* "memory" or "redis" */
"redis": /* See connect-redis for options */
},
"ssl": { /* Optional */
"cert": null,
"key": null
},
"title": "My API", /* Page title for browsable API */
"uid": N /* Optional, system account uid to drop to after starting with elevated privileges to run on a low port */
}
License
Copyright (c) 2015 Jason Mulligan
Licensed under the BSD-3 license.