termux-connecting 1.0.0
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/README.md +125 -0
- package/bin/termux-connect-pc +231 -0
- package/bin/termux-connecting +90 -0
- package/install.sh +44 -0
- package/package.json +20 -0
package/README.md
ADDED
|
@@ -0,0 +1,125 @@
|
|
|
1
|
+
# Termux Connecting
|
|
2
|
+
|
|
3
|
+
CLI untuk setup Termux dan koneksi SSH dari PC/Mac — plus Telegram alert jika koneksi putus.
|
|
4
|
+
|
|
5
|
+
## Tutorial Lengkap
|
|
6
|
+
|
|
7
|
+
### 1. Install di Termux
|
|
8
|
+
|
|
9
|
+
Jalankan di HP (Termux):
|
|
10
|
+
|
|
11
|
+
```bash
|
|
12
|
+
pkg install -y nodejs-lts
|
|
13
|
+
npm i -g termux-connecting
|
|
14
|
+
```
|
|
15
|
+
|
|
16
|
+
Atau via curl installer (tanpa Node.js):
|
|
17
|
+
|
|
18
|
+
```bash
|
|
19
|
+
curl -fsSL https://raw.githubusercontent.com/Ariska138/termux-connecting/main/install.sh | bash
|
|
20
|
+
```
|
|
21
|
+
|
|
22
|
+
### 2. Setup Perangkat Termux
|
|
23
|
+
|
|
24
|
+
```bash
|
|
25
|
+
termux-connecting
|
|
26
|
+
```
|
|
27
|
+
|
|
28
|
+
Script akan melakukan:
|
|
29
|
+
1. `pkg update && pkg upgrade` — jika repo error, tawarkan ganti ke repo stable via `termux-change-repo`
|
|
30
|
+
2. Cek Git & Node.js — tawarkan install jika belum ada
|
|
31
|
+
3. Cek password SSH — jika belum, minta buat password baru via `passwd`
|
|
32
|
+
4. Tampilkan **Username** dan **IP Address** perangkat
|
|
33
|
+
|
|
34
|
+
Simpan info username dan IP yang muncul. Ini yang akan dipakai dari PC.
|
|
35
|
+
|
|
36
|
+
> **Sebelum lanjut**: pastikan SSH server sudah jalan di Termux:
|
|
37
|
+
> ```bash
|
|
38
|
+
> sshd
|
|
39
|
+
> ```
|
|
40
|
+
> Cek IP kapan saja: `ip a | grep inet`
|
|
41
|
+
|
|
42
|
+
### 3. Install & Koneksi dari PC/Mac
|
|
43
|
+
|
|
44
|
+
Di komputer, install:
|
|
45
|
+
|
|
46
|
+
```bash
|
|
47
|
+
npm i -g termux-connecting
|
|
48
|
+
```
|
|
49
|
+
|
|
50
|
+
Lalu jalankan:
|
|
51
|
+
|
|
52
|
+
```bash
|
|
53
|
+
termux-connect-pc
|
|
54
|
+
```
|
|
55
|
+
|
|
56
|
+
Karena pertama kali, akan masuk ke menu **connection**:
|
|
57
|
+
|
|
58
|
+
```
|
|
59
|
+
Nama alias [termux-a8star]:
|
|
60
|
+
Username [u0_a237]:
|
|
61
|
+
IP Address [192.168.1.8]:
|
|
62
|
+
```
|
|
63
|
+
|
|
64
|
+
Isi dengan username dan IP yang ditampilkan di langkah 2.
|
|
65
|
+
|
|
66
|
+
Script akan:
|
|
67
|
+
- Cek koneksi (key-based dulu, fallback ke password)
|
|
68
|
+
- Tawarkan buat SSH key agar koneksi tanpa password
|
|
69
|
+
- Buat SSH config alias
|
|
70
|
+
- **Hanya first run**: tawarkan setup **Telegram Alert**
|
|
71
|
+
|
|
72
|
+
#### Telegram Alert (opsional, first run saja)
|
|
73
|
+
|
|
74
|
+
```
|
|
75
|
+
Ingin dapat notifikasi Telegram saat koneksi bermasalah? [y/N]: y
|
|
76
|
+
Bot Token (dari @BotFather):
|
|
77
|
+
Chat ID (atau username @username):
|
|
78
|
+
```
|
|
79
|
+
|
|
80
|
+
Cara dapat token:
|
|
81
|
+
1. Buka Telegram, cari **@BotFather**
|
|
82
|
+
2. Kirim `/newbot`, ikuti petunjuk
|
|
83
|
+
3. Dapatkan token (format: `123456:ABC-DEF1234`)
|
|
84
|
+
|
|
85
|
+
Chat ID bisa diisi username Anda (misal `@ariska138`).
|
|
86
|
+
|
|
87
|
+
### 4. Cek Koneksi
|
|
88
|
+
|
|
89
|
+
```bash
|
|
90
|
+
termux-connect-pc check
|
|
91
|
+
```
|
|
92
|
+
|
|
93
|
+
Jika koneksi putus, script akan:
|
|
94
|
+
1. Kirim notifikasi ke Telegram admin
|
|
95
|
+
2. Tawarkan retry
|
|
96
|
+
|
|
97
|
+
## Subcommand Reference
|
|
98
|
+
|
|
99
|
+
```bash
|
|
100
|
+
termux-connect-pc connection # Setup/ubah koneksi
|
|
101
|
+
termux-connect-pc check # Cek koneksi & kirim alert
|
|
102
|
+
termux-connect-pc help # Bantuan
|
|
103
|
+
termux-connect-pc version # Versi
|
|
104
|
+
```
|
|
105
|
+
|
|
106
|
+
## Koneksi Manual via SSH
|
|
107
|
+
|
|
108
|
+
Setelah setup, cukup:
|
|
109
|
+
```bash
|
|
110
|
+
ssh termux-a8star
|
|
111
|
+
```
|
|
112
|
+
|
|
113
|
+
Atau manual:
|
|
114
|
+
```bash
|
|
115
|
+
ssh -p 8022 u0_a237@192.168.1.8
|
|
116
|
+
```
|
|
117
|
+
|
|
118
|
+
## Dokumentasi Detail
|
|
119
|
+
|
|
120
|
+
- [Architecture](docs/architecture.md) — System design, flow, timeout policy
|
|
121
|
+
- [Troubleshooting](docs/troubleshooting.md) — Common issues & solutions
|
|
122
|
+
|
|
123
|
+
## Lisensi
|
|
124
|
+
|
|
125
|
+
MIT
|
|
@@ -0,0 +1,231 @@
|
|
|
1
|
+
#!/usr/bin/env bash
|
|
2
|
+
set -e
|
|
3
|
+
|
|
4
|
+
VERSION="1.0.0"
|
|
5
|
+
CONFIG_DIR="$HOME/.config/termux-connecting"
|
|
6
|
+
CONFIG_FILE="$CONFIG_DIR/config"
|
|
7
|
+
SSH_PORT=8022
|
|
8
|
+
SSH_KEY="$HOME/.ssh/id_ed25519"
|
|
9
|
+
|
|
10
|
+
GREEN='\033[0;32m'; YELLOW='\033[1;33m'; RED='\033[0;31m'; CYAN='\033[0;36m'; NC='\033[0m'
|
|
11
|
+
info() { echo -e "${GREEN}[✓]${NC} $1"; }
|
|
12
|
+
warn() { echo -e "${YELLOW}[!]${NC} $1"; }
|
|
13
|
+
error() { echo -e "${RED}[✗]${NC} $1"; }
|
|
14
|
+
title() { echo -e "\n${CYAN}━━━ $1 ━━━${NC}\n"; }
|
|
15
|
+
|
|
16
|
+
prompt() {
|
|
17
|
+
local val default="$2"
|
|
18
|
+
echo -n "$1${default:+ [$default]}: "
|
|
19
|
+
read -r val
|
|
20
|
+
echo "${val:-$default}"
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
load_config() {
|
|
24
|
+
[ -f "$CONFIG_FILE" ] && source "$CONFIG_FILE"
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
save_config() {
|
|
28
|
+
mkdir -p "$CONFIG_DIR"
|
|
29
|
+
cat > "$CONFIG_FILE" << EOF
|
|
30
|
+
HOST_ALIAS="$HOST_ALIAS"
|
|
31
|
+
SSH_USER="$SSH_USER"
|
|
32
|
+
SSH_HOST="$SSH_HOST"
|
|
33
|
+
SSH_PORT=$SSH_PORT
|
|
34
|
+
TELEGRAM_BOT_TOKEN="$TELEGRAM_BOT_TOKEN"
|
|
35
|
+
TELEGRAM_CHAT_ID="$TELEGRAM_CHAT_ID"
|
|
36
|
+
EOF
|
|
37
|
+
chmod 600 "$CONFIG_FILE"
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
telegram_alert() {
|
|
41
|
+
local msg="$1"
|
|
42
|
+
if [ -n "$TELEGRAM_BOT_TOKEN" ] && [ -n "$TELEGRAM_CHAT_ID" ]; then
|
|
43
|
+
curl -s --connect-timeout 10 --max-time 15 \
|
|
44
|
+
"https://api.telegram.org/bot${TELEGRAM_BOT_TOKEN}/sendMessage" \
|
|
45
|
+
-d "chat_id=${TELEGRAM_CHAT_ID}" \
|
|
46
|
+
-d "text=${msg}" >/dev/null
|
|
47
|
+
fi
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
# ─── COMMAND: connection ──────────────────────────────────────
|
|
51
|
+
cmd_connection() {
|
|
52
|
+
load_config
|
|
53
|
+
title "TERMUX CONNECT — Connection Setup"
|
|
54
|
+
|
|
55
|
+
local first_run=false
|
|
56
|
+
if [ ! -f "$CONFIG_FILE" ]; then
|
|
57
|
+
first_run=true
|
|
58
|
+
echo "Pertama kali dijalankan. Setup koneksi ke Termux."
|
|
59
|
+
echo "------------------------------------------------"
|
|
60
|
+
fi
|
|
61
|
+
|
|
62
|
+
HOST_ALIAS=$(prompt "Nama alias" "${HOST_ALIAS:-termux-a8star}")
|
|
63
|
+
SSH_USER=$(prompt "Username" "${SSH_USER:-u0_a237}")
|
|
64
|
+
SSH_HOST=$(prompt "IP Address" "${SSH_HOST:-192.168.1.8}")
|
|
65
|
+
|
|
66
|
+
title "1. Cek Konektifitas"
|
|
67
|
+
echo "Mencoba ke ${SSH_USER}@${SSH_HOST}:${SSH_PORT}..."
|
|
68
|
+
|
|
69
|
+
local connected=false
|
|
70
|
+
if timeout 10 ssh -o ConnectTimeout=5 -o BatchMode=yes -p "$SSH_PORT" "${SSH_USER}@${SSH_HOST}" "echo connected"; then
|
|
71
|
+
info "Koneksi berhasil (key-based)"
|
|
72
|
+
connected=true
|
|
73
|
+
elif command -v sshpass; then
|
|
74
|
+
local pass
|
|
75
|
+
pass=$(prompt "Password SSH" "")
|
|
76
|
+
if timeout 10 sshpass -p "$pass" ssh -o StrictHostKeyChecking=no -o ConnectTimeout=5 -p "$SSH_PORT" "${SSH_USER}@${SSH_HOST}" "echo connected"; then
|
|
77
|
+
info "Koneksi berhasil (password)"
|
|
78
|
+
connected=true
|
|
79
|
+
fi
|
|
80
|
+
else
|
|
81
|
+
echo ""
|
|
82
|
+
warn "sshpass tidak terinstall. Konek manual dulu: ssh -p ${SSH_PORT} ${SSH_USER}@${SSH_HOST}"
|
|
83
|
+
echo -n " Setelah berhasil, tekan enter untuk lanjut..."; read -r
|
|
84
|
+
if timeout 10 ssh -o ConnectTimeout=5 -o BatchMode=yes -p "$SSH_PORT" "${SSH_USER}@${SSH_HOST}" "echo connected"; then
|
|
85
|
+
connected=true
|
|
86
|
+
fi
|
|
87
|
+
fi
|
|
88
|
+
|
|
89
|
+
if ! $connected; then
|
|
90
|
+
error "Tidak bisa terhubung ke ${SSH_USER}@${SSH_HOST}:${SSH_PORT}"
|
|
91
|
+
echo " Pastikan sshd sudah jalan di Termux dan satu jaringan."
|
|
92
|
+
return 1
|
|
93
|
+
fi
|
|
94
|
+
|
|
95
|
+
# SSH key
|
|
96
|
+
if [ ! -f "$SSH_KEY" ]; then
|
|
97
|
+
echo ""
|
|
98
|
+
echo -n "Buat SSH key biar tanpa password? [Y/n]: "
|
|
99
|
+
read -r mk
|
|
100
|
+
if [[ -z "$mk" || "$mk" =~ ^[Yy]$ ]]; then
|
|
101
|
+
ssh-keygen -t ed25519 -f "$SSH_KEY" -N "" -C "termux-connect"
|
|
102
|
+
fi
|
|
103
|
+
fi
|
|
104
|
+
if [ -f "$SSH_KEY" ]; then
|
|
105
|
+
timeout 15 ssh-copy-id -o StrictHostKeyChecking=no -o ConnectTimeout=10 -p "$SSH_PORT" "${SSH_USER}@${SSH_HOST}" 2>&1 || \
|
|
106
|
+
warn "Copy key gagal. Manual: ssh-copy-id -p ${SSH_PORT} ${SSH_USER}@${SSH_HOST}"
|
|
107
|
+
fi
|
|
108
|
+
|
|
109
|
+
# SSH config
|
|
110
|
+
mkdir -p "$HOME/.ssh"
|
|
111
|
+
if ! grep -q "Host $HOST_ALIAS$" "$HOME/.ssh/config" 2>/dev/null; then
|
|
112
|
+
cat >> "$HOME/.ssh/config" << EOF
|
|
113
|
+
|
|
114
|
+
Host $HOST_ALIAS
|
|
115
|
+
HostName $SSH_HOST
|
|
116
|
+
User $SSH_USER
|
|
117
|
+
Port $SSH_PORT
|
|
118
|
+
StrictHostKeyChecking no
|
|
119
|
+
UserKnownHostsFile /dev/null
|
|
120
|
+
EOF
|
|
121
|
+
chmod 600 "$HOME/.ssh/config"
|
|
122
|
+
fi
|
|
123
|
+
info "Koneksi siap: ssh $HOST_ALIAS"
|
|
124
|
+
|
|
125
|
+
# Telegram — hanya first run
|
|
126
|
+
if $first_run; then
|
|
127
|
+
title "2. Telegram Alert (opsional)"
|
|
128
|
+
echo "Ingin dapat notifikasi Telegram saat koneksi bermasalah?"
|
|
129
|
+
echo -n "Setup sekarang? [y/N]: "; read -r tk
|
|
130
|
+
if [[ "$tk" =~ ^[Yy]$ ]]; then
|
|
131
|
+
TELEGRAM_BOT_TOKEN=$(prompt "Bot Token (dari @BotFather)" "")
|
|
132
|
+
TELEGRAM_CHAT_ID=$(prompt "Chat ID (atau username @username)" "")
|
|
133
|
+
if [ -n "$TELEGRAM_BOT_TOKEN" ] && [ -n "$TELEGRAM_CHAT_ID" ]; then
|
|
134
|
+
telegram_alert "✅ *termux-connect-pc* — Admin tersimpan"
|
|
135
|
+
info "Telegram alert aktif"
|
|
136
|
+
else
|
|
137
|
+
warn "Lewati Telegram. Bisa diatur nanti dengan edit: $CONFIG_FILE"
|
|
138
|
+
fi
|
|
139
|
+
else
|
|
140
|
+
info "Telegram bisa diaktifkan nanti: $CONFIG_FILE"
|
|
141
|
+
fi
|
|
142
|
+
fi
|
|
143
|
+
|
|
144
|
+
save_config
|
|
145
|
+
echo ""
|
|
146
|
+
info "Setup selesai! Jalankan: termux-connect-pc check"
|
|
147
|
+
}
|
|
148
|
+
|
|
149
|
+
# ─── COMMAND: check ───────────────────────────────────────────
|
|
150
|
+
cmd_check() {
|
|
151
|
+
load_config
|
|
152
|
+
if [ ! -f "$CONFIG_FILE" ]; then
|
|
153
|
+
warn "Belum ada konfigurasi. Jalankan dulu: termux-connect-pc connection"
|
|
154
|
+
return 1
|
|
155
|
+
fi
|
|
156
|
+
|
|
157
|
+
title "TERMUX CONNECT — Check"
|
|
158
|
+
echo "Memeriksa ${HOST_ALIAS} (${SSH_USER}@${SSH_HOST}:${SSH_PORT})..."
|
|
159
|
+
echo ""
|
|
160
|
+
|
|
161
|
+
local ok=false
|
|
162
|
+
if timeout 10 ssh -o ConnectTimeout=5 -o BatchMode=yes "$HOST_ALIAS" "echo connected"; then
|
|
163
|
+
info "Koneksi OK"
|
|
164
|
+
ok=true
|
|
165
|
+
else
|
|
166
|
+
error "Koneksi GAGAL"
|
|
167
|
+
telegram_alert "🚨 *Koneksi Termux PUTUS*%0AHost: ${HOST_ALIAS}%0AUser: ${SSH_USER}%0AIP: ${SSH_HOST}:${SSH_PORT}%0AWaktu: $(date)"
|
|
168
|
+
echo ""
|
|
169
|
+
warn "Notifikasi sudah dikirim ke Telegram admin"
|
|
170
|
+
echo ""
|
|
171
|
+
echo -n "Coba lagi? [y/N]: "; read -r retry
|
|
172
|
+
if [[ "$retry" =~ ^[Yy]$ ]]; then
|
|
173
|
+
cmd_check
|
|
174
|
+
return
|
|
175
|
+
fi
|
|
176
|
+
fi
|
|
177
|
+
|
|
178
|
+
if $ok; then
|
|
179
|
+
echo ""
|
|
180
|
+
info "Gunakan ssh $HOST_ALIAS untuk koneksi"
|
|
181
|
+
echo ""
|
|
182
|
+
echo -n "Cek lagi nanti secara berkala? (setup cron/dimonitor) [y/N]: "; read -r monitor
|
|
183
|
+
if [[ "$monitor" =~ ^[Yy]$ ]]; then
|
|
184
|
+
echo ""
|
|
185
|
+
echo " Tambahkan ke crontab (crontab -e):"
|
|
186
|
+
echo " */5 * * * * ${0} check"
|
|
187
|
+
fi
|
|
188
|
+
fi
|
|
189
|
+
}
|
|
190
|
+
|
|
191
|
+
# ─── COMMAND: help ────────────────────────────────────────────
|
|
192
|
+
cmd_help() {
|
|
193
|
+
echo ""
|
|
194
|
+
echo "termux-connect-pc v${VERSION}"
|
|
195
|
+
echo "CLI koneksi Termux dari PC/Mac"
|
|
196
|
+
echo ""
|
|
197
|
+
echo "Penggunaan:"
|
|
198
|
+
echo " termux-connect-pc connection Setup koneksi ke Termux (hanya sekali)"
|
|
199
|
+
echo " termux-connect-pc check Cek status koneksi & kirim alert"
|
|
200
|
+
echo " termux-connect-pc help Tampilkan bantuan ini"
|
|
201
|
+
echo " termux-connect-pc version Tampilkan versi"
|
|
202
|
+
echo ""
|
|
203
|
+
echo "Telegram alert otomatis ke admin saat koneksi putus."
|
|
204
|
+
echo ""
|
|
205
|
+
}
|
|
206
|
+
|
|
207
|
+
# ─── COMMAND: version ─────────────────────────────────────────
|
|
208
|
+
cmd_version() {
|
|
209
|
+
echo "termux-connect-pc v${VERSION}"
|
|
210
|
+
}
|
|
211
|
+
|
|
212
|
+
# ─── MAIN ─────────────────────────────────────────────────────
|
|
213
|
+
main() {
|
|
214
|
+
case "${1:-}" in
|
|
215
|
+
connection) cmd_connection ;;
|
|
216
|
+
check) cmd_check ;;
|
|
217
|
+
help|--help|-h) cmd_help ;;
|
|
218
|
+
version|--version|-v) cmd_version ;;
|
|
219
|
+
*)
|
|
220
|
+
if [ ! -f "$CONFIG_FILE" ]; then
|
|
221
|
+
echo "Pertama kali dijalankan! Setup koneksi dulu."
|
|
222
|
+
echo ""
|
|
223
|
+
cmd_connection
|
|
224
|
+
else
|
|
225
|
+
cmd_help
|
|
226
|
+
fi
|
|
227
|
+
;;
|
|
228
|
+
esac
|
|
229
|
+
}
|
|
230
|
+
|
|
231
|
+
main "$@"
|
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
#!/data/data/com.termux/files/usr/bin/bash
|
|
2
|
+
|
|
3
|
+
set -e
|
|
4
|
+
|
|
5
|
+
GREEN='\033[0;32m'
|
|
6
|
+
YELLOW='\033[1;33m'
|
|
7
|
+
RED='\033[0;31m'
|
|
8
|
+
CYAN='\033[0;36m'
|
|
9
|
+
NC='\033[0m'
|
|
10
|
+
|
|
11
|
+
info() { echo -e "${GREEN}[✓]${NC} $1"; }
|
|
12
|
+
warn() { echo -e "${YELLOW}[!]${NC} $1"; }
|
|
13
|
+
error() { echo -e "${RED}[✗]${NC} $1"; }
|
|
14
|
+
title() { echo -e "\n${CYAN}━━━ $1 ━━━${NC}\n"; }
|
|
15
|
+
|
|
16
|
+
title "TERMUX CONNECTING — Setup"
|
|
17
|
+
echo "Memeriksa dan mengkonfigurasi Termux..."
|
|
18
|
+
echo "----------------------------------------"
|
|
19
|
+
|
|
20
|
+
title "1. Update & Upgrade Paket"
|
|
21
|
+
echo "Menjalankan pkg update && pkg upgrade..."
|
|
22
|
+
if timeout 300 pkg update -y && timeout 300 pkg upgrade -y; then
|
|
23
|
+
info "Update & upgrade berhasil"
|
|
24
|
+
else
|
|
25
|
+
warn "Gagal update/upgrade. Mungkin repo tidak stabil."
|
|
26
|
+
echo ""
|
|
27
|
+
echo " Untuk mengganti ke repo stable, jalankan:"
|
|
28
|
+
echo " termux-change-repo"
|
|
29
|
+
echo ""
|
|
30
|
+
echo -n " Ingin ganti repo sekarang? [y/N]: "
|
|
31
|
+
read -r change_repo
|
|
32
|
+
if [[ "$change_repo" =~ ^[Yy]$ ]]; then
|
|
33
|
+
termux-change-repo
|
|
34
|
+
echo " Ulangi update setelah selesai."
|
|
35
|
+
fi
|
|
36
|
+
fi
|
|
37
|
+
|
|
38
|
+
title "2. Cek Git & Node.js"
|
|
39
|
+
for cmd in git node; do
|
|
40
|
+
if command -v "$cmd"; then
|
|
41
|
+
info "$cmd sudah terinstall ($($cmd --version || echo '?'))"
|
|
42
|
+
else
|
|
43
|
+
warn "$cmd belum terinstall."
|
|
44
|
+
echo -n " Install $cmd sekarang? [Y/n]: "
|
|
45
|
+
read -r install_it
|
|
46
|
+
if [[ -z "$install_it" || "$install_it" =~ ^[Yy]$ ]]; then
|
|
47
|
+
pkg install -y "$cmd" && info "$cmd berhasil diinstall" || error "Gagal install $cmd"
|
|
48
|
+
else
|
|
49
|
+
warn "Lewati install $cmd"
|
|
50
|
+
fi
|
|
51
|
+
fi
|
|
52
|
+
done
|
|
53
|
+
|
|
54
|
+
title "3. Cek Password (passwd)"
|
|
55
|
+
if [ -f "$HOME/.termux_authinfo" ] || passwd -S | grep -q "P"; then
|
|
56
|
+
info "Password sudah diatur"
|
|
57
|
+
else
|
|
58
|
+
warn "Belum ada password. Setting password diperlukan untuk SSH."
|
|
59
|
+
echo ""
|
|
60
|
+
echo " Masukkan password baru:"
|
|
61
|
+
if passwd; then
|
|
62
|
+
info "Password berhasil disimpan"
|
|
63
|
+
else
|
|
64
|
+
error "Gagal menyimpan password"
|
|
65
|
+
fi
|
|
66
|
+
fi
|
|
67
|
+
|
|
68
|
+
title "4. Informasi Koneksi"
|
|
69
|
+
USERNAME=$(whoami)
|
|
70
|
+
IP=$(ip -o -4 addr show | awk '{print $4}' | cut -d/ -f1 | grep -v 127.0.0.1 | head -n1)
|
|
71
|
+
|
|
72
|
+
if [ -z "$IP" ]; then
|
|
73
|
+
IP="(tidak terdeteksi — pastikan WiFi/data aktif)"
|
|
74
|
+
fi
|
|
75
|
+
|
|
76
|
+
echo " Username : $USERNAME"
|
|
77
|
+
echo " IP : $IP"
|
|
78
|
+
echo " Port : 8022"
|
|
79
|
+
echo ""
|
|
80
|
+
echo " Untuk koneksi dari PC/Mac:"
|
|
81
|
+
echo " ssh -p 8022 ${USERNAME}@${IP}"
|
|
82
|
+
echo ""
|
|
83
|
+
warn "Pastikan HP dan PC terhubung ke jaringan WiFi YANG SAMA"
|
|
84
|
+
echo ""
|
|
85
|
+
echo " Jika SSH server belum jalan:"
|
|
86
|
+
echo " sshd"
|
|
87
|
+
echo ""
|
|
88
|
+
|
|
89
|
+
echo "----------------------------------------"
|
|
90
|
+
info "Setup selesai!"
|
package/install.sh
ADDED
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
#!/data/data/com.termux/files/usr/bin/bash
|
|
2
|
+
#
|
|
3
|
+
# termux-connecting — Installer via curl
|
|
4
|
+
# Usage: curl -fsSL https://raw.githubusercontent.com/Ariska138/termux-connecting/main/install.sh | bash
|
|
5
|
+
|
|
6
|
+
set -e
|
|
7
|
+
|
|
8
|
+
REPO="https://github.com/Ariska138/termux-connecting"
|
|
9
|
+
INSTALL_DIR="$HOME/.termux-connecting"
|
|
10
|
+
BIN_DIR="$PREFIX/bin"
|
|
11
|
+
|
|
12
|
+
echo "━━━ TERMUX CONNECTING — Installer ━━━"
|
|
13
|
+
echo ""
|
|
14
|
+
|
|
15
|
+
# Cek apakah di Termux
|
|
16
|
+
if [ ! -d "$PREFIX" ]; then
|
|
17
|
+
echo "[✗] Script ini harus dijalankan di Termux."
|
|
18
|
+
exit 1
|
|
19
|
+
fi
|
|
20
|
+
|
|
21
|
+
# Cek & install git
|
|
22
|
+
if ! command -v git; then
|
|
23
|
+
echo "[*] Git belum terinstall. Install dulu..."
|
|
24
|
+
pkg install -y git
|
|
25
|
+
fi
|
|
26
|
+
|
|
27
|
+
# Clone atau pull repo
|
|
28
|
+
if [ -d "$INSTALL_DIR" ]; then
|
|
29
|
+
echo "[*] Update repo yang sudah ada..."
|
|
30
|
+
cd "$INSTALL_DIR" && git pull
|
|
31
|
+
else
|
|
32
|
+
echo "[*] Clone repo..."
|
|
33
|
+
timeout 120 git clone --depth 1 "$REPO.git" "$INSTALL_DIR"
|
|
34
|
+
fi
|
|
35
|
+
|
|
36
|
+
# Buat symlink ke PATH
|
|
37
|
+
ln -sf "$INSTALL_DIR/bin/termux-connecting" "$BIN_DIR/termux-connecting"
|
|
38
|
+
chmod +x "$INSTALL_DIR/bin/termux-connecting"
|
|
39
|
+
|
|
40
|
+
echo ""
|
|
41
|
+
echo "[✓] Installasi selesai!"
|
|
42
|
+
echo ""
|
|
43
|
+
echo " Jalankan: termux-connecting"
|
|
44
|
+
echo ""
|
package/package.json
ADDED
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "termux-connecting",
|
|
3
|
+
"version": "1.0.0",
|
|
4
|
+
"description": "CLI setup Termux + koneksi SSH dari PC/Mac dengan Telegram alert",
|
|
5
|
+
"bin": {
|
|
6
|
+
"termux-connecting": "./bin/termux-connecting",
|
|
7
|
+
"termux-connect-pc": "./bin/termux-connect-pc"
|
|
8
|
+
},
|
|
9
|
+
"repository": {
|
|
10
|
+
"type": "git",
|
|
11
|
+
"url": "git+https://github.com/Ariska138/termux-connecting.git"
|
|
12
|
+
},
|
|
13
|
+
"keywords": ["termux", "android", "ssh", "setup", "terminal"],
|
|
14
|
+
"license": "MIT",
|
|
15
|
+
"author": "Ariska138",
|
|
16
|
+
"files": ["bin/", "install.sh", "README.md"],
|
|
17
|
+
"engines": {
|
|
18
|
+
"node": ">=12"
|
|
19
|
+
}
|
|
20
|
+
}
|