Customizing nodogsplash

The default shipped configuration is intended to be usable and reasonably secure as-is for basic internet sharing applications, but it is customizable.

  • To change basic nodogsplash settings, edit the configuration file:


In the configuration file, a FirewallRule has the form:

FirewallRule permission [protocol [port portrange] [to ip]


  • permission is required and must be allow, block, drop, log, or ulog.

  • protocol is optional. If present, it must be tcp, udp, icmp, or all. Defaults to all.

  • port portrange is optional. If present, protocol must be tcp or udp. portrange can be a single integer port number, or a colon-separated port range, e.g. 1024:1028. Defaults to all ports.

  • to ip is optional. If present, ip must be a decimal dotted-quad IP address with optional mask. Defaults to, i.e. all addresses.

  • To change the contents of the splash page, edit the splash page file:


When the splash page is served, the following variables in the page are replaced by their values:

  • $gatewayname The value of GatewayName as set in nodogsplash.conf.

  • $authtarget A URL which encodes a unique token and the URL of the user’s original web request. If nodogsplash receives a request at this URL, it completes the authentication process for the client and replies to the request with a “302 Found” to the encoded originally requested URL. (Alternatively, you can use a GET-method HTML form to send this information to the nodogsplash server; see below.) As a simple example:

    <a href="$authtarget">Enter</a>

  • $imagesdir The directory in nodogsplash’s web hierarchy where images to be displayed in the splash page must be located.

  • $tok,*$redir*,*$authaction*, and $denyaction are also available and can be useful if you want to write the splash page to use a GET-method HTML form instead of using $authtarget as the value of an href attribute to communicate with the nodogsplash server. As a simple example:

<form method='GET' action='$authaction'>
  <input type='hidden' name='tok' value='$tok'>
  <input type='hidden' name='redir' value='$redir'>
  <input type='submit' value='Click Here to Enter'>
  • $clientip, $clientmac and $gatewaymac The respective addresses of the client or gateway. This might be usefull in cases where the data needs to be forwarded to some other place by the plash page itself.
  • $nclients and $maxclients User stats. Usefull when you need to display something like “n of m users online” on the splash site.
  • $uptime The time Nodogsplash is running.
  • A list of all available variables are included in the splash.html file.
  • If the user accesses the splash page while being authenticated, a status page is shown:

In the status.html file, the same variables as in the splash.html site can be used.