npm.io
2.21.0 • Published 1 month agoCLI

tlsd

Licence
ISC
Version
2.21.0
Deps
11
Size
469 kB
Vulns
0
Weekly
0

tlsd

This is a node.js based webserver. It is designed for development work on prototype web applications. It is not designed for production websites.

Features

- SSL/TLS via Greenlock
- Websockets built in
- Standardised Websockets/RPC protocol for front/back end communications
- Utility command 'tlsd'

Installing

Install tlsd into your project:

npm install tlsd

The tlsd module should now be added to your local package.json file and you can run it this way:

npx tlsd

This way you can just use it to serve your local project in dev or TLS mode.

tlsd init

Creates empty scaffolding files for a project:

mkdir my_project
tlsd init my_project

This can then be tested by starting the server:

tlsd run dev my_project 12345 3

And then browsing to "http://localhost:12345". You should see the pages being delivered and a websocket connection being established.

tlsd run dev

In dev mode, tlsd runs a plain HTTP server without TLS/SSL security. This is for local (your computer) development:

tlsd run dev root_dir port verbosity

All arguments are required.

tlsd domain

Adds a domain to Greenlock and links the site's root so it can be served with HTTPS:

tlsd domain example.com /absolute/path/to/site_root

tlsd version

Displays the current version of tlsd

TLS Mode

In HTTPS mode, you must specify the dir containing links/dirs for domains to serve it will run on HTTP on 80 (redirecting to 443), HTTPS on 443, and magically generate certs and serve secure sites like nodes:

DOMAINS_ROOT=./my_domains MAINTAINER_EMAIL=foo@bar.com VERBOSITY=4  node tlsd.js

All env vars are required.

You must also register your domain before running in TLS mode, otherwise it won't be recognized. Either run:

tlsd domain example.com /absolute/path/to/site_root

or use Greenlock directly:

npx greenlock add --subject example.com --altnames example.com,www.example.com

TLS mode serves files with Letsencrypt SSL certs magically.