GoTTY - Bagikan Terminal Linux Anda (TTY) sebagai Aplikasi Web
GoTTY adalah alat baris perintah sederhana berbasis GoLang yang memungkinkan Anda berbagi terminal (TTY) sebagai aplikasi web. Itu mengubah alat baris perintah menjadi aplikasi web.
Ia menggunakan emulator terminal Chrome OS (hterm) untuk menjalankan terminal berbasis JavaScript di browser web. Dan yang terpenting, GoTTY menjalankan server soket web yang pada dasarnya mentransfer keluaran dari TTY ke klien dan menerima masukan dari klien (yaitu jika masukan dari klien diizinkan) dan meneruskannya ke TTY.
Baca Juga: Teleconsole – Bagikan Terminal Linux Anda dengan Teman Anda
Arsitekturnya (ide hterm + soket web) terinspirasi oleh Program Wetty yang memungkinkan terminal melalui HTTP dan HTTPS.
Prasyarat:
Anda harus menginstal lingkungan GoLang (Bahasa Pemrograman Go) di Linux untuk menjalankan GoTTY.
Cara Menginstal GoTTY di Sistem Linux
Jika Anda sudah memiliki lingkungan GoLang yang berfungsi, jalankan perintah go get di bawah untuk menginstalnya:
go get github.com/yudai/gotty
Perintah di atas akan menginstal biner GoTTY di variabel lingkungan GOBIN Anda, coba periksa apakah demikian:
ls $GOPATH/bin/
Cara Menggunakan GoTTY di Linux
Untuk menjalankannya, Anda dapat menggunakan variabel GOBIN env dan memerintahkan fitur pelengkapan otomatis sebagai berikut:
$GOBIN/gotty
Jika tidak, jalankan GoTTY atau program Go lainnya tanpa mengetikkan path lengkap ke biner, tambahkan variabel GOBIN Anda ke PATH dalam file ~/.profile
menggunakan perintah ekspor di bawah :
export PATH="$PATH:$GOBIN"
Simpan file dan tutup. Kemudian sumber file untuk melakukan perubahan di atas:
source ~/.profile
Sintaks umum untuk menjalankan perintah GoTTY adalah:
Usage: gotty [options] <Linux command here> [<arguments...>]
Sekarang jalankan GoTTY dengan perintah apa pun seperti perintah df untuk melihat ruang dan penggunaan partisi disk sistem dari browser web:
gotty df -h
GoTTY akan memulai server web pada port 8080 secara default. Kemudian buka URL: http://127.0.0.1:8080/
di browser web Anda dan Anda akan melihat perintah yang berjalan seolah-olah dijalankan di terminal Anda:
Cara Menyesuaikan GoTTY di Linux
Anda dapat mengubah opsi default dan terminal Anda (hterm) di file profil ~/.gotty
, maka file ini akan dimuat secara default jika ada.
Ini adalah file penyesuaian utama yang dibaca dengan perintah gotty, jadi, buatlah sebagai berikut:
touch ~/.gotty
Dan tetapkan nilai valid Anda sendiri untuk opsi konfigurasi (temukan semua opsi konfigurasi di sini) untuk menyesuaikan GoTTY misalnya:
// Listen at port 9000 by default
port = "9000"
// Enable TSL/SSL by default
enable_tls = true
// hterm preferences
// Smaller font and a little bit bluer background color
preferences {
font_size = 5,
background_color = "rgb(16, 16, 32)"
}
Anda dapat mengatur file index.html Anda sendiri menggunakan opsi --index
dari baris perintah:
gotty --index /path/to/index.html uptime
Cara Menggunakan Fitur Keamanan di GoTTY
Karena GoTTY tidak menawarkan keamanan yang andal secara default, Anda perlu menggunakan fitur keamanan tertentu yang dijelaskan di bawah secara manual.
Izinkan Klien untuk Menjalankan Perintah/Ketik Input di Terminal
Perhatikan bahwa, secara default, GoTTY tidak mengizinkan klien mengetikkan input ke dalam TTY, ini hanya mengaktifkan pengubahan ukuran jendela.
Namun, Anda dapat menggunakan opsi -w
atau --permit-write
untuk mengizinkan klien menulis ke TTY, yang tidak disarankan karena ancaman keamanan pada server.
Perintah berikut akan menggunakan editor baris perintah vi untuk membuka file fossmint.txt untuk diedit di browser web:
gotty -w vi fossmint.txt
Di bawah ini adalah antarmuka vi seperti yang terlihat dari browser web (gunakan perintah vi di sini seperti biasa):
Gunakan GoTTY dengan Otentikasi Dasar (Nama Pengguna dan Kata Sandi).
Cobalah untuk mengaktifkan mekanisme otentikasi dasar, di mana klien akan diminta memasukkan nama pengguna dan kata sandi yang ditentukan untuk terhubung ke server GoTTY.
Perintah di bawah ini akan membatasi akses klien menggunakan opsi -c
untuk menanyakan kredensial tertentu kepada pengguna (nama pengguna: test dan kata sandi: @67890):
gotty -w -p "9000" -c "test:@67890" glances
Gotty Menghasilkan URL Acak
Cara lain untuk membatasi akses ke server adalah dengan menggunakan opsi -r
. Di sini, GoTTY akan menghasilkan URL acak sehingga hanya pengguna yang mengetahui URL tersebut yang dapat mengakses server.
Gunakan juga opsi –format judul “GoTTY – {{ .Command }} ({{ .Hostname }})” untuk menentukan judul antarmuka browser web dan perintah sekilas digunakan untuk menampilkan statistik pemantauan sistem :
gotty -r --title-format "GoTTY - {{ .Command }} ({{ .Hostname }})" glances
Berikut hasil perintah di atas dilihat dari antarmuka web browser:
Gunakan GoTTY dengan SSL/TLS
Karena secara default, semua koneksi antara server dan klien tidak dienkripsi, ketika Anda mengirim informasi rahasia melalui GoTTY seperti kredensial pengguna atau info lainnya, Anda harus menggunakan -t
atau - Opsi -tls
yang mengaktifkan TLS/SSL pada sesi:
GoTTY secara default akan membaca file sertifikat ~/.gotty.crt
dan file kunci ~/.gotty.key
, oleh karena itu, mulailah dengan membuat sertifikasi yang ditandatangani sendiri juga sebagai file kunci menggunakan perintah openssl di bawah ini (jawab pertanyaan yang diajukan untuk menghasilkan sertifikat dan file kunci):
openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout ~/.gotty.key -out ~/.gotty.crt
Kemudian gunakan GoTTY dengan cara yang aman dengan SSL/TLS diaktifkan sebagai berikut:
gotty -tr --title-format "GoTTY - {{ .Command }} ({{ .Hostname }})" glances
Bagikan Terminal Anda Dengan Banyak Klien
Anda dapat menggunakan terminal multiplexer untuk berbagi satu proses dengan banyak klien, perintah berikut akan memulai sesi tmux baru bernama gotty dengan perintah sekilas (pastikan Anda telah menginstal tmux):
gotty tmux new -A -s gotty glances
Untuk membaca file konfigurasi yang berbeda, gunakan opsi –config “/path/to/file” seperti:
gotty -tr --config "~/gotty_new_config" --title-format "GoTTY - {{ .Command }} ({{ .Hostname }})" glances
Untuk menampilkan versi GoTTY, jalankan perintah:
gotty -v
Kunjungi repositori GoTTY GitHub untuk menemukan contoh penggunaan lainnya: https://github.com/yudai/gotty
Itu saja! Sudahkah Anda mencobanya? Bagaimana Anda menemukan GoTTY? Bagikan pemikiran Anda kepada kami melalui formulir umpan balik di bawah.