termux-connecting 1.1.15 → 1.1.19

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.
@@ -17,11 +17,26 @@ title() { echo -e "\n${CYAN}━━━ $1 ━━━${NC}\n"; }
17
17
 
18
18
  prompt() {
19
19
  local val default="$2"
20
- echo -n "$1${default:+ [$default]}: "
20
+ echo -n "$1${default:+ [$default]}: " >&2
21
21
  read -r val
22
22
  echo "${val:-$default}"
23
23
  }
24
24
 
25
+ has_timeout() {
26
+ command -v timeout >/dev/null 2>&1 || command -v gtimeout >/dev/null 2>&1
27
+ }
28
+
29
+ run_timeout() {
30
+ local sec="$1"; shift
31
+ if command -v timeout >/dev/null 2>&1; then
32
+ timeout "$sec" "$@"
33
+ elif command -v gtimeout >/dev/null 2>&1; then
34
+ gtimeout "$sec" "$@"
35
+ else
36
+ "$@"
37
+ fi
38
+ }
39
+
25
40
  load_active() {
26
41
  if [ -f "$CONFIG_FILE" ]; then
27
42
  ACTIVE_DEVICE=$(cat "$CONFIG_FILE")
@@ -149,7 +164,7 @@ cmd_connection() {
149
164
  local connected=false
150
165
 
151
166
  # Key-based
152
- if timeout 10 ssh -o ConnectTimeout=5 -o BatchMode=yes -p "$SSH_PORT" "${SSH_USER}@${SSH_HOST}" "echo connected"; then
167
+ if run_timeout 10 ssh -o ConnectTimeout=5 -o BatchMode=yes -p "$SSH_PORT" "${SSH_USER}@${SSH_HOST}" "echo connected"; then
153
168
  info "Koneksi berhasil (key-based)"
154
169
  connected=true
155
170
  # Password via sshpass
@@ -157,7 +172,7 @@ cmd_connection() {
157
172
  echo " SSH key tidak dikenali. Coba dengan password..."
158
173
  local pass
159
174
  pass=$(prompt " ➤ Password SSH" "")
160
- if timeout 10 sshpass -p "$pass" ssh -o StrictHostKeyChecking=no -o ConnectTimeout=5 -p "$SSH_PORT" "${SSH_USER}@${SSH_HOST}" "echo connected"; then
175
+ if run_timeout 10 sshpass -p "$pass" ssh -o StrictHostKeyChecking=no -o ConnectTimeout=5 -p "$SSH_PORT" "${SSH_USER}@${SSH_HOST}" "echo connected"; then
161
176
  info "Koneksi berhasil (password)"
162
177
  connected=true
163
178
  fi
@@ -169,7 +184,7 @@ cmd_connection() {
169
184
  echo " ssh -p ${SSH_PORT} ${SSH_USER}@${SSH_HOST}"
170
185
  echo ""
171
186
  echo -n " ➤ Setelah berhasil, tekan enter untuk lanjut..."; read -r
172
- if timeout 10 ssh -o ConnectTimeout=5 -o BatchMode=yes -p "$SSH_PORT" "${SSH_USER}@${SSH_HOST}" "echo connected"; then
187
+ if run_timeout 10 ssh -o ConnectTimeout=5 -o BatchMode=yes -p "$SSH_PORT" "${SSH_USER}@${SSH_HOST}" "echo connected"; then
173
188
  connected=true
174
189
  fi
175
190
  fi
@@ -207,7 +222,7 @@ cmd_connection() {
207
222
  if [ -f "$SSH_KEY" ]; then
208
223
  echo ""
209
224
  echo " Meng-copy public key ke HP..."
210
- if timeout 15 ssh-copy-id -o StrictHostKeyChecking=no -o ConnectTimeout=10 -p "$SSH_PORT" "${SSH_USER}@${SSH_HOST}"; then
225
+ if run_timeout 15 ssh-copy-id -o StrictHostKeyChecking=no -o ConnectTimeout=10 -p "$SSH_PORT" "${SSH_USER}@${SSH_HOST}"; then
211
226
  info "Public key berhasil di-copy ke HP"
212
227
  else
213
228
  warn "Gagal copy otomatis. Copy manual:"
@@ -333,7 +348,7 @@ cmd_check() {
333
348
  echo "Device: ${ACTIVE_DEVICE} (${SSH_USER}@${SSH_HOST}:${SSH_PORT})"
334
349
  echo ""
335
350
 
336
- if timeout 10 ssh -o ConnectTimeout=5 -o BatchMode=yes "$ACTIVE_DEVICE" "echo connected"; then
351
+ if run_timeout 10 ssh -o ConnectTimeout=5 -o BatchMode=yes "$ACTIVE_DEVICE" "echo connected"; then
337
352
  info "Koneksi OK"
338
353
  echo ""
339
354
  info "Gunakan ssh $ACTIVE_DEVICE untuk koneksi"
@@ -414,11 +429,26 @@ main() {
414
429
  *)
415
430
  load_active
416
431
  if [ -z "$ACTIVE_DEVICE" ]; then
417
- echo "Belum ada device. Setup koneksi pertama."
432
+ echo ""
433
+ echo " Ini pertama kali kamu jalankan termux-connect-pc."
434
+ echo " Kita akan setup koneksi ke Termux di HP kamu."
418
435
  echo ""
419
436
  cmd_connection
420
437
  else
421
- cmd_help
438
+ echo ""
439
+ echo " Device aktif saat ini: ${ACTIVE_DEVICE}"
440
+ echo ""
441
+ echo " 1) Konek ke ${ACTIVE_DEVICE}"
442
+ echo " 2) Tambah device baru"
443
+ echo " 3) Lihat daftar device"
444
+ echo ""
445
+ echo -n " Pilih [1]: "
446
+ read -r choice
447
+ case "$choice" in
448
+ 2) cmd_connection ;;
449
+ 3) cmd_list ;;
450
+ *) cmd_check ;;
451
+ esac
422
452
  fi
423
453
  ;;
424
454
  esac
@@ -124,8 +124,22 @@ else
124
124
  fi
125
125
  fi
126
126
 
127
- # ─── 5. Informasi Koneksi ───
128
- title "4. Informasi Koneksi"
127
+ # ─── 5. SSH Server ───
128
+ title "4. Cek SSH Server (sshd)"
129
+ if pgrep -x sshd >/dev/null; then
130
+ info "sshd sudah berjalan"
131
+ else
132
+ echo " sshd belum jalan. Menjalankan..."
133
+ if sshd; then
134
+ info "sshd berhasil dijalankan"
135
+ else
136
+ error "Gagal menjalankan sshd"
137
+ echo " Coba manual: sshd"
138
+ fi
139
+ fi
140
+
141
+ # ─── 6. Informasi Koneksi ───
142
+ title "5. Informasi Koneksi"
129
143
  USERNAME=$(whoami)
130
144
 
131
145
  IP=""
@@ -158,9 +172,6 @@ echo " Setelah setup, cukup: ssh ${HOST_ALIAS:-termux-a8star}"
158
172
  echo ""
159
173
  warn "Pastikan HP dan PC terhubung ke jaringan WiFi YANG SAMA"
160
174
  echo ""
161
- echo " Jika SSH server belum jalan:"
162
- echo " sshd"
163
- echo ""
164
175
  echo " Data koneksi — simpan untuk setup PC:"
165
176
  echo " ┌─────────────────────────────┐"
166
177
  echo " │ Username : $USERNAME │"
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "termux-connecting",
3
- "version": "1.1.15",
3
+ "version": "1.1.19",
4
4
  "description": "CLI setup Termux + koneksi SSH dari PC/Mac dengan Telegram alert",
5
5
  "bin": {
6
6
  "termux-connecting": "bin/termux-connecting",