Preferences
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 300
level 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:
Core | PRO | TEAM |
---|---|---|
Minify JavaScript/CSS | ALL CORE FEATURES PLUS: | ALL CORE & PRO FEATURES PLUS: |
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 import.fenixwebserver.com, 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.
Disable
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.