termux-connecting 1.1.46 → 1.1.48
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bin/termux-connecting +46 -27
- package/package.json +1 -1
package/bin/termux-connecting
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
#!/data/data/com.termux/files/usr/bin/bash
|
|
2
2
|
set -e
|
|
3
3
|
|
|
4
|
-
VERSION="1.1.
|
|
4
|
+
VERSION="1.1.48"
|
|
5
5
|
|
|
6
6
|
GREEN='\033[0;32m'; YELLOW='\033[1;33m'; RED='\033[0;31m'; CYAN='\033[0;36m'; NC='\033[0m'
|
|
7
7
|
info() { echo -e "${GREEN}[✓]${NC} $1"; }
|
|
@@ -9,6 +9,36 @@ warn() { echo -e "${YELLOW}[!]${NC} $1"; }
|
|
|
9
9
|
error() { echo -e "${RED}[✗]${NC} $1"; }
|
|
10
10
|
title() { echo -e "\n${CYAN}━━━ $1 ━━━${NC}\n"; }
|
|
11
11
|
|
|
12
|
+
# ─── Helper: dapatkan IP dengan berbagai metode ───
|
|
13
|
+
get_ip() {
|
|
14
|
+
local ip=""
|
|
15
|
+
if command -v ip >/dev/null; then
|
|
16
|
+
for iface in wlan0 wlan1 eth0 eth1 wlp2s0 wlp3s0 en0 en1; do
|
|
17
|
+
ip=$(timeout 2 ip -4 addr show $iface 2>/dev/null | awk '/inet /{print $2}' | cut -d/ -f1)
|
|
18
|
+
[ -n "$ip" ] && break
|
|
19
|
+
done
|
|
20
|
+
if [ -z "$ip" ]; then
|
|
21
|
+
ip=$(timeout 2 ip route get 1.1.1.1 2>/dev/null | awk '{print $7}')
|
|
22
|
+
fi
|
|
23
|
+
if [ -z "$ip" ]; then
|
|
24
|
+
ip=$(timeout 2 ip -4 addr show 2>/dev/null | awk '/inet /{print $2}' | cut -d/ -f1 | grep -v 127.0.0.1 | head -1)
|
|
25
|
+
fi
|
|
26
|
+
fi
|
|
27
|
+
if [ -z "$ip" ] && command -v ifconfig >/dev/null; then
|
|
28
|
+
ip=$(timeout 2 ifconfig 2>/dev/null | awk '/inet /{print $2}' | grep -v 127.0.0.1 | head -1)
|
|
29
|
+
fi
|
|
30
|
+
if [ -z "$ip" ] && command -v getprop >/dev/null; then
|
|
31
|
+
local iface=$(getprop wifi.interface)
|
|
32
|
+
[ -n "$iface" ] && ip=$(getprop dhcp.${iface}.ipaddress 2>/dev/null)
|
|
33
|
+
[ -z "$ip" ] && ip=$(getprop dhcp.wlan0.ipaddress 2>/dev/null)
|
|
34
|
+
[ -z "$ip" ] && ip=$(getprop dhcp.wlan1.ipaddress 2>/dev/null)
|
|
35
|
+
fi
|
|
36
|
+
if [ -z "$ip" ] && [ -f /proc/net/fib_trie ]; then
|
|
37
|
+
ip=$(awk '/32 host/ { print parent } /LOCAL/ { print parent } { parent = $2 }' /proc/net/fib_trie 2>/dev/null | grep -v "LOOPBACK" | head -1)
|
|
38
|
+
fi
|
|
39
|
+
echo "$ip"
|
|
40
|
+
}
|
|
41
|
+
|
|
12
42
|
AUTO=false
|
|
13
43
|
CHECK=false
|
|
14
44
|
MONITOR=false
|
|
@@ -17,7 +47,7 @@ DEBUG=false
|
|
|
17
47
|
for arg in "$@"; do
|
|
18
48
|
[ "$arg" = "-y" ] && AUTO=true
|
|
19
49
|
[ "$arg" = "--check" ] || [ "$arg" = "--status" ] && CHECK=true
|
|
20
|
-
[ "$arg" = "--monitor" ] && MONITOR=true
|
|
50
|
+
[ "$arg" = "--monitor" ] || [ "$arg" = "--monitoring" ] && MONITOR=true
|
|
21
51
|
[ "$arg" = "--help" ] || [ "$arg" = "-h" ] && HELP=true
|
|
22
52
|
[ "$arg" = "--debug" ] && DEBUG=true
|
|
23
53
|
done
|
|
@@ -60,13 +90,14 @@ if $CHECK; then
|
|
|
60
90
|
fi
|
|
61
91
|
echo ""
|
|
62
92
|
echo " 🌐 Network :"
|
|
63
|
-
for iface in wlan0 eth0; do
|
|
93
|
+
for iface in wlan0 wlan1 eth0 eth1 wlp2s0 wlp3s0 en0 en1; do
|
|
64
94
|
addr=$(timeout 2 ip -4 addr show $iface 2>/dev/null | awk '/inet /{print $2}' | cut -d/ -f1)
|
|
65
95
|
if [ -n "$addr" ]; then
|
|
66
96
|
echo " $iface : $addr"
|
|
67
97
|
fi
|
|
68
98
|
done
|
|
69
|
-
|
|
99
|
+
local any_ip=$(get_ip)
|
|
100
|
+
if [ -z "$any_ip" ]; then
|
|
70
101
|
echo " ❌ Tidak ada IP (nonaktif/data)"
|
|
71
102
|
fi
|
|
72
103
|
echo ""
|
|
@@ -116,13 +147,7 @@ monitor_loop() {
|
|
|
116
147
|
local ip=""
|
|
117
148
|
local sshd_pid=""
|
|
118
149
|
|
|
119
|
-
|
|
120
|
-
ip=$(timeout 2 ip -4 addr show $iface 2>/dev/null | awk '/inet /{print $2}' | cut -d/ -f1)
|
|
121
|
-
[ -n "$ip" ] && break
|
|
122
|
-
done
|
|
123
|
-
if [ -z "$ip" ]; then
|
|
124
|
-
ip=$(timeout 2 ip route get 1.1.1.1 2>/dev/null | awk '{print $7}')
|
|
125
|
-
fi
|
|
150
|
+
local ip=$(get_ip)
|
|
126
151
|
ip="${ip:-❌ Tidak ada IP}"
|
|
127
152
|
|
|
128
153
|
if pgrep -x sshd >/dev/null; then
|
|
@@ -210,13 +235,19 @@ fi
|
|
|
210
235
|
|
|
211
236
|
title "TERMUX CONNECTING v${VERSION} — Setup"
|
|
212
237
|
|
|
213
|
-
# ─── 1. coreutils ───
|
|
238
|
+
# ─── 1. coreutils & iproute2 ───
|
|
214
239
|
if ! command -v timeout >/dev/null; then
|
|
215
240
|
echo " Dibutuhkan: coreutils (untuk timeout)"
|
|
216
241
|
if confirm "Install coreutils" "y"; then
|
|
217
242
|
pkg install -y coreutils
|
|
218
243
|
fi
|
|
219
244
|
fi
|
|
245
|
+
if ! command -v ip >/dev/null; then
|
|
246
|
+
echo " Dibutuhkan: iproute2 (untuk deteksi IP)"
|
|
247
|
+
if confirm "Install iproute2" "y"; then
|
|
248
|
+
pkg install -y iproute2
|
|
249
|
+
fi
|
|
250
|
+
fi
|
|
220
251
|
|
|
221
252
|
# ─── 2. Update & Upgrade ───
|
|
222
253
|
title "1. Update & Upgrade Paket"
|
|
@@ -315,19 +346,7 @@ echo ""
|
|
|
315
346
|
title "5. Informasi Koneksi"
|
|
316
347
|
USERNAME=$(whoami)
|
|
317
348
|
|
|
318
|
-
IP
|
|
319
|
-
if command -v ip >/dev/null; then
|
|
320
|
-
IP=$(timeout 3 ip -4 addr show 2>/dev/null | awk '/inet /{print $2}' | cut -d/ -f1 | grep -v 127.0.0.1 | head -1)
|
|
321
|
-
fi
|
|
322
|
-
if [ -z "$IP" ] && command -v ifconfig >/dev/null; then
|
|
323
|
-
IP=$(timeout 3 ifconfig 2>/dev/null | awk '/inet /{print $2}' | grep -v 127.0.0.1 | head -1)
|
|
324
|
-
fi
|
|
325
|
-
if [ -z "$IP" ] && [ -d /data/data/com.termux ]; then
|
|
326
|
-
IP=$(timeout 3 ip route get 1.1.1.1 2>/dev/null | awk '{print $7}' | head -1)
|
|
327
|
-
fi
|
|
328
|
-
if [ -z "$IP" ]; then
|
|
329
|
-
IP=""
|
|
330
|
-
fi
|
|
349
|
+
IP=$(get_ip)
|
|
331
350
|
|
|
332
351
|
is_cgnat() {
|
|
333
352
|
[[ "$1" =~ ^10\. ]] || [[ "$1" =~ ^100\.(6[4-9]|[7-9][0-9]|1[0-1][0-9]|12[0-7])\. ]]
|
|
@@ -359,7 +378,7 @@ elif is_cgnat "$IP"; then
|
|
|
359
378
|
echo " 2. Buka Pengaturan → WiFi, hubungkan ke jaringan yang sama dengan PC"
|
|
360
379
|
echo " 3. Catat IP yang muncul (biasanya 192.168.x.x)"
|
|
361
380
|
echo " 4. Jalankan ulang: termux-connecting -y"
|
|
362
|
-
echo " 5. Atau cek IP manual: ip a | grep wlan"
|
|
381
|
+
echo " 5. Atau cek IP manual: ip a | grep wlan (atau: ifconfig, atau: getprop dhcp.wlan0.ipaddress)"
|
|
363
382
|
elif is_wifi "$IP"; then
|
|
364
383
|
CONNECTION_OK=true
|
|
365
384
|
echo " Di PC/Mac:"
|
|
@@ -377,7 +396,7 @@ else
|
|
|
377
396
|
warn "IP ${IP} tidak dikenal — mungkin bukan jaringan lokal"
|
|
378
397
|
echo " Pastikan HP terhubung ke WiFi, bukan data seluler."
|
|
379
398
|
echo ""
|
|
380
|
-
echo " Cek koneksi WiFi: ip a
|
|
399
|
+
echo " Cek koneksi WiFi: ip a (atau: ifconfig, getprop dhcp.wlan0.ipaddress)"
|
|
381
400
|
echo " Jika IP masih ${IP}, mungkin HP menggunakan VPN/proxy."
|
|
382
401
|
echo " Matikan VPN dan coba lagi: termux-connecting -y"
|
|
383
402
|
fi
|