/fenix

A simple and visual static web server with collaboration features.

Primary LanguageJavaScriptGNU General Public License v3.0GPL-3.0

Fenix Web Server

Fenix is a desktop web server for developers. Check out fenixwebserver.com for details. There's also a companion command line app. There are some YouTube videos available as well.


If you're using Fenix, we'd love your feedback!

Fenix 3 is currently in developer preview (macOS). Windows versions are nearly complete.

Join the Mailing List (signup on the bottom of the page)

If you aren't on the mailing list and want to see Fenix 3 before it's general availability release, see the new blog for a preview talk.

Tweet This! Tweet About This!

Gitter Chat Downloads


UPDATE 5/20/18

We got wrapped up in a paid client engagement (took a few months), but we'll be back to Fenix development on a full time basis starting 5/28. In the meantime, checkout https://preview.fenixwebserver.com to use the latest 3.0.0 release candidate.

UPDATES (As of 10/25/17)

The Fenix 3.0.0 beta is complete. While we fixed a few bugs, we spent most of our time building the backend of the brand new deployment service, which we're looking forward to debuting in Fenix 3. We've also built an online migration tool to help existing users move from Fenix 2 -> Fenix 3 (we were a bit surprised to see users with 50+ sites). Along with this comes an update to the Fenix 2 command line utility to automate the migration process for you.

We're trying to keep any new features to a minimum since we're very anxious to release Fenix 3, but we were able to throw in an option to "open in browser" upon server creation, defined in the new preferences section.

We've also launched a placeholder website for author.io (Fenix commercial versions will being distributed under this comapny), a new Twitter account @author_io and an Author.io Facebook Page where we've been posting a few screenshots of new stuff as we complete it.

For those we invited to the early beta, thank you. Your feedback has been invaluable. We will now be adding persistence (so webservers will now be saved) and sending out a release candidate to a wider audience. Most of our development has been done on Mac, but we're starting to go through the Windows version looking for any OS-specific issues.

I'd also like to publicly thank those of you who have donated. Your support means the world to us!

We have some exciting new things coming in 3.0.0:

Base

  • Abstracted Foundation (i.e. our electron boilerplate)
  • Middleware Plugin System (Internal Use Only)
  • UI Plugin System (Internal Use Only)

The plugin system is only for internal use. We hope to expand this for developer use in a later edition.

Open Core

  • Autoupdate macOS (evergreen) - No more ridiculously long delays between updates!
  • Autoupdate Windows (evergreen) - 90% done.
  • Brand new UI.
  • Native CLI app (no need to npm install fenix-cli anymore).
  • Automatic port management.
  • Port conflict resolution via porthog
  • Replace Growl w/ Native System Notifications.
  • Optional JS/CSS minification.
  • Optional GZip compression.
  • Optionally Render Markdown as HTML (used to always do this, now you have a choice).
  • Optional ETags.
  • Optional CORS Support
  • Optional JSON/XML/YAML Pretty-Print.
  • Option to output logs to physical file.
  • API
  • Global Preferences
  • Soft Delete of Servers
  • "Pretty" names for SSH tunneling (i.e. myapp.localtunnel.me)
  • SSH Tunneling Keepalive
  • Light Theme
  • Dark Theme
  • System Tray Support
  • "Run in Background" Mode
  • Drag 'n' Drop Server Creation (App & System Tray)
  • Installer (macOS pkg, Windows NSIS)
  • New Responsive File Browser.
  • Autodeployment (w/ badge service via author.io)

There have been several requests for things like gzip compression, ETags, etc. These features don't typically make sense for the simplest form of local development, but modern UI development "done right" requires a little more emphasis on networking/transmission. These features become very useful when testing and troubleshooting, so we've made it possible to turn them on/off for each server. We're also extending the Fenix API to manage these things programmatically, and we anticipate releasing a gulp/grunt plugin to help automate local testing workflows.

PRO Edition

  • Log Filtering
  • Advanced Live Reload
  • Custom Response Headers.
  • Multiple server root directories.
  • Realtime connection monitoring & statistics
  • SSL Support (Fenix CA)
  • Fenix Certificate Authority
    • Windows Trustchain Management
    • OSX Trustchain Management
    • Firefox Trustchain Management
    • Automatic NIC Management & Synchronization

Due to the unique and complex nature of automating a desktop CA, we've been forced to move this to a feature in the upcoming paid edition (it easily consumed 50% of our workload). To the best of my knowledge, Fenix is the only local desktop server that supports SSL keychain management, automatic certificate issuance/reissuance, Windows/macOS/Firefox support, and NIC synchronization.

The request browser will be released as it's own separate app, so it won't be in Fenix 3.0.0. I always felt it was a useful tool, and survey results agree... but it also doesn't fit in as well with the original scope of Fenix. Moving it to it's own project will help it get the attention it needs to be truly awesome.

Finally, we're going "open core". Most of the features above will be free, but more advanced features are slated for a commercial release. As much has we'd like to make this free, devlopment has already grown into a full time effort.

Fenix 2.0.0

Main App:

Fenix

Webhook Browser

Fenix Webhooks

The wiki has additional information about how Fenix works, how to hack on it, and how to use it on other platforms. The release history has older versions and a changelog.

Known Issues

Like Fenix?

Making a donation will go towards the development of Fenix. At the moment, I'd love to reach a simple goal of $100 in annual contributions so I can obtain an Apple Developer license for Fenix... which is the only application I'm distributing on Mac. This would help prevent the "Cannot install from unidentified developer" annoyance some OSX Mavericks users experience. Other contributions would go towards future efforts like hosting a public SSH tunnel (to take some load off localtunnel.me) and new feature development.

Support OSS Development via Stripe or Become a Patron

GPL License

Fenix 2.0 is available under the GPL license.