PitchHut
Log in / Sign up
novus
37 views
Seamless HTTPS proxy for local development on macOS.
Pitch

Novus simplifies local development by allowing easy management of localhost services with custom domain names. Built on Nginx and DNSMasq, it securely handles HTTPS connections automatically, so you can focus on coding rather than configuration. Experience a streamlined setup with automated SSL management.

Description

Novus is an innovative local HTTPS proxy designed to enhance your developer experience on macOS. It simplifies the management of multiple localhost services by allowing you to define custom domain names with built-in HTTPS support, ensuring your connections are secure by default.

Under the hood, Novus utilizes Nginx as a proxy server and DNSMasq for custom domain resolution, eliminating the need for tedious /etc/hosts file modifications. With automatic SSL certificate management and renewal powered by mkcert, you can focus on development without the hassle of configuring security yourself.

Key Features:

  • Effortless Domain Mapping: Easily map your localhost URLs to custom DNS domains for a more intuitive development process.
  • Automatic Security: Secure all your domains effortlessly without manual SSL configuration.
  • Seamless Setup: Launch your local development environment with just a few commands and configure your domains in a user-friendly YAML file.

Quick Start:

To get started with Novus, simply initialize it with the following command:

$ novus init

This command generates a novus.yml configuration file where you can specify your domain mappings. Here’s an example configuration:

appName: my-app
routes:
  - domain: my-frontend.test
    upstream: http://localhost:3000
  - domain: my-api.test
    upstream: http://localhost:4000

After configuring, run novus serve to activate your custom domains locally.

Command Overview:

Utilize various commands to manage your Novus environment effectively:

CommandDescription
initInitializes Novus and creates a configuration file.
serveActivates routing and manages SSL certificates based on your config.
statusDisplays the current status of Novus and registered applications.
stopHalts Novus routing.
startInitiates Novus routing.
pause [app]Temporarily pauses a specific app's routing.
resume [app]Resumes routing for a paused app.
remove [app]Deletes app configuration and stops routing for that app.

Important Notes:

  • Prefer using .test or another non-TLD suffix for your custom domains.
  • Avoid using .local and .dev domains as they may cause conflicts with macOS resolutions and are valid TLDs, respectively.

Stay Updated:

As Novus is still under active development, keep in mind that new releases may introduce breaking changes. Always uninstall the previous version before upgrading to ensure a smooth transition:

# Uninstall old version
$ novus remove [app] # For all apps
$ brew uninstall novus
$ brew untap jozefcipa/novus

# Install new version
$ brew tap jozefcipa/novus
$ brew install novus

Experience a hassle-free development environment with Novus and enjoy the benefits of a streamlined workflow on macOS!