localhostd
v1.0.43
Published
LocalhostD takes care of launching your web app on your development machine.
Downloads
20
Readme
LocalhostD
Run and serve your web apps in .test domains on your develop machine.
This project is inspired by:
- 37 Signals' Pow (Rack, OS X only)
- typicode/hotel
Comparing to hotel, this project comes with a few extra features:
- Full-fledged / operable terminal (powered by battle-hardened node-pty and xterm.js)
- Also shipped as an Electron / GUI app (available on Linux / OS X / Windows)
- Robust state control (easily and reliably restarting app when needed)
- Proxy all network request (so you don't have to setup proxy auto-config, just use the single proxy, makes it easy for cross-projects API invocation)
- Self-signed SSL connection (with correct SAN so it produces a 'greenlock' after marking CA trusted manually)
- Set a timeout option so application will be automatically shutdown
Install
If you prefer launching and keeping it by CLI, then
npm install localhostd -g
localhostd server
... or if you prefer launching it as a GUI staying as a tray icon, download the latest release.
Usage
Configure your brower to use http://localhost:2999
as HTTP/HTTPS proxy. Then add your apps in http://localhostd.test/ (or in GUI), specifying the directory and the command to run your application.
Make sure they listen to the HTTP port number specified in the PORT
enviroment variable. Here are some examples commands:
ember server
jekyll server
rails server --port $PORT --bind 127.0.0.1
--bind 127.0.0.1
is for OSX otherwise rails will be using a special localhost socket which is not accessible by Node.js APIpython -m SimpleHTTPServer $PORT
php -S 127.0.0.1:$PORT
Then click the 🌎 button in the app details to go to its .test
domain. localhostd
will launch your app for you.
Self-signed SSL
localhostd
generates a self-signed CA key-pair and stores it with other data at ~/.localhostd.json
. Then it signs SSL certificate for each .test
domain when requested. So SSL works out of box, just by going to https://my-app.test/
. But if want to see a 'greenlock', i.e. to make your browser trust localhostd
, you need to mark your self-signed CA as trusted in browser or OS.