Skip to content

Run and serve your web apps in .test domains on your develop machine.

License

Notifications You must be signed in to change notification settings

Angelmykl/localhostd

 
 

Repository files navigation

LocalhostD

Run and serve your web apps in .test domains on your develop machine.

a

This project is inspired by:

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 API
  • python -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.

License

MIT - Michael Yin

About

Run and serve your web apps in .test domains on your develop machine.

Resources

License

Code of conduct

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • JavaScript 98.9%
  • Other 1.1%