Creating custom scripts
-----------------------
Users can create custom scripts to interact with ntopng. Scripts must be placed
under the `scripts/lua` directory.

This is an example script located at `scripts/lua/my_script.lua`

```
dirs = ntop.getDirs()
package.path = dirs.installdir .. "/scripts/lua/modules/?.lua;" .. package.path

require "lua_utils"

local a = tonumber(_GET["p_a"])
local b = tonumber(_GET["p_a"])

if ((a ~= nil) and (b ~= nil)) then
  print(a .. " + " .. b .. " = " .. a+b)
end
```

It can be invoked visiting the URL `http://127.0.0.1:3000/lua/my_script.lua?p_a=2&p_b=3`.

Scripts parameters
------------------
User defined parameters must begin with *p_* prefix as shown in the example.
The prefix disables custom parameter validation, which is performed by ntopng by default on internal
parameters for security reasons. It is up to the script writer to correctly validate
custom parameters in order to avoid XSS attacks.
See [scripts/lua/modules/http_lint.lua](../scripts/lua/modules/http_lint.lua) for the list of ntopng built-in parameters.
