|
@@ -94,6 +94,52 @@ EXTERNAL_IP_SERVICES=( \
|
94
|
94
|
'http://ipinfo.io/' \
|
95
|
95
|
'http://httpbin.org/ip')
|
96
|
96
|
|
|
97
|
+function update_inadyn_config {
|
|
98
|
+ if [ ! -f /etc/inadyn.conf ]; then
|
|
99
|
+ return
|
|
100
|
+ fi
|
|
101
|
+
|
|
102
|
+ if [[ "$DDNS_PROVIDER" == *'freedns'* ]]; then
|
|
103
|
+ return
|
|
104
|
+ fi
|
|
105
|
+
|
|
106
|
+ if ! grep -q "$DDNS_PROVIDER" /etc/inadyn.conf; then
|
|
107
|
+ # store any previous aliases
|
|
108
|
+ grep 'alias ' /etc/inadyn.conf > /tmp/inadyn_aliases
|
|
109
|
+
|
|
110
|
+ # remove entry for any previous ddns
|
|
111
|
+ sed -i '/system /,$d' /etc/inadyn.conf
|
|
112
|
+
|
|
113
|
+ # add the new provider
|
|
114
|
+ { echo '';
|
|
115
|
+ echo "system $DDNS_PROVIDER";
|
|
116
|
+ echo ' ssl';
|
|
117
|
+ echo " checkip-url $GET_IP_ADDRESS_URL /"; } >> /etc/inadyn.conf
|
|
118
|
+ if [ "$DDNS_USERNAME" ]; then
|
|
119
|
+ echo " username $DDNS_USERNAME" >> /etc/inadyn.conf
|
|
120
|
+ fi
|
|
121
|
+ if [ "$DDNS_PASSWORD" ]; then
|
|
122
|
+ echo " password $DDNS_PASSWORD" >> /etc/inadyn.conf
|
|
123
|
+ fi
|
|
124
|
+
|
|
125
|
+ if [ -f /tmp/inadyn_aliases ]; then
|
|
126
|
+ cat /tmp/inadyn_aliases >> /etc/inadyn.conf
|
|
127
|
+ rm /tmp/inadyn_aliases
|
|
128
|
+ fi
|
|
129
|
+ else
|
|
130
|
+ # change username/password for an existing provider
|
|
131
|
+ if [ "$DDNS_USERNAME" ]; then
|
|
132
|
+ sed -i "s| username .*| username $DDNS_USERNAME|g" /etc/inadyn.conf
|
|
133
|
+ fi
|
|
134
|
+ if [ "$DDNS_PASSWORD" ]; then
|
|
135
|
+ sed -i "s| password .*| password $DDNS_PASSWORD|g" /etc/inadyn.conf
|
|
136
|
+ fi
|
|
137
|
+ fi
|
|
138
|
+
|
|
139
|
+ systemctl enable inadyn
|
|
140
|
+ systemctl restart inadyn
|
|
141
|
+}
|
|
142
|
+
|
97
|
143
|
function create_freedns_updater {
|
98
|
144
|
if [[ $ONION_ONLY != "no" ]]; then
|
99
|
145
|
return
|