Easily host a private web site authenticated by email address only
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.
public
test
.gitignore
.npmignore
index.js
package.json
readme.md

readme.md

Serves up the content of a local directory to everyone who logs in with an allowed email address.

Usage

var makePrivateServer = require('private-static-website')

var options = {

}

var server = makePrivateServer(options)

server.start(8080)

server.updateUsers([
	'you@yourdomain.com',
	'yourfriend@gmail.com'
])

Options

  • privateContentPath: the local path with the content to be served to authenticated users
  • transportOptions: transport options to be passed to nodemailer
  • defaultMailOptions: default values for the "e-mail message fields" to be passed to nodemailer
  • getEmailText: a function that takes a login token and returns a string of html to be sent as the login email
  • domain: the domain name that cookies should be set on
  • db (optional): if you would like user's sessions to be persisted, you may pass in a levelup database for them to be stored in

Primarily composed of

  • just-login for email address authentication
  • st for static file serving

Todo

  • logging out
  • turn caching back on