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.
@@ -1,7 +1,7 @@
1
1
  #!/data/data/com.termux/files/usr/bin/bash
2
2
  set -e
3
3
 
4
- VERSION="1.1.46"
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
- if [ -z "$(timeout 2 ip -4 addr show 2>/dev/null | awk '/inet /{print $2}' | cut -d/ -f1 | grep -v 127.0.0.1)" ]; then
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
- for iface in wlan0 eth0; do
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 | grep wlan"
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
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "termux-connecting",
3
- "version": "1.1.46",
3
+ "version": "1.1.48",
4
4
  "description": "CLI setup Termux + koneksi SSH dari PC/Mac dengan Telegram alert",
5
5
  "bin": {
6
6
  "termux-connecting": "bin/termux-connecting",