Fenix Web Server can be customized using the preferences section from the main menu or using the hotkeyctrl+, (Windows) or CMD+, (macOS).

Global Settings

Global settings are preferences applied to the entire application and all servers.

Global Settings Screenshot:

Autostart Server on Create

When this option is set, new servers will automatically be started. Turn this setting off to manually start servers.

Open Site in Browser on Create

When a new server is created, Fenix will automatically open a new browser window for the new server.

Enable File Browsing

File browsing is a standard that displays the directory contents of any given server in the web browser when no default HTML page is recognized. When this feature is disabled globally, no individual server will have file browsing enabled. This acts as a killswitch, effectively preventing the file browser from ever displaying.

Fenix ships with the file browser globally enabled by default. It can be toggled on/off for individual servers as long as file browsing is enabled globally. See the webserver defaults section (below) for details about controlling file browsers for individual web servers.

Seed Port

Fenix automatically assigns ports for all new servers, starting with the seed port. The port number must be between 1-65535. Please note that some operating systems require root/administrative privileges to run on port 1024 or below. Fenix will prompt for an administrative password if required.

Preferred Editing Application or IDE

Setting the preferred editing application/IDE makes an option available on the context (right click) menu, allowing users to open a server directory directly in the editing environment of their choice.

Example Context Menu

Preferred Terminal Application

By default, Fenix will use the operating system default terminal application. Users can change this to an alternative terminal/shell by setting a preferred terminal application.

Webserver Defaults

Webserver defaults are applied to all new servers, allowing users to pre-configure web servers according to their preferences.

Webserver Default Filenames

By default, Fenix uses the industry standard default files: index.html, index.htm, default.html, and default.htm. If a web request is made to a server without specifying a file, Fenix will search the web root directories for the default file to display (in the order listed).

For example, pointing a browser to http://localhost:8000 will display index.html if it exists. This is the equivalent of the user pointing the browser to http://localhost:8000/index.html.

These defaults can be changed for any server, but all new servers will be assigned the default file list specified in the preferences.

Error Files Directory

By default, Fenix ships with default error pages using a clean theme. Users who wish to supply custom error screens can specify a directory containing HTML files for each of the standard HTTP status codes. Each custom error file must be named according to the status code it represents. For example, 404.html would represent a 404 (Missing)error.

If Fenix cannot find a custom error file for a specified error code, it will use the Fenix default error page.

Take note that 100, 200 , and 300level status codes are not considered "errors", while 400 and 500 level codes are.

Default Configuration Options

Fenix web servers have several dynamically controllable features, which can be toggled on and off. The default settings in the preferences will be applied to all new servers, but do not affect existing servers.

Dynamic Configuration Features By Edition:

Render Markdown SSL TBD
Render "Pretty" JSON/XML/YAML Advanced Live Reload
File Browser
ETag Support
GZip Support
CORS Support

Code Rendering

All versions of Fenix support optional "pretty" code rendering for markdown .md, JSON, XML, and YAML/YML files. The visualization of each of these can be customized.

Markdown Rendering Custom Stylesheet

By default, Fenix uses a Github-style markdown style. A custom CSS stylesheet may be substituted for this. When creating a custom stylesheet, be aware Fenix uses Github-Flavored Markdown.

Renderer Tab Width

When rendering code to the screen, the code renderer indents each line by a certain number of spaces. This defaults to 2 but may be set to any number of spaces.

Renderer Font Size

The default font size.

Display Line Numbers

Line numbers are optional when displaying "pretty code".

Display Invisible Characters

Turning this on will display special characters such as tabs, line endings/carriage returns, and markup to display spaces.

Remote Imports

Fenix provides a free service at, capable of downloading pre-created web packages. To learn how to use this, see the Remote Imports and Create an Import Badge sections. Fenix also provides several configuration options for managing remote imports.

Import Security Options

Approve All

This option automatically approves all remote import operations. This is an insecure option. Since remote imports download files from the web to the desktop, this should only be used in trusted environments.

Prompt for Approval

Fenix will prompt users to approve or reject a remote import operation. This guarantees only user-initiated imports are allowed. A secure handshake system is built into Fenix, which is detailed in the remote imports usage section.


This will disable the remote imports feature.

Import Into

This is the default directory where remote imports are extracted to.

API Security

The native HTTP API allows users to programmatically control Fenix.

The API supports Basic Authentication (username/password) and OAuth-like token authentication (Bearer Auth, pictured below).

Selecting Basic Authentication requires a username and password.

The username/password can and should be changed regularly. If using Bearer Authentication, the token can and should be changed regularly. Tokens can be any alphanumeric text (including UTF8 characters). A token generator is available for convenience.

Skipping Remote Import API Authorization?

The API enforces strict security (when enabled) for all operations, including its own remote import operations.

API authorization for remote imports can be safely skipped (the default setting). The remote import system has its own specialized authorization mechanism, which is a more advanced implementation of OAuth designed specifically for desktop use. Regardless, it is possible to enforce authorization for remote imports. While rare, some users may wish to implement a custom on-premise import platform enforcing API authorization.

Choosing not to skip Remote Import Authorization may prevent remote imports from operating properly.

It is also possible, though not advised, to disable API authentication entirely. This should only be considered in trusted/safe working environment.

results matching ""

    No results matching ""