[package] allow a script to get the ip address, patch from Tomasz Fornal
git-svn-id: svn://svn.openwrt.org/openwrt/packages@20810 3c298f89-4303-0410-b956-a3cf2f4a3e73
This commit is contained in:
@ -2,7 +2,7 @@ include $(TOPDIR)/rules.mk
|
|||||||
|
|
||||||
PKG_NAME:=ddns-scripts
|
PKG_NAME:=ddns-scripts
|
||||||
PKG_VERSION:=1.0.0
|
PKG_VERSION:=1.0.0
|
||||||
PKG_RELEASE:=6
|
PKG_RELEASE:=7
|
||||||
|
|
||||||
PKG_BUILD_DIR := $(BUILD_DIR)/$(PKG_NAME)
|
PKG_BUILD_DIR := $(BUILD_DIR)/$(PKG_NAME)
|
||||||
|
|
||||||
|
@ -31,6 +31,9 @@
|
|||||||
# (e.g. "eth1") and whatever the current ip of this interface is
|
# (e.g. "eth1") and whatever the current ip of this interface is
|
||||||
# will be associated with the domain when an update is performed.
|
# will be associated with the domain when an update is performed.
|
||||||
#
|
#
|
||||||
|
# If "ip_source" is "script" you specify a script to obtain ip address.
|
||||||
|
# The "ip_script" option should contain path to your script.
|
||||||
|
#
|
||||||
# The last possibility is that "ip_source" is "web", which means
|
# The last possibility is that "ip_source" is "web", which means
|
||||||
# that in order to obtain our ip address we will connect to a
|
# that in order to obtain our ip address we will connect to a
|
||||||
# website, and the first valid ip address listed on that page
|
# website, and the first valid ip address listed on that page
|
||||||
@ -77,6 +80,9 @@ config service "myddns"
|
|||||||
#option ip_source "interface"
|
#option ip_source "interface"
|
||||||
#option ip_interface "eth0.1"
|
#option ip_interface "eth0.1"
|
||||||
|
|
||||||
|
#option ip_source "script"
|
||||||
|
#option ip_script "path to your scrip"
|
||||||
|
|
||||||
#option ip_source "web"
|
#option ip_source "web"
|
||||||
#option ip_url "http://www.whatismyip.com/automation/n09230945.asp"
|
#option ip_url "http://www.whatismyip.com/automation/n09230945.asp"
|
||||||
|
|
||||||
|
@ -53,7 +53,7 @@ get_current_ip()
|
|||||||
{
|
{
|
||||||
|
|
||||||
#if ip source is not defined, assume we want to get ip from wan
|
#if ip source is not defined, assume we want to get ip from wan
|
||||||
if [ "$ip_source" != "interface" ] && [ "$ip_source" != "web" ]
|
if [ "$ip_source" != "interface" ] && [ "$ip_source" != "web" ] && [ "$ip_source" != "script" ]
|
||||||
then
|
then
|
||||||
ip_source="network"
|
ip_source="network"
|
||||||
ip_network="wan"
|
ip_network="wan"
|
||||||
@ -74,6 +74,10 @@ get_current_ip()
|
|||||||
if [ "$ip_source" = "network" ] || [ "$ip_source" = "interface" ]
|
if [ "$ip_source" = "network" ] || [ "$ip_source" = "interface" ]
|
||||||
then
|
then
|
||||||
current_ip=$(ifconfig $ip_interface | grep -o 'inet addr:[0-9.]*' | grep -o "$ip_regex")
|
current_ip=$(ifconfig $ip_interface | grep -o 'inet addr:[0-9.]*' | grep -o "$ip_regex")
|
||||||
|
elif [ "$ip_source" = "script" ]
|
||||||
|
then
|
||||||
|
# get ip from script
|
||||||
|
current_ip=$($ip_script)
|
||||||
else
|
else
|
||||||
# get ip from web
|
# get ip from web
|
||||||
# we check each url in order in ip_url variable, and if no ips are found we use dyndns ip checker
|
# we check each url in order in ip_url variable, and if no ips are found we use dyndns ip checker
|
||||||
|
Reference in New Issue
Block a user