@@ -41,7 +41,7 @@ trap 'trap_ctl' SIGINT SIGTERM
41
41
42
42
# Initialize variables and language setting for compatibility
43
43
LANG=C
44
- version=" 1.3.0a "
44
+ version=" 1.4.0 "
45
45
error_count=0
46
46
crit_count=0
47
47
crit_add=0
@@ -53,7 +53,7 @@ alias check_iface_exist=check_iface_exists
53
53
Version (){
54
54
55
55
echo " x86routertools v$version "
56
-
56
+ exit 0
57
57
}
58
58
59
59
Copyright (){
@@ -386,6 +386,16 @@ initfs(){
386
386
echo " # internet commands, and started by internet scripts. example: enp2s0" >> $f
387
387
echo " inet_iface=ppp0" >> $f
388
388
echo " " >> $f
389
+ echo " # dns_check_addresses -> an array." >> $f
390
+ echo " # can contain up to 4 names to try & resolve on internet tests. example: google.com" >> $f
391
+ echo " # if unset, will use defaults." >> $f
392
+ echo " dns_check_addresses=()" >> $f
393
+ echo " " >> $f
394
+ echo " # ip_check_addresses -> an array." >> $f
395
+ echo " # can contain up to 2 IPs to ping on internet tests. example: 8.8.8.8" >> $f
396
+ echo " # if unset, will use defaults." >> $f
397
+ echo " ip_check_addresses=()" >> $f
398
+ echo " " >> $f
389
399
echo " # important_services -> a list of systemd services important to this router." >> $f
390
400
echo " # they will be started by the connectivity commands. example: dnsmasq haveged" >> $f
391
401
echo " # you should also include your firewall service here." >> $f
@@ -2109,21 +2119,15 @@ check_internet(){
2109
2119
local bad_dns_2=0
2110
2120
local bad_dns_3=0
2111
2121
local bad_dns_4=0
2112
-
2113
2122
local reason_1=" "
2114
2123
local reason_2=" "
2115
-
2116
2124
local bad_inet_iface=0
2117
2125
local bad_inet=0
2118
2126
local bad_inet_1=0
2119
2127
local bad_inet_2=0
2120
2128
local bad_dns=0
2121
2129
2122
- # Names to resolve
2123
- local addr_dns_1=" google-public-dns-a.google.com"
2124
- local addr_dns_2=" a.root-servers.org"
2125
- local addr_dns_3=" www.tp-link.com"
2126
- local addr_dns_4=" github.com"
2130
+ import_addresses
2127
2131
2128
2132
if get_inet_iface_status > /dev/null; then
2129
2133
ifnq echo " Internet interface test: Online"
@@ -2132,17 +2136,17 @@ check_internet(){
2132
2136
bad_inet_iface=1
2133
2137
fi
2134
2138
2135
- if get_inet_status " 1.1.1.1 " > /dev/null; then
2136
- ifnq echo " Internet availability test 1 (1.1.1.1 ): Online"
2139
+ if get_inet_status " $addr_inet_1 " > /dev/null; then
2140
+ ifnq echo " Internet availability test 1 ($addr_inet_1 ): Online"
2137
2141
else
2138
- echo " Internet availability test 1 (1.1.1.1 ): Offline"
2142
+ echo " Internet availability test 1 ($addr_inet_1 ): Offline"
2139
2143
bad_inet_1=1
2140
2144
fi
2141
2145
2142
- if get_inet_status " 8.8.8.8 " > /dev/null; then
2143
- ifnq echo " Internet availability test 2 (8.8.8.8 ): Online"
2146
+ if get_inet_status " $addr_inet_2 " > /dev/null; then
2147
+ ifnq echo " Internet availability test 2 ($addr_inet_2 ): Online"
2144
2148
else
2145
- echo " Internet availability test 2 (8.8.8.8 ): Offline"
2149
+ echo " Internet availability test 2 ($addr_inet_2 ): Offline"
2146
2150
bad_inet_2=1
2147
2151
fi
2148
2152
@@ -2232,24 +2236,43 @@ check_internet(){
2232
2236
2233
2237
}
2234
2238
2239
+ import_addresses (){
2240
+
2241
+ # Reload preferences
2242
+ load_prefs 2> /dev/null
2243
+
2244
+ # Default addresses
2245
+ addr_dns_1=" google-public-dns-a.google.com"
2246
+ addr_dns_2=" a.root-servers.org"
2247
+ addr_dns_3=" www.tp-link.com"
2248
+ addr_dns_4=" github.com"
2249
+ addr_inet_1=" 1.1.1.1"
2250
+ addr_inet_2=" 8.8.8.8"
2251
+
2252
+ [[ " ${dns_check_addresses[0]} " != " " ]] && addr_dns_1=" ${dns_check_addresses[0]} "
2253
+ [[ " ${dns_check_addresses[1]} " != " " ]] && addr_dns_2=" ${dns_check_addresses[1]} "
2254
+ [[ " ${dns_check_addresses[2]} " != " " ]] && addr_dns_3=" ${dns_check_addresses[2]} "
2255
+ [[ " ${dns_check_addresses[3]} " != " " ]] && addr_dns_4=" ${dns_check_addresses[3]} "
2256
+
2257
+ [[ " ${ip_check_addresses[0]} " != " " ]] && addr_inet_1=" ${ip_check_addresses[0]} "
2258
+ [[ " ${ip_check_addresses[1]} " != " " ]] && addr_inet_2=" ${ip_check_addresses[1]} "
2259
+
2260
+ is_int $inet_check_timeout || export inet_check_timeout=" 4"
2261
+
2262
+ }
2263
+
2235
2264
# Shorter, faster and less precise internet check with hardcoded values and returns 1 or 0
2236
2265
check_inet_short (){
2237
2266
2238
- local bad_dns_1=0
2267
+ local bad_dns_1=0
2239
2268
local bad_dns_2=0
2240
2269
local bad_dns_3=0
2241
2270
local bad_dns_4=0
2242
2271
local bad_inet_iface=0
2243
2272
local bad_inet_1=0
2244
2273
local bad_inet_2=0
2245
2274
2246
- # Names to resolve
2247
- local addr_dns_1=" google-public-dns-a.google.com"
2248
- local addr_dns_2=" a.root-servers.org"
2249
- local addr_dns_3=" www.tp-link.com"
2250
- local addr_dns_4=" github.com"
2251
-
2252
- export inet_check_timeout=" 3"
2275
+ import_addresses
2253
2276
2254
2277
if ! get_inet_iface_status > /dev/null; then
2255
2278
bad_inet_iface=1
@@ -2259,11 +2282,11 @@ check_inet_short(){
2259
2282
return 1
2260
2283
fi
2261
2284
2262
- if ! get_inet_status " 1.1.1.1 " > /dev/null; then
2285
+ if ! get_inet_status " $addr_inet_1 " > /dev/null; then
2263
2286
bad_inet_1=1
2264
2287
fi
2265
2288
2266
- if ! get_inet_status " 8.8.8.8 " > /dev/null; then
2289
+ if ! get_inet_status " $addr_inet_2 " > /dev/null; then
2267
2290
bad_inet_2=1
2268
2291
fi
2269
2292
@@ -2827,9 +2850,9 @@ done
2827
2850
2828
2851
if [[ $count_arg -eq 0 ]]; then
2829
2852
2830
- Version
2831
2853
echo " No command given, run 'x86routertools -h' for usage."
2832
- exit 0
2854
+ Version
2855
+
2833
2856
else
2834
2857
if [[ " $@ " == " -h" ]] || [[ " $@ " == " --help" ]]; then
2835
2858
true
0 commit comments