GoTTY - Linux Terminalinizi (TTY) Web Uygulaması Olarak Paylaşın


GoTTY, terminalinizi (TTY) bir web uygulaması olarak paylaşmanıza olanak tanıyan basit bir GoLang tabanlı komut satırı aracıdır. Komut satırı araçlarını web uygulamalarına dönüştürür.

Web tarayıcılarında JavaScript tabanlı bir terminali çalıştırmak için Chrome OS'nin terminal emülatörünü (hterm) kullanır. Daha da önemlisi, GoTTY, çıktıları temel olarak TTY'den istemcilere aktaran ve istemcilerden girdi alan (yani istemcilerden gelen girdiye izin veriliyorsa) ve ileten bir web soket sunucusu çalıştırır. TTY'ye.

Ayrıca Okuyun: Teleconsole – Linux Terminalinizi Arkadaşlarınızla Paylaşın

Mimarisi (hterm + web soketi fikri), HTTP ve HTTPS üzerinden terminali mümkün kılan Wetty programından esinlenmiştir.

Önkoşullar:

GoTTY'yi çalıştırmak için Linux'ta GoLang (Go Programlama Dili) ortamının kurulu olması gerekir.

Linux Sistemlerine GoTTY Nasıl Kurulur

Zaten çalışan bir GoLang ortamınız varsa yüklemek için aşağıdaki go get komutunu çalıştırın:

go get github.com/yudai/gotty

Yukarıdaki komut GoTTY ikili dosyasını GOBIN ortam değişkeninize yükleyecektir; durumun böyle olup olmadığını kontrol etmeye çalışın:

ls $GOPATH/bin/

Linux'ta GoTTY Nasıl Kullanılır?

Çalıştırmak için GOBIN env değişkenini ve komut otomatik tamamlama özelliğini aşağıdaki gibi kullanabilirsiniz:

$GOBIN/gotty

Aksi takdirde, ikili dosyanın tam yolunu yazmadan GoTTY'yi veya başka bir Go programını çalıştırın, aşağıdaki export komutunu kullanarak GOBIN değişkeninizi ~/.profile dosyasındaki PATH'ye ekleyin. :

export PATH="$PATH:$GOBIN"

Dosyayı kaydedin ve kapatın. Ardından yukarıdaki değişiklikleri gerçekleştirmek için dosyayı kaynaklayın:

source ~/.profile

GoTTY komutlarını çalıştırmanın genel sözdizimi şöyledir:

Usage: gotty [options] <Linux command here> [<arguments...>]

Artık sistem disk bölümleri alanını ve kullanımını web tarayıcısından görüntülemek için GoTTY'yi df komutu gibi herhangi bir komutla çalıştırın:

gotty df -h

GoTTY varsayılan olarak 8080 bağlantı noktasında bir web sunucusu başlatacaktır. Ardından web tarayıcınızda http://127.0.0.1:8080/ URL'sini açın; çalışan komutu sanki terminalinizde çalışıyormuş gibi göreceksiniz:

Linux'ta GoTTY Nasıl Özelleştirilir

Varsayılan seçenekleri ve terminalinizi (hterm) ~/.gotty profil dosyasında değiştirebilirsiniz; varsa, bu dosya varsayılan olarak yüklenecektir.

Bu, Gotty komutları tarafından okunan ana özelleştirme dosyasıdır; bu nedenle, onu aşağıdaki gibi oluşturun:

touch ~/.gotty

Ayrıca GoTTY'yi özelleştirmek için yapılandırma seçenekleri için kendi geçerli değerlerinizi ayarlayın (tüm yapılandırma seçeneklerini burada bulabilirsiniz): Örneğin:

// 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)"
}

Komut satırındaki --index seçeneğini kullanarak kendi index.html dosyanızı ayarlayabilirsiniz:

gotty --index /path/to/index.html uptime

GoTTY'de Güvenlik Özellikleri Nasıl Kullanılır?

GoTTY varsayılan olarak güvenilir güvenlik sunmadığından, aşağıda açıklanan belirli güvenlik özelliklerini manuel olarak kullanmanız gerekir.

İstemcilerin Terminalde Komutları/Tür Girişini Çalıştırmasına İzin Verme

Varsayılan olarak GoTTY'nin istemcilerin TTY'ye girdi yazmasına izin vermediğini, yalnızca pencerenin yeniden boyutlandırılmasına izin verdiğini unutmayın.

Ancak istemcilerin TTY'ye yazmasına izin vermek için -w veya --permit-write seçeneğini kullanabilirsiniz; bu, sunucuya yönelik güvenlik tehditleri nedeniyle önerilmez.

Aşağıdaki komut, web tarayıcısında düzenlemek üzere fossmint.txt dosyasını açmak için vi komut satırı düzenleyicisini kullanacaktır:

gotty -w vi fossmint.txt

Aşağıda web tarayıcısından görülen vi arayüzü verilmiştir (burada vi komutlarını her zamanki gibi kullanın):

GoTTY'yi Temel (Kullanıcı Adı ve Parola) Kimlik Doğrulamayla Kullanma

İstemcilerin GoTTY sunucusuna bağlanmak için belirtilen kullanıcı adını ve şifreyi girmeleri gerekeceği temel kimlik doğrulama mekanizmasını etkinleştirmeyi deneyin.

Aşağıdaki komut, kullanıcılardan belirtilen kimlik bilgilerini istemek için -c seçeneğini kullanarak istemci erişimini kısıtlayacaktır (kullanıcı adı: test ve şifre: @67890):

gotty -w -p "9000" -c "test:@67890" glances

Gotty Rastgele URL Oluştur

Sunucuya erişimi kısıtlamanın başka bir yolu da -r seçeneğini kullanmaktır. Burada GoTTY, yalnızca URL'yi bilen kullanıcıların sunucuya erişebilmesi için rastgele bir URL oluşturacaktır.

Ayrıca web tarayıcılarının arayüzünü tanımlamak için –title-format “GoTTY – {{ .Command }} ({{ .Hostname }})” seçeneğini kullanın. başlık ve bakışlar komutu, sistem izleme istatistiklerini göstermek için kullanılır :

gotty -r --title-format "GoTTY - {{ .Command }} ({{ .Hostname }})" glances

Aşağıdaki, web tarayıcısı arayüzünden görüldüğü gibi yukarıdaki komutun sonucudur:

GoTTY'yi SSL/TLS ile kullanın

Varsayılan olarak sunucu ve istemciler arasındaki tüm bağlantılar şifrelenmediğinden, GoTTY aracılığıyla kullanıcı kimlik bilgileri veya diğer bilgiler gibi gizli bilgiler gönderdiğinizde -t veya - kullanmanız gerekir. Oturumda TLS/SSL'yi etkinleştiren -tls seçeneği:

GoTTY varsayılan olarak ~/.gotty.crt sertifika dosyasını ve ~/.gotty.key anahtar dosyasını okuyacaktır, bu nedenle kendinden imzalı bir sertifika da oluşturarak işe başlayın aşağıdaki openssl komutunu kullanarak anahtar dosyası olarak kullanın (sertifika ve anahtar dosyalarını oluşturmak için sorulan soruyu yanıtlayın):

openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout ~/.gotty.key -out ~/.gotty.crt

Ardından GoTTY'yi SSL/TLS etkinken aşağıdaki gibi güvenli bir şekilde kullanın:

gotty -tr --title-format "GoTTY - {{ .Command }} ({{ .Hostname }})" glances

Terminalinizi Birden Fazla Müşteriyle Paylaşın

Tek bir işlemi birden fazla istemciyle paylaşmak için terminal çoklayıcılardan yararlanabilirsiniz; aşağıdaki komut, bakışlarla birlikte gotty adında yeni bir tmux oturumu başlatacaktır (tmux'un kurulu olduğundan emin olun):

gotty tmux new -A -s gotty glances 

Farklı bir yapılandırma dosyasını okumak için –config “/path/to/file” seçeneğini şu şekilde kullanın:

gotty -tr --config "~/gotty_new_config" --title-format "GoTTY - {{ .Command }} ({{ .Hostname }})" glances

GoTTY sürümünü görüntülemek için şu komutu çalıştırın:

gotty -v 

Daha fazla kullanım örneği bulmak için GoTTY GitHub deposunu ziyaret edin: https://github.com/yudai/gotty

Bu kadar! Hiç denedin mi? GoTTY'yi nasıl buluyorsunuz? Aşağıdaki geri bildirim formunu kullanarak düşüncelerinizi bizimle paylaşın.