mirror of
https://github.com/openNDS/openNDS.git
synced 2026-01-14 06:17:54 -05:00
122 lines
3.3 KiB
ReStructuredText
122 lines
3.3 KiB
ReStructuredText
Library Utilities
|
|
=================
|
|
|
|
Overview
|
|
********
|
|
|
|
A number of library utilities are included. These may be used by NDS itself, FAS and Preauth. These may in the future, be enhanced, have additional functionality added.
|
|
|
|
By default, library utilities will be installed in the folder
|
|
|
|
``/usr/lib/opennds/``
|
|
|
|
List of Library Utilities
|
|
*************************
|
|
|
|
get_client_token.sh (deprecated)
|
|
################################
|
|
This utility allows the unique token of a client to be determined from the client ip address.
|
|
|
|
It can be used in PreAuth and local FAS scripts.
|
|
|
|
Usage: get_client_token.sh [clientip]
|
|
|
|
Returns: [client token]
|
|
|
|
Where:
|
|
[client token] is the unique client token string.
|
|
|
|
get_client_interface.sh
|
|
#######################
|
|
This utility allows the interface a client is using to be determined from the client mac address.
|
|
|
|
It can be used in PreAuth and local FAS scripts.
|
|
|
|
Its output is also sent to FAS in the encrypted query string as the variable "clientif"
|
|
|
|
Usage: get_client_interface.sh [clientmac]
|
|
|
|
Returns: [local_interface] [meshnode_mac] [local_mesh_interface]
|
|
|
|
Where:
|
|
|
|
[local_interface] is the local interface the client is using.
|
|
|
|
[meshnode_mac] is the mac address of the 802.11s meshnode the client is using (null if mesh not present).
|
|
|
|
[local_mesh_interface] is the local 802.11s interface the client is using (null if mesh not present).
|
|
|
|
unescape.sh
|
|
###########
|
|
This utility allows an input string to be unescaped. It currently only supports url-decoding.
|
|
|
|
It can be used by NDS as the unescape callback for libmicrohttpd.
|
|
|
|
To enable, set the unescape_callback_enabled option to "1"
|
|
|
|
To disable, set the unescape_callback_enabled option to "0"
|
|
|
|
The default is disabled (use internal MHD unescape)
|
|
|
|
eg In the OpenWrt configuration file
|
|
|
|
``option unescape_callback_enabled '0'``
|
|
|
|
Usage: unescape.sh [-option] [escapedstring]
|
|
|
|
Returns: [unescapedstring]
|
|
|
|
Where:
|
|
|
|
[-option] is unescape type, currently -url only
|
|
|
|
libopennds.sh
|
|
#############
|
|
This utility controls many of the functions required for PreAuth/ThemeSpec scripts.
|
|
|
|
Usage: libopennds arg1 arg2 ... argN
|
|
|
|
clean:
|
|
------
|
|
**arg1**: "*clean*", removes custom files, images and client data
|
|
|
|
*returns*: tmpfsmountpoint (the mountpoint of the tmpfs volatile storage of the router.
|
|
|
|
tmpfs:
|
|
------
|
|
**arg1**: "*tmpfs*", finds the tmpfs mountpoint
|
|
|
|
*returns*: tmpfsmountpoint (the mountpoint of the tmpfs volatile storage of the router.
|
|
|
|
mhdcheck:
|
|
---------
|
|
**arg1**: "*mhdcheck*", checks if MHD is running (used by MHD watchdog)
|
|
*returns*: "1" if MHD is running, "2" if MHD is not running
|
|
|
|
gatewaymac:
|
|
-----------
|
|
**arg1**: "*gatewaymac*", finds the mac address of an interface.
|
|
|
|
**arg2**: ifname
|
|
|
|
*returns*: mac address of the interface
|
|
|
|
gatewayroute:
|
|
-------------
|
|
**arg1**: "*gatewayroute*", checks for a valid gateway route for an interface.
|
|
|
|
*returns*: the ip gateway address and the ip gateway interface, or "offline" if the router is offline
|
|
|
|
?fas:
|
|
-----
|
|
**arg1**: "*?fas=<b64string>*", generates ThemeSpec html using b64encoded data sent from openNDS
|
|
|
|
**arg2**: urlencoded_useragent_string
|
|
|
|
**arg3**: mode (1, 2 or 3) (this is the mode specified in option login_option in the config file.
|
|
|
|
**arg4**: themespecpath (if mode = 3)
|
|
|
|
|
|
*returns*: html for the specified ThemeSpec.
|