termux-connecting 1.1.53 → 1.1.55

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.
@@ -99,9 +99,10 @@ cmd_connection() {
99
99
 
100
100
  if [ -n "$new_name" ]; then
101
101
  HOST_ALIAS="$new_name"
102
+ load_config "$new_name" || true
102
103
  fi
103
104
 
104
- title "TERMUX CONNECT — Connection Setup"
105
+ title "TERMUX CONNECTING v${VERSION} — Connection Setup"
105
106
  echo "Saya akan bantu kamu menghubungkan PC ini ke Termux di HP."
106
107
  echo ""
107
108
 
@@ -159,6 +160,24 @@ cmd_connection() {
159
160
  return
160
161
  fi
161
162
 
163
+ echo ""
164
+ echo " ── Cek Ping ke $SSH_HOST ──"
165
+ echo " Ping $SSH_HOST untuk verifikasi..."
166
+ if command -v ping >/dev/null; then
167
+ result=$(run_timeout 5 ping -c 2 -W 2 "$SSH_HOST" 2>&1)
168
+ loss=$(echo "$result" | awk '/loss/{print $6}' | tr -d '%')
169
+ if [ -n "$loss" ] && [ "$loss" -lt 1 ] 2>/dev/null; then
170
+ rtt=$(echo "$result" | awk -F'/' '/rtt/{print $5}')
171
+ info "HP reachable (RTT: ${rtt}ms)"
172
+ else
173
+ error "HP tidak reachable (packet loss: ${loss:-100}%)"
174
+ echo " Pastikan HP dan PC di jaringan yang SAMA."
175
+ echo " Cek IP dengan termux-connecting --check di HP."
176
+ return
177
+ fi
178
+ fi
179
+ echo ""
180
+
162
181
  # ── Cek Konektifitas ──
163
182
  title "1. Cek Konektifitas"
164
183
  echo " Mencoba koneksi ke ${SSH_USER}@${SSH_HOST}:${SSH_PORT}..."
@@ -315,7 +334,7 @@ EOF
315
334
  # ─── COMMAND: list ────────────────────────────────────────────
316
335
  cmd_list() {
317
336
  load_active
318
- title "TERMUX CONNECT — Devices"
337
+ title "TERMUX CONNECTING v${VERSION} — Devices"
319
338
  local devices=()
320
339
  while IFS= read -r d; do
321
340
  devices+=("$d")
@@ -365,7 +384,7 @@ cmd_check() {
365
384
  return
366
385
  fi
367
386
 
368
- title "TERMUX CONNECT — Check"
387
+ title "TERMUX CONNECTING v${VERSION} — Check"
369
388
  echo "Device: ${ACTIVE_DEVICE} (${SSH_USER}@${SSH_HOST}:${SSH_PORT})"
370
389
  echo ""
371
390
 
@@ -1,7 +1,7 @@
1
1
  #!/data/data/com.termux/files/usr/bin/bash
2
2
  set -e
3
3
 
4
- VERSION="1.1.53"
4
+ VERSION="1.1.55"
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,26 +9,38 @@ 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: timeout lintas platform ───
13
+ run_timeout() {
14
+ local sec="$1"; shift
15
+ if command -v timeout >/dev/null 2>&1; then
16
+ timeout "$sec" "$@"
17
+ elif command -v gtimeout >/dev/null 2>&1; then
18
+ gtimeout "$sec" "$@"
19
+ else
20
+ "$@"
21
+ fi
22
+ }
23
+
12
24
  # ─── Helper: dapatkan IP dengan berbagai metode ───
13
25
  get_ip() {
14
26
  local ip=""
15
27
  if command -v ip >/dev/null; then
16
28
  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)
29
+ ip=$(run_timeout 2 ip -4 addr show $iface 2>/dev/null | awk '/inet /{print $2}' | cut -d/ -f1)
18
30
  [ -n "$ip" ] && break
19
31
  done
20
32
  if [ -z "$ip" ]; then
21
- ip=$(timeout 2 ip route get 1.1.1.1 2>/dev/null | awk '{print $7}')
33
+ ip=$(run_timeout 2 ip route get 1.1.1.1 2>/dev/null | awk '{print $7}')
22
34
  fi
23
35
  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)
36
+ ip=$(run_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
37
  fi
26
38
  fi
27
39
  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)
40
+ ip=$(run_timeout 2 ifconfig 2>/dev/null | awk '/inet /{print $2}' | grep -v 127.0.0.1 | head -1)
29
41
  fi
30
42
  if [ -z "$ip" ] && command -v getprop >/dev/null; then
31
- local iface=$(getprop wifi.interface)
43
+ local iface=$(getprop wifi.interface 2>/dev/null)
32
44
  [ -n "$iface" ] && ip=$(getprop dhcp.${iface}.ipaddress 2>/dev/null)
33
45
  [ -z "$ip" ] && ip=$(getprop dhcp.wlan0.ipaddress 2>/dev/null)
34
46
  [ -z "$ip" ] && ip=$(getprop dhcp.wlan1.ipaddress 2>/dev/null)
@@ -72,7 +84,6 @@ if $HELP; then
72
84
  exit 0
73
85
  fi
74
86
 
75
- # ─── Mode: Check/Status ───
76
87
  if $CHECK; then
77
88
  echo ""
78
89
  title "TERMUX CONNECTING — Status v${VERSION}"
@@ -91,7 +102,7 @@ if $CHECK; then
91
102
  echo ""
92
103
  echo " 🌐 Network :"
93
104
  for iface in wlan0 wlan1 eth0 eth1 wlp2s0 wlp3s0 en0 en1; do
94
- addr=$(timeout 2 ip -4 addr show $iface 2>/dev/null | awk '/inet /{print $2}' | cut -d/ -f1)
105
+ addr=$(run_timeout 2 ip -4 addr show $iface 2>/dev/null | awk '/inet /{print $2}' | cut -d/ -f1)
95
106
  if [ -n "$addr" ]; then
96
107
  echo " $iface : $addr"
97
108
  fi
@@ -235,6 +246,34 @@ fi
235
246
 
236
247
  title "TERMUX CONNECTING v${VERSION} — Setup"
237
248
 
249
+ # ─── Cek Jaringan Diawal ───
250
+ title "Cek Jaringan"
251
+ ip=$(get_ip)
252
+ if [ -z "$ip" ]; then
253
+ error "Tidak ada koneksi WiFi. Setup dibatalkan."
254
+ echo " Hubungkan HP ke WiFi, lalu ulangi: termux-connecting -y"
255
+ exit 1
256
+ fi
257
+ gateway=$(run_timeout 3 ip route 2>/dev/null | awk '/default via/{print $3}' | head -1)
258
+ if [ -z "$gateway" ] && command -v getprop >/dev/null; then
259
+ iface=$(getprop wifi.interface 2>/dev/null); [ -z "$iface" ] && iface="wlan0"
260
+ gateway=$(getprop dhcp.${iface}.gateway 2>/dev/null)
261
+ fi
262
+ if [ -n "$gateway" ]; then
263
+ result=$(run_timeout 5 ping -c 2 -W 2 "$gateway" 2>&1)
264
+ loss=$(echo "$result" | awk '/loss/{print $6}' | tr -d '%')
265
+ if [ -n "$loss" ] && [ "$loss" -lt 1 ] 2>/dev/null; then
266
+ info "Jaringan stabil (0% loss) — IP: $ip"
267
+ else
268
+ error "Jaringan tidak stabil (packet loss: ${loss:-100}%)"
269
+ echo " Setup dibatalkan. Perbaiki jaringan lalu ulangi."
270
+ exit 1
271
+ fi
272
+ else
273
+ info "Jaringan terdeteksi — IP: $ip"
274
+ fi
275
+ echo ""
276
+
238
277
  # ─── 1. coreutils & iproute2 ───
239
278
  if ! command -v timeout >/dev/null; then
240
279
  echo " Dibutuhkan: coreutils (untuk timeout)"
@@ -366,7 +405,7 @@ title "6. Cek Stabilitas Jaringan"
366
405
  STABLE=false
367
406
  if [ -n "$IP" ]; then
368
407
  echo " Ping gateway untuk verifikasi koneksi..."
369
- gateway=$(timeout 3 ip route 2>/dev/null | awk '/default via/{print $3}' | head -1)
408
+ gateway=$(run_timeout 3 ip route 2>/dev/null | awk '/default via/{print $3}' | head -1)
370
409
  if [ -z "$gateway" ] && command -v getprop >/dev/null; then
371
410
  iface=$(getprop wifi.interface 2>/dev/null)
372
411
  [ -z "$iface" ] && iface="wlan0"
@@ -374,7 +413,7 @@ if [ -n "$IP" ]; then
374
413
  fi
375
414
  if [ -n "$gateway" ]; then
376
415
  echo " Gateway: $gateway"
377
- result=$(timeout 5 ping -c 2 -W 2 "$gateway" 2>&1)
416
+ result=$(run_timeout 5 ping -c 2 -W 2 "$gateway" 2>&1)
378
417
  loss=$(echo "$result" | awk '/loss/{print $6}' | tr -d '%')
379
418
  if [ -n "$loss" ] && [ "$loss" -lt 1 ] 2>/dev/null; then
380
419
  STABLE=true
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "termux-connecting",
3
- "version": "1.1.53",
3
+ "version": "1.1.55",
4
4
  "description": "CLI setup Termux + koneksi SSH dari PC/Mac dengan Telegram alert",
5
5
  "bin": {
6
6
  "termux-connecting": "bin/termux-connecting",