termux-connecting 1.1.14 → 1.1.15

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.
Files changed (2) hide show
  1. package/bin/termux-connect-pc +117 -38
  2. package/package.json +1 -1
@@ -79,78 +79,147 @@ cmd_connection() {
79
79
  local new_name="${1:-}"
80
80
  load_active
81
81
 
82
- # Jika ada argumen nama, setup device baru
83
82
  if [ -n "$new_name" ]; then
84
83
  HOST_ALIAS="$new_name"
85
84
  fi
86
85
 
87
86
  title "TERMUX CONNECT — Connection Setup"
87
+ echo "Saya akan bantu kamu menghubungkan PC ini ke Termux di HP."
88
+ echo ""
88
89
 
90
+ # ── Dialog: device baru atau edit existing ──
89
91
  if [ -z "$new_name" ] && [ -n "$ACTIVE_DEVICE" ]; then
90
- echo " Device aktif: $ACTIVE_DEVICE"
91
- echo -n " Setup device baru? [y/N]: "
92
+ echo " Saat ini device aktif: $ACTIVE_DEVICE"
93
+ echo -n " Setup device baru? [y/N]: "
92
94
  read -r new_dev
93
95
  if [[ "$new_dev" =~ ^[Yy]$ ]]; then
94
- new_name=$(prompt "Nama device baru" "")
96
+ echo ""
97
+ echo " Oke, kita akan setup HP lain."
98
+ new_name=$(prompt " ➤ Beri nama device ini" "")
95
99
  HOST_ALIAS="$new_name"
96
100
  else
97
- # Edit device aktif
98
101
  load_config || true
99
102
  HOST_ALIAS="${ACTIVE_DEVICE}"
100
103
  fi
101
104
  fi
102
105
 
106
+ # ── Dialog: nama device ──
103
107
  if [ -z "$HOST_ALIAS" ]; then
104
- HOST_ALIAS=$(prompt "Nama alias" "termux-a8star")
108
+ echo ""
109
+ echo " Beri nama untuk HP ini, misal 'hp-kantor' atau 'hp-rumah'."
110
+ HOST_ALIAS=$(prompt " ➤ Nama device" "termux-a8star")
105
111
  fi
106
112
 
107
- SSH_USER=$(prompt "Username" "${SSH_USER:-u0_a237}")
108
- SSH_HOST=$(prompt "IP Address" "${SSH_HOST:-192.168.1.8}")
113
+ # ── Dialog: username ──
114
+ echo ""
115
+ echo " Sekarang kita perlu data login SSH."
116
+ echo " Username bisa dicek di Termux dengan perintah: whoami"
117
+ SSH_USER=$(prompt " ➤ Username" "${SSH_USER:-u0_a237}")
118
+
119
+ # ── Dialog: IP address ──
120
+ echo ""
121
+ echo " IP Address bisa dicek di Termux dengan: ip a | grep inet"
122
+ echo " Pastikan HP dan PC terhubung ke WiFi yang SAMA."
123
+ SSH_HOST=$(prompt " ➤ IP Address" "${SSH_HOST:-192.168.1.8}")
109
124
 
125
+ # ── Dialog: Port ──
126
+ echo ""
127
+ echo -n " ➤ Port SSH [8022]: "; read -r port
128
+ SSH_PORT="${port:-8022}"
129
+
130
+ # ── Konfirmasi ──
131
+ echo ""
132
+ echo " ┌──────────────────────────────────────┐"
133
+ echo " │ Device : $HOST_ALIAS"
134
+ echo " │ Login : ${SSH_USER}@${SSH_HOST}:${SSH_PORT}"
135
+ echo " └──────────────────────────────────────┘"
136
+ echo ""
137
+ echo -n " ➤ Lanjutkan koneksi? [Y/n]: "
138
+ read -r proceed
139
+ if [[ -n "$proceed" && ! "$proceed" =~ ^[Yy]$ ]]; then
140
+ echo " Baik, batalkan. Jalankan lagi saat siap."
141
+ return
142
+ fi
143
+
144
+ # ── Cek Konektifitas ──
110
145
  title "1. Cek Konektifitas"
111
- echo "Mencoba ke ${SSH_USER}@${SSH_HOST}:${SSH_PORT}..."
146
+ echo " Mencoba koneksi ke ${SSH_USER}@${SSH_HOST}:${SSH_PORT}..."
147
+ echo ""
112
148
 
113
149
  local connected=false
150
+
151
+ # Key-based
114
152
  if timeout 10 ssh -o ConnectTimeout=5 -o BatchMode=yes -p "$SSH_PORT" "${SSH_USER}@${SSH_HOST}" "echo connected"; then
115
153
  info "Koneksi berhasil (key-based)"
116
154
  connected=true
155
+ # Password via sshpass
117
156
  elif command -v sshpass >/dev/null; then
157
+ echo " SSH key tidak dikenali. Coba dengan password..."
118
158
  local pass
119
- pass=$(prompt "Password SSH" "")
159
+ pass=$(prompt "Password SSH" "")
120
160
  if timeout 10 sshpass -p "$pass" ssh -o StrictHostKeyChecking=no -o ConnectTimeout=5 -p "$SSH_PORT" "${SSH_USER}@${SSH_HOST}" "echo connected"; then
121
161
  info "Koneksi berhasil (password)"
122
162
  connected=true
123
163
  fi
164
+ # Manual
124
165
  else
125
166
  echo ""
126
- warn "sshpass tidak terinstall. Konek manual dulu: ssh -p ${SSH_PORT} ${SSH_USER}@${SSH_HOST}"
127
- echo -n " Setelah berhasil, tekan enter untuk lanjut..."; read -r
167
+ warn " sshpass tidak terinstall."
168
+ echo " Silakan konek manual dari terminal lain:"
169
+ echo " ssh -p ${SSH_PORT} ${SSH_USER}@${SSH_HOST}"
170
+ echo ""
171
+ echo -n " ➤ Setelah berhasil, tekan enter untuk lanjut..."; read -r
128
172
  if timeout 10 ssh -o ConnectTimeout=5 -o BatchMode=yes -p "$SSH_PORT" "${SSH_USER}@${SSH_HOST}" "echo connected"; then
129
173
  connected=true
130
174
  fi
131
175
  fi
132
176
 
177
+ # ── Gagal total ──
133
178
  if ! $connected; then
134
- error "Tidak bisa terhubung ke ${SSH_USER}@${SSH_HOST}:${SSH_PORT}"
135
- echo " Pastikan sshd sudah jalan di Termux dan satu jaringan."
179
+ error "Gagal terhubung ke ${SSH_USER}@${SSH_HOST}:${SSH_PORT}"
180
+ echo ""
181
+ echo " Pastikan:"
182
+ echo " 1. HP sudah menjalankan: sshd (di Termux)"
183
+ echo " 2. HP dan PC dalam jaringan WiFi yang SAMA"
184
+ echo " 3. IP dan username yang dimasukkan benar"
185
+ echo ""
186
+ echo " Coba lagi: termux-connect-pc connection"
136
187
  return
137
188
  fi
138
189
 
139
- # SSH key
190
+ # ── Setup SSH key ──
191
+ title "2. Setup SSH Key (biar tanpa password)"
192
+ echo " Dengan SSH key, kamu tidak perlu input password setiap kali konek."
193
+ echo ""
194
+
140
195
  if [ ! -f "$SSH_KEY" ]; then
141
- echo ""
142
- echo -n "Buat SSH key biar tanpa password? [Y/n]: "
196
+ echo -n " ➤ Buat SSH key sekarang? [Y/n]: "
143
197
  read -r mk
144
198
  if [[ -z "$mk" || "$mk" =~ ^[Yy]$ ]]; then
199
+ echo " Membuat SSH key..."
145
200
  ssh-keygen -t ed25519 -f "$SSH_KEY" -N "" -C "termux-connect"
201
+ info "SSH key dibuat: $SSH_KEY"
146
202
  fi
203
+ else
204
+ info "SSH key sudah ada: $SSH_KEY"
147
205
  fi
206
+
148
207
  if [ -f "$SSH_KEY" ]; then
149
- timeout 15 ssh-copy-id -o StrictHostKeyChecking=no -o ConnectTimeout=10 -p "$SSH_PORT" "${SSH_USER}@${SSH_HOST}" 2>&1 || \
150
- warn "Copy key gagal. Manual: ssh-copy-id -p ${SSH_PORT} ${SSH_USER}@${SSH_HOST}"
208
+ echo ""
209
+ 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
211
+ info "Public key berhasil di-copy ke HP"
212
+ else
213
+ warn "Gagal copy otomatis. Copy manual:"
214
+ echo " ssh-copy-id -p ${SSH_PORT} ${SSH_USER}@${SSH_HOST}"
215
+ fi
151
216
  fi
152
217
 
153
- # SSH config
218
+ # ── Setup SSH config ──
219
+ title "3. Setup SSH Config"
220
+ echo " Membuat alias '${HOST_ALIAS}' di ~/.ssh/config"
221
+ echo " Nanti cukup: ssh ${HOST_ALIAS}"
222
+ echo ""
154
223
  mkdir -p "$HOME/.ssh"
155
224
  if ! grep -q "Host $HOST_ALIAS$" "$HOME/.ssh/config"; then
156
225
  cat >> "$HOME/.ssh/config" << EOF
@@ -163,38 +232,48 @@ Host $HOST_ALIAS
163
232
  UserKnownHostsFile /dev/null
164
233
  EOF
165
234
  chmod 600 "$HOME/.ssh/config"
235
+ info "SSH config siap: ssh $HOST_ALIAS"
236
+ else
237
+ info "Host '$HOST_ALIAS' sudah ada di SSH config"
166
238
  fi
167
- info "Koneksi siap: ssh $HOST_ALIAS"
168
239
 
169
- # Telegram — hanya first time
240
+ # ── Telegram ──
241
+ title "4. Telegram Alert (opsional)"
242
+ echo " Dapat notifikasi saat koneksi ke HP ini putus."
243
+ echo ""
244
+ echo -n " ➤ Setup Telegram? [y/N]: "
245
+ read -r tk
170
246
  local tel_setup=false
171
- if [ -z "$TELEGRAM_BOT_TOKEN" ]; then
247
+ if [[ "$tk" =~ ^[Yy]$ ]]; then
172
248
  echo ""
173
- title "2. Telegram Alert (opsional)"
174
- echo -n "Ingat notifikasi Telegram saat koneksi putus? [y/N]: "
175
- read -r tk
176
- if [[ "$tk" =~ ^[Yy]$ ]]; then
177
- TELEGRAM_BOT_TOKEN=$(prompt "Bot Token (dari @BotFather)" "")
178
- TELEGRAM_CHAT_ID=$(prompt "Chat ID (atau @username)" "")
179
- if [ -n "$TELEGRAM_BOT_TOKEN" ] && [ -n "$TELEGRAM_CHAT_ID" ]; then
180
- tel_setup=true
181
- else
182
- warn "Lewati Telegram. Bisa diatur nanti edit file device."
183
- fi
249
+ echo " Butuh Bot Token dari @BotFather dan Chat ID kamu."
250
+ TELEGRAM_BOT_TOKEN=$(prompt " ➤ Bot Token" "")
251
+ TELEGRAM_CHAT_ID=$(prompt " ➤ Chat ID (atau @username)" "")
252
+ if [ -n "$TELEGRAM_BOT_TOKEN" ] && [ -n "$TELEGRAM_CHAT_ID" ]; then
253
+ tel_setup=true
254
+ else
255
+ warn "Data tidak lengkap. Telegram bisa diatur nanti."
184
256
  fi
185
257
  fi
186
258
 
187
- # Simpan & set active
259
+ # ── Simpan ──
188
260
  save_config "$HOST_ALIAS"
189
261
  set_active "$HOST_ALIAS"
190
262
 
191
263
  if $tel_setup; then
192
- telegram_alert "✅ *termux-connect-pc* — Admin tersimpan"
193
- info "Telegram alert aktif"
264
+ telegram_alert "✅ *termux-connect-pc* — Device ${HOST_ALIAS} siap"
265
+ info "Telegram alert aktif"
194
266
  fi
195
267
 
196
268
  echo ""
197
- info "Setup selesai! Jalankan: termux-connect-pc check"
269
+ echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
270
+ info "Setup selesai!"
271
+ echo ""
272
+ echo " Koneksi: ssh ${HOST_ALIAS}"
273
+ echo " Cek : termux-connect-pc check"
274
+ echo " Device lain: termux-connect-pc connection <nama>"
275
+ echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
276
+ echo ""
198
277
  }
199
278
 
200
279
  # ─── COMMAND: list ────────────────────────────────────────────
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "termux-connecting",
3
- "version": "1.1.14",
3
+ "version": "1.1.15",
4
4
  "description": "CLI setup Termux + koneksi SSH dari PC/Mac dengan Telegram alert",
5
5
  "bin": {
6
6
  "termux-connecting": "bin/termux-connecting",