Git Product home page Git Product logo

fenix's Introduction

Hi πŸ‘‹

I build code, communities, and companies.

πŸ”­ I’m currently building Runtime, the successor to NVM for Windows, with @gbdrummer.

πŸ›‘ After 25 years, I am no longer accepting contract work or providing consulting services, but our OSS projects are still available.

⏸️ I am temporarily not accepting advisory/board positions with startups.

I cofounded/co-organize Bleeding Edge Web with @bmoeskau and @tedpatrick, occassionally speak at conferences, and answer tech questions on Quora. I also run the @author and @metadoc organizations and created the @ngnjs project.

Selected Works

Metadoc NVM For Windows Fenix Web Server
Shell node-windows NGN

Connect

Quora Twitter Follow BEW

fenix's People

Contributors

coreybutler avatar gitter-badger avatar ianmacl avatar tcyrus avatar tombyrer avatar xqwzts avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

fenix's Issues

Request Browser URL not working

First off - I assume the purpose of "Accepting requests at ..." for the Request Browser is to allow remote access to the request browser for the server?

Secondly - it doesn't work. I hit the URL and just get OK

SSI Support

When are you going to add SSI support? I learned that there's an npm module for SSI support on nodejs, when are you going to integrate this on Fenix?

Remember the last window size & position

It's a bit troublesome right now every time i re-open my fenix servers, i need to resize the window and move it. i always need to see the logs, so without resizing the window, it's all jammed in a small window, it's very hard to see. Hopefully fenix can remember the last resized size as well as the window position.

Windows installer needs to choose install folder

For stability & security reasons, I have a specific Drive I put all my servers. If I had my SSD installed, I definitely would not want anything installed on C: with out my permission.
Can you please allow the choice of install folder please?

button enable public view not functional / request browser time out

windows 7 pro; behind company firewall/proxy

no reaction on button, i.e.connection to localhost.me does not start at all.

request browser connects to localhost with ie, not with firefox, in both cases status bar stays yellow with error message "remote server timed out"

maybe a problem with proxy settings, same installation at home without any problems.
please provide enhanced error handling/msg

Feature request: Simple git server

Praise:
Hey there! Just ran across fenix and have to say that this is pretty awesome so far. Been looking for something like this for quite a while to automate my nodejs http server processes. Currently running anywhere between 20 to 30 projects for my various team's project workflow.

Request:
I know that fenix is primarily open source and that our team could add this feature ourselves, but I'd much prefer the authors of fenix to add it that way others can benefit from it too (if approved, that is). It already seems you have a lot of features geared primarily towards development, like the current list of resources for example. This feature would be sort of an extension of that.

Right now there is another open source project called deploy which is a minimal git server. Adding another optional toggle switch to enable a local git server, with the added benefit of being forward proxied by SSH tunneling too, would be wicked awesome.

That project can be found here: https://github.com/dominictarr/deploy

I think this would speed up development times during collaboration and offer an extreme advantage for fast prototyping between teammates, that web technologies are moving toward. The additional benefit would be to have the ability to remotely work on your websites from another machine, the only prerequisite being a git client.

video volume is too low

Your videos are like -18db too low. Maxed out volume in YouTube & desktop & it was sill quieter than a whisper.

If you've used a 'normalize' function in your editor, then you may have a few stray peaks you can hand-edit down then normalize. Better yet, use a compressor so you still have about 9db of 'dynamic range' & peak out ~-1db.

(In a past programming life I wrote dynamics processors in assembly ;)

TIA

fenix crashes when starting a server

For some reason some directories cause trouble for fenix.
While creating a server seems to work fine all the time, starting a server reproducible fails for some directories (like the OpenUI5 SDK for example).

This leads to a complete freeze of fenix. After killing the process one has to delete the servers.fnx (or at least change every servers "running"-value to false) in order to be able to start fenix again because otherwise it would freeze on launch (not finishing the animation at all).

As mentioned it seems pretty random what directories fail, but it seems to be 100% reproducible. If it kills fenix once, It'll kill him everytime. If it works once, I may very well work everytime.

(Should I create a seperate issue for the 'fenix doesn't start if the config has running:true values' ?)

504 Bad Gateway When Going Public

When attempting to activate the public view of my site the sever hangs and eventually returns a 504 bad gateway

screen shot 2014-06-10 at 12 01 23 pm
screen shot 2014-06-10 at 12 01 29 pm

Fenix v2.0

Mac OSX 10.9.3

npm -g install fenix doesn't create a bin

I followed the instructions from the web site, didn't get a cli tool.
Looks like the version in npm (0.1.1) is not the same as the one in github.

I believe you need a bin section in the package.json, such as

...
 "bin": {
    "fenix": "./bin/fenix.js"
  }
...

and at the top of the file bin points to:

#!/usr/bin/env node

Great looking public site btw. I thought this was going to be something I had to pay for.

A long folder path displays poorly

See the path int he top server. It breaks at the space, which is ok I guess, but there isn't enough vertical space to display it properly.

image

Allow for Replay in Service Browser

One cool thing that ngrok does is let you "Replay" a request. This is useful for when you are testing a remote service and don't want to keep asking it to ping you.

request browser vs logs

I tried out fenix for the first time today (actually like 10 minutes ago) and found it very odd that the "request browser" isn't the same thing as the "view server logs" feature. From a user's perspective, they both accomplish the same goal: viewing requests. The logs just seem to be a much uglier and less powerful way of doing this (compared to the sleek and awesome request viewer). Have you considered replacing the "view server logs" button with something that opens the request browser?

Also, I don't understand why the request browser opens on a separate port. Can't that just log traffic coming from the port that I set the server to use, rather than 56789?

CRUD Support in Future?

Hey,
You have built a great application, testing static site is a breeze.
Are you planning on adding capability to Fenix web server to able to handle CRUD operations on JSON objects? This would help to prototype how the web application would work with a database.
If not, are you planning on creating a web server that does?

Fenix CLI bin app isn't available

I just installed the server app and the command line option in my Mac. The server works great, but I'm more interested in being able to start servers via the CLI, and have them stored for later use. Problem is that the fenix command isn't available as expected. The install process goes just fine:

β˜€  node_modules [master] npm install -g fenix
npm WARN engine [email protected]: wanted: {"node":"0.10.x","npm":"1.2.x"} (current: {"node":"0.10.29","npm":"1.5.0-alpha-1"})

> [email protected] install /usr/local/lib/node_modules/fenix/node_modules/configure
> node install.js

/
> [email protected] install /usr/local/lib/node_modules/fenix/node_modules/mongodb/node_modules/kerberos
> (node-gyp rebuild 2> builderror.log) || (exit 0)

  CXX(target) Release/obj.target/kerberos/lib/kerberos.o
  CXX(target) Release/obj.target/kerberos/lib/worker.o
  CC(target) Release/obj.target/kerberos/lib/kerberosgss.o
  CC(target) Release/obj.target/kerberos/lib/base64.o
  CXX(target) Release/obj.target/kerberos/lib/kerberos_context.o
  SOLINK_MODULE(target) Release/kerberos.node
  SOLINK_MODULE(target) Release/kerberos.node: Finished

> [email protected] install /usr/local/lib/node_modules/fenix/node_modules/mongodb/node_modules/bson
> (node-gyp rebuild 2> builderror.log) || (exit 0)

  CXX(target) Release/obj.target/bson/ext/bson.o
  SOLINK_MODULE(target) Release/bson.node
  SOLINK_MODULE(target) Release/bson.node: Finished

> [email protected] install /usr/local/lib/node_modules/fenix/node_modules/socket.io/node_modules/socket.io-client/node_modules/ws
> (node-gyp rebuild 2> builderror.log) || (exit 0)

  CXX(target) Release/obj.target/bufferutil/src/bufferutil.o
  SOLINK_MODULE(target) Release/bufferutil.node
  SOLINK_MODULE(target) Release/bufferutil.node: Finished
  CXX(target) Release/obj.target/validation/src/validation.o
  SOLINK_MODULE(target) Release/validation.node
  SOLINK_MODULE(target) Release/validation.node: Finished
[email protected] /usr/local/lib/node_modules/fenix
β”œβ”€β”€ [email protected]
β”œβ”€β”€ [email protected] ([email protected], [email protected])
β”œβ”€β”€ [email protected] ([email protected])
β”œβ”€β”€ [email protected] ([email protected])
β”œβ”€β”€ [email protected] ([email protected], [email protected], [email protected], [email protected], [email protected], [email protected], [email protected], [email protected], [email protected], [email protected], [email protected], [email protected])
β”œβ”€β”€ [email protected] ([email protected], [email protected])
β”œβ”€β”€ [email protected] ([email protected], [email protected], [email protected], [email protected], [email protected], [email protected], [email protected], [email protected], [email protected], [email protected], [email protected])
β”œβ”€β”€ [email protected] ([email protected])
β”œβ”€β”€ [email protected] ([email protected], [email protected])
└── [email protected] ([email protected], [email protected], [email protected], [email protected])

But when I try to use the fenix command, even after opening a new terminal window, I get:

$ node_modules [master] which fenix
fenix not found
$ node_modules [master] fenix list
zsh: command not found: fenix

Fenix does show up in the correct location:

# /usr/local/lib/node_modules/node_modules 
$ ls -h
bower         eb-styleguide fenix         grunt-cli     npm

I would just create a symlink myself and be done with it, but I'm not sure which file in the /bin directory to link to:

$ tree fenix/bin
fenix/bin
β”œβ”€β”€ auth
β”‚Β Β  └── googleJWT.js
β”œβ”€β”€ auth.js
β”œβ”€β”€ core.js
β”œβ”€β”€ database
β”‚Β Β  β”œβ”€β”€ mongodb-engine.js
β”‚Β Β  └── mysql-engine.js
β”œβ”€β”€ database.js
β”œβ”€β”€ routes.js
β”œβ”€β”€ server.js
β”œβ”€β”€ socket.js
└── utilities.js

Here's my current $PATH settings as well:

/usr/local:/usr/local/bin:/usr/local/sbin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/X11/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin

Any ideas?

make the "descriptive name" default to the name of the folder

A lot of the time (actually all the times I've used it so far) the server name has just been the name of the folder that I started the server in. So it would be really cool if the name defaulted to the name of the folder. Or maybe just make the name optional and when it's not there have the UI just show the path to the folder that's being served...

Thoughts?

Disable animations in app

The animations is the app are very annoying after the first few clicks. Please kill em or give us an option to disable them.

support for pushstate domains

Would love the ability to set a default file (perhaps default to index.html) for 404 requests. Would make single page webapp testing easier. Right now I use a quick sinatra app for serving my apps that require pushstate support.

Support/host node.js apps

Would be really nice if Fenix supported hosting node.js based apps. For example, if/when I configured a new server, it could introspect the selected directory to see if it contains a package.json file, and inspect it for certain attributes, like either main or a start script definition or something like that. Nice thing would be that Fenix could be used for spinning up the app for development...and then, say if you're building a full-stack JS app on Express or something like that, I could use the Request Browser for introspecting requests and responses from the apps UI to a support API, like, requests to /api/.... Would be really nice for something like that.

Full Screen Loses Windows

Demonstration:

  • Launch the Fenix app
  • Click the Full Screen shortcut. All is good.
  • Cmd-Tab to another app
  • Cmd-Tab back to Fenix
  • Fenix shows no open windows.

To recover, I have to try the Window->Fenix Web Servers option at least once, sometimes twice.

What Should Happen

  • When switching back to Fenix, the last active window should be viewable.

Platform : Mac OS X 10.9.3
Fenix : 2.0.0

Not loading after crash

I edit one of server records (just change path).
After that fenix app totaly hangs.
When i try to restart it hangs on splash screen.
Do i need reinstall fenix?

parent directory show

I don't understand how it works. I created my folder with my website include but I just see the marent directory in my browser. What I forgot ?

Crash

After Installation
Image

After Run program

Image

Os: Window 7

Security Req.

A (public facing) Windows server brings with it latent security issues. We might need to warn admins of the potential security holes in Windows. Their box might need to hardened. A handy guide exists here:

http://hardenwindows7forsecurity.com/index.html

Whilst I appreciate Windows has come along leaps and bounds over the years in terms of security; it still helps if users are educated on basic security issues. Too many machines can be owned with simple point-and-click exploits. And having an AV / Firewall / Latest Windows-update is usually not good enough.

The same goes for OSX and even Linux. It's rare to have Windows machines public facing, unless there's one of those UPNP devices hooked up for remote access. (Even if this is the case - the box is rarely hardened)

Since we're dealing with servers here, it will be likely people are going to run their startup / thing with this.

Perhaps drop the link somewhere in the Docs/FAQ?

Access Violation at Address 00408CC7 in module 'fenixsetup.tmp'

I got the notice/error below when attempting to install lil Fenix in Windows 7 64x. I was not unable to install but I am so looking forward to it! I as "this" close to writting my own little Fenix!


Setup

X Access Violation at Address 00408CC7 in module 'fenixsetup.tmp'. Read of address 00000000

                            - OK - 

Could it be I am missing a dependency that your software did not dectect?

Linux Binary ?

I tried this in my Ubuntu machine . Its perfectly working .

Mac OSX Installer

I finally have a copy of Mavericks to work with, but there are a couple of node-webkit issues being worked around at the moment. I've got a partially working version at the moment and will hopefully have everything wrapped up within a few days.

Who is using Fenix?

I've been getting some questions (offline) about who is using Fenix. I'll use this space to compile an initial list of companies using Fenix. If you'd like your company to be included, please leave a note here, and if you'd like some free marketing, provide a logo and link. If you want to mention how you're using it... well that's awesome too.

Obviously I'm using it within my companies, so to get things started....

Ecor Ventures
Ecor Ventures

We're using Fenix to prototype and test interfaces for the SaaS services we develop. We're using the request browser to inspect webhooks we create, as well as those from outside services.


ThinkFirst
ThinkFirst

We're using Fenix to show variations of sites to clients. We iterate in real time by sharing links over Hipchat.

Production vs Development

Corey, you mentioned this is not meant for production? Why?

I can see the use case for testing out your web(app|site) alright. But perhaps further development can be done to get it ready for large-scale public facing websites?

Log Viewing Improvements

It would be good if the log viewer could be opened wider. Even better, being able to save the log to a file or copy from it would help tremendously.

Works on my laptop not on my Mac Mini

I installed Fenix on two Macs, on my laptop, the other a Mac Mini. I start up a server on both from exact same directory (an external disk that actually sits on Mac Mini and is mounted remotely on my Laptop).

Fenix works like a charm on my laptop. On my mac mini I get a blank screen and when I click on link it says "Safari can't open page because server unexpectedly dropped the connection". All it says in log after I start server: "Screenshot captured." If I knew where that screenshot was I'd drag it here.

The problem is same with firewall on or off, although since it's still internal figured firewall irrelevant.

Obviously I refer this on my Mac Mini so I can share externally.

What am I doing wrong?

PS great tool!

database connect string

Hi there, Is the fenix web server able for a web application with database. If so, how i manage to do this? thanks

Stuck at configuration after install

I see the spinner, stays for a few minutes with no progress bar or knowledge of what is going on.
Please ping when you have the fixes released in the instal version.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    πŸ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. πŸ“ŠπŸ“ˆπŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❀️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.