** User scripts ** These are shell scripts that you can create, and which will be run when certain events occur. Those scripts must be saved in /jffs/scripts/ , so, JFFS must be enabled, as well as the option to use custom scripts and configs. This can be configured under Administration -> System. Available scripts:
* ddns-start: Script called at the end of a DDNS update process. This script is also called when setting the DDNS type to "Custom". The script gets passed the WAN IP as an argument. When handling a "Custom" DDNS, this script is also responsible for reporting the success or failure of the update process. See the Custom DDNS section below for more information. * dhcpc-event: Called whenever a DHCP event occurs on the WAN interface. The type of event (bound, release, etc...) is passed as an argument. * firewall-start: Firewall is started (filter rules have been applied) The WAN interface will be passed as argument (for example. "eth0") * init-start: Right after jffs is mounted, before any of the services get started * nat-start: nat rules (i.e. port forwards and such) have been applied (nat table) * openvpn-event: Called whenever an OpenVPN server gets started/stopped, or an OpenVPN client connects to a remote server. Uses the same syntax/parameters as the "up" and "down" scripts in OpenVPN. * post-mount: Just after a partition is mounted * pre-mount: Just before a partition is mounted. Be careful with this script. This is run in a blocking call and will block the mounting of the partition for which it is invoked till its execution is complete. This is done so that it can be used for things like running e2fsck on the partition before mounting. This script is also passed the device path being mounted as an argument which can be used in the script using $1. * qos-start: Called after both the iptables rules and tc configuration are completed for QoS. This script will be passed an argument, which will be "init" (when QoS is being initialized and it has setup the tc classes) or "rules" (when the iptables rules are being setup). * services-start: Initial service start at boot * services-stop: Services are stopped at shutdown/reboot * unmount: Just before unmounting a partition. This is a blocking script, so be careful with it. The mount point is passed as an argument to the script. * wan-start: WAN interface just came up (includes if it went down and back up). The WAN unit number will be passed as argument (0 = primary WAN)
Don't forget to set them as executable:
chmod a+rx /jffs/scripts/*
And like any Linux script, they need to start with a shebang: