Log In     Register    

Super Simple Server
The best way to create your web site.


Configuration Files
Settings that affect overall server operation or specify defaults for all sites are defined by the files in config/0_settings.  Site-specific settings are generally in config/mysite.example/0_site/settings.  Unless otherwise noted, each setting occupies one line, and follows the id:value format.

When the program is running, most configuration files are reloaded on intervals of 2-6 minutes, allowing you to make changes to the files directly without the need to restart the program or force a reload.


General Server Operation


config/0_settings/server.txt
config/mysite.example/0_site/settings/server.txt

ipmode
This controls whether to listen for incoming traffic on IPv4 and/or IPv6 networks.  Use 4, 46, 64, or 6.  The default is 46.

upnp
Set this to 1 and a built-in UPNP/NAT-PMP client will attempt to forward incoming ports as needed for HTTP, HTTPS, and DNS protocols.

listen
Specify the exact addresses to listen on for incoming HTTP/HTTPS connections.  Separate multiple addresses with a comma.  This will override the ipmode setting.

http_port
The port number for incoming HTTP connections.  The default is 80.

https_port
The port number for incoming HTTPS connections.  The default is 443.

out_ipmode
This controls whether outgoing connections will be made on IPv4 and/or IPv6 networks.  Use 4, 46, 64, or 6.  The default is to use the ipmode setting documented above, which itself defaults to 46.

out_addr_4[code]  /  [code]out_addr_6
Binds all outgoing IPv4 / IPv6 connections to a specific local interface address.

proxy_proto
Sets all outgoing connections to use a proxy.  Supported protocols are socks4, socks5, http, https.

proxy_ssl
Set this to 1 and all outgoing proxy connections will use SSL/TLS encryption.  The proxy server must support this.

proxy_address
The IP address or host name of the proxy server.

proxy_port
The port number for the proxy.

proxy_login
The login for the proxy server.

proxy_password
The password for the proxy server.

cookie_domain
If specified, will add a domain parameter to the Set-Cookie HTTP response header.  This can be useful if you are sharing sessions between subdomains.

session_ttl
Seconds to allow a session to idle before expiring (ie. auto-logout).  Defaults to 1 day.

disable_remote_login
Disallow users from other sites to login.

https_redir
Redirect HTTP traffic to HTTPS if available.  Defaults to 1.

upload_max
Maximum upload file size.  Defaults to 20 MB.

upload_large_max
Maximum upload file size for users that meet the current upload_large protection threshold.  Defaults to 10 GB.


config/0_settings/bandwidth.txt

This file controls the server-wide bandwidth throttle, which is documented in the bandwidth reference.


config/mysite.example/0_site/https/public.pem
config/mysite.example/0_site/https/private.pem

The optional X509 certificate and private key to use for HTTPS connections.  The public.pem certificate must contain the full cert chain that is presented to the browser.  If these files are not present, HTTPS will not be served for this site.  If no site requires HTTPS, the port will not be listened on.

Note that HTTPS can be setup automatically using the built-in ACME client and popular services such as Let's Encrypt.  Read more in Creating A New Site.


Site Layout


config/0_settings/layout.txt
config/mysite.example/0_site/settings/layout.txt

def_img_style
Sets the default style= attribute for [img] tags.  See the tag reference for a list of styles.

def_img_pos
Sets the default pos= attribute for [img] tags.  See the tag reference for a list of positions.

def_video_style
Sets the default style= attribute for [video] tags.  See the tag reference for a list of styles.

def_video_pos
Sets the default pos= attribute for [video] tags.  See the tag reference for a list of positions.

def_audio_style
Sets the default style= attribute for [audio] tags.  See the tag reference for a list of styles.

def_audio_pos
Sets the default pos= attribute for [audio] tags.  See the tag reference for a list of positions.

link_protocols
Comma separated list of protocol prefixes that will be auto-linked in content.  Defaults to http, https, fopnu, magnet, email.

log_lines_per_page
Used when rendering the change log for any page, using ?log at the end of the URL.

files_per_page
Used when rending a directory of files.

messages_per_page
Messages per page when viewing a topic in a forum.

topics_per_page
Topics per page when listing topics in a forum.

versions_per_page
Entries per page when viewing a page history.

users_per_page
Used when rendering /admin/users.


config/mysite.example/0_site/settings/redirects.txt

This allows HTTP redirects to be setup from any internal URL to any other URL.  Advanced URL matching options are available.  See the redirects reference page.


config/mysite.example/0_site/settings/forward.txt

This allows connections to be forwarded from any internal URL to any other URL, which can be on another server.  See the forwarding reference page.


Content Control


config/mysite.example/0_site/captchas

This directory contains all captcha images and answers.  Captcha image file names must end in .png, .jpg, .jpeg, .gif, or .svg.  The answer files must have the exact same file name as the captcha image, with the addition of .answer.txt.  Multiple answers can be allowed by specifying each on it's own line.


config/0_settings/protection.txt
config/mysite.example/0_site/settings/protection.txt

The protection file contains the various access levels that are required for various activities on a site.  This is documented in the protection levels reference.


config/0_settings/url_whitelist.txt
config/mysite.example/0_site/settings/url_whitelist.txt

When a user posts new content, like a page edit or forum message, all external URLs in the content are checked against this list.  If there are any URLs that are not on the list, the content is flagged for moderation.  Users that meet the urlfilter_whitelist_bypass protection level are not subject to URL moderation.

The list should contain one URL per line.  A match will happen if the URL being checked begins with an entry on the whitelist.  Both http and https protocols are treated equivalently.


config/0_settings/content_blacklist.txt
config/mysite.example/0_site/settings/content_blacklist.txt

When a user posts new content, it is scanned for each line in the blacklist.  If there are any matches, the content is flagged for moderation.  Users that meet the urlfilter_blacklist_bypass protection level are not subject to the blacklist moderation rules.


Specialized Protocols


config/0_settings/dns.txt
config/mysite.example/0_site/settings/dns.txt

The dns.txt file uses terms separated by only spaces.  Do not separate terms with a colon like the other config files.

listenaddress ...

Specifies the exact local addresses to listen for DNS queries on.

domaindomainaddress ...

This will setup a zone and default address records for a domain.  This also becomes the default domain until the end of the current file.  The address parameters are optional, and will default to the local interface addresses.  Multiple addresses can be used, separated by a space.  Use the address default to add the current default addresses.  Use the address auto to auto-detect the machine's IPs.

subdomainsub.domainaddress ...

Same as domain, but will not set up an independent zone with it's own SOA.

defaultaddress ...

Sets the default addresses used for domains and subdomains that don't specify an address, or specify default as an address.  This can be set to auto to auto-detect the machine's IPs, and this is the initial default.

ttlseconds

Sets the time-to-live for any records defined past this point to the end of the file.

soaauto
soanameserveremailserialrefreshretryexpireminimum

Sets the "statement of authority" record for the current domain.  If auto is used, which is the default mode, all following domains will also be auto by default.  The SOA records are generally inconsequential to site operation.


config/0_settings/ddns.txt
config/mysite.example/0_site/settings/ddns.txt

update_urlupdate_url_4update_url_6

These URLs will be sent a request upon startup and when your IP changes.  Separate IPv4/6 URLs can be provided, otherwise the common one will work for both.  For more information, see the Creating A New Site guide.

update_min_interval

Minimum seconds between updates.  Defaults to 4 minutes.

update_max_interval

Maximum seconds between updates, even if your IP doesn't change.  Defaults to 30 minutes.

ip_check_urlip_check_url_4ip_check_url_6

The URLs will be queried more frequently to determine the local IP in order to detect changes and trigger a full update.  The separate IPv4/6 URLs can be provided, or use the common one for both.

ip_check_interval

How many seconds between checks for IP changes.  Defaults to 2 minutes.


config/0_settings/acme.txt
config/mysite.example/0_site/settings/acme.txt

server_url
Enter any ACMEv2 directory URL.  For more information, see the Creating A New Site guide.

contact_email
Enter the contact email to be used for the ACMEv2 account creation.  This is optional.


Other Non-Editable Configuration Files


config/mysite.example/0_site/logs

Includes the site change log, ACME log, and various others.

config/mysite.example/0_site/storage

Temporary storage for various program components.

config/mysite.example/0_site/sessions

Temporary storage for all logged-in user sessions.  If you delete these files, all users get logged out.

config/mysite.example/0_site/users

User account storage.  Each file contains details such as the account creation date, access level, and password hash.

config/0_gui

For the GUI version of Super Simple Server only.  These files keep track of things like window positions and display colors.




© 2019 Tixati Software Inc.  All Rights Reserved.