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.
- package/bin/termux-connect-pc +38 -8
- package/bin/termux-connecting +16 -5
- package/package.json +1 -1
package/bin/termux-connect-pc
CHANGED
|
@@ -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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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 "
|
|
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
|
-
|
|
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
|
package/bin/termux-connecting
CHANGED
|
@@ -124,8 +124,22 @@ else
|
|
|
124
124
|
fi
|
|
125
125
|
fi
|
|
126
126
|
|
|
127
|
-
# ─── 5.
|
|
128
|
-
title "4.
|
|
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 │"
|