Blog

tTerm artık tarayıcıda çalışıyor

Şimdiye kadar tTerm Telegram'daydı: sunucularına doğrudan bir sohbetten komut gönderiyordun. Bugün tarayıcında çalışan gerçek bir terminal olan tTerm Web'i kullanıma açıyoruz. Tüm sunucuların ve bilgisayarların tek bir sekmede, her komut ayrı bir blokta, cihazında da hiç anahtar yok.

İşte tTerm Web: solda projelere göre makineler, üstte sekmeler, her komut ayrı bir blokta.

Bot varken neden tarayıcı

Elinde yalnızca telefon olduğunda bot çok işe yarar: bir servisi yeniden başlat, diskteki boş alana bak, bir yükleyicinin sorusunu yanıtla. Ama uzun işler büyük ekran ister: yan yana birkaç sekme, tam ekran vim ve htop, dünkü komutu kolayca bulabileceğin bir geçmiş.

tTerm Web tam da bunun için var. Dizüstü bilgisayarda, tablette ya da telefonda, her tarayıcıda açılır ve çalıştığın cihaza hiçbir şey kurmanı gerektirmez.

Her komut ayrı bir blokta

Sıradan bir terminalde her şey tek bir akışta birbirine karışır ve bir komutun nerede bitip ötekinin nerede başladığını gözle bulman gerekir. tTerm'de her komut ayrı bir blok olarak gelir: komutun kendisi, çıktısı, çıkış kodu, süresi, dizini ve git dalı.

Bir bloğu çıktısıyla birlikte kopyalayabilir, daraltabilir ya da yeniden çalıştırabilirsin. Komut çalışırken çıktısı canlı akar, bittiğinde ise blok kolayca seçilip kopyalanabilen düz metne dönüşür.

Editör gibi bir giriş satırı

En altta ayrı bir giriş satırı var. Shift+Enter yeni satıra geçer, geçmişindeki bir komut gri renkte önerilir, Tab tamamlar. Geçmiş bizim tarafımızda saklanır, bu yüzden tüm cihazlarında aynıdır.

Satırın üstünde nerede olduğunu görürsün: dizin ve dal. Bunlara tıklayıp listeden başkasını seçtiğinde cd ya da git switch sıradan bir blok olarak çalışır. Geri dönüşü olmayan türden tehlikeli bir komuttan önce ise tTerm bir kez daha sorar.

vim, htop ve sudo

Tam ekran programlar tüm terminal alanını kaplar ve her zamanki gibi çalışır, sudo da öyle. Blok istemiyorsan klasik bir mod var: alıştığın gibi kesintisiz tek bir terminal.

Sekmeyi kapatınca terminal kapanmaz

Terminal tarayıcında değil, bizim sunucumuzda çalışır. Bir sunucudaki derlemenin ortasında dizüstünü kapat: derleme devam eder, çıktısı saklanır. tTerm'i başka bir cihazda aç, terminal olduğu yerde seni bekler.

Farklı projelerin sekmeleri yan yana açılır ve proje koduyla etiketlenir: P/web-01, A/api-prod. Cmd+K komut paletini açar: istediğin terminale geç, herhangi bir makinede yenisini aç ya da bir eylem çalıştır.

Makine nasıl bağlanır

Linux sunucu tek komutla bağlanır. Bir makine eklediğinde tTerm Web bu komutu gösterir, sen de onu sunucuda çalıştırırsın:

$ curl -sSL https://connect.tterm.net/s/… | sudo sh

Kurulum betiği sunucuda tterm adlı bir kullanıcı oluşturur, bu kullanıcının authorized_keys dosyasına tek satır ekler ve /etc/sudoers.d içindeki ayrı bir dosyayla ona sudo yetkisi verir. sshd_config dosyasına dokunmaz, sshd'yi yeniden başlatmaz ve hiçbir port açmaz. Birkaç saniye sonra sunucu listende görünür.

macOS ya da Linux bilgisayar küçük bir ajan aracılığıyla bağlanır. Ajan senin kullanıcı hesabınla çalışır ve sunucumuza kendisi bağlanır, bu yüzden gelen bağlantılar için port gerekmez ve bilgisayar NAT arkasında olabilir. Ajan tek komutla kaldırılır.

Güvenlik

Makinelerine bağlanıyoruz, bu yüzden erişimi vermesi kolay, geri alması da bir o kadar kolay olacak şekilde tasarladık.

  • Anahtarlarına gerek yok. tTerm her bağlantı için üzerinde adının yazılı olduğu yeni bir SSH sertifikası imzalar. Sertifika yalnızca o sunucuda geçerlidir ve iki dakika sonra geçersiz olur.
  • İmzalama ayrı tutulur. İmzalamada kullandığımız anahtarlar ağ erişimi olmayan ayrı bir süreçte tutulur. Ana program onları okuyamaz, yalnızca imza isteyebilir ve her imza kayıt altına alınır.
  • Aracı yok. tTerm sunucusu AB'de. Sayfa ve terminaller doğrudan ona bağlanır: Cloudflare yalnızca DNS hizmetimizi sağlar ve komutlarını hiçbir zaman görmez.
  • Geri alması kolay. Bir sunucuyu tTerm'den sildiğinde tTerm sunucudaki kendi erişimini kendisi kaldırır; sunucu yanıt vermezse bunu sunucuda yapacak komutu gösterir. Kurulum betiğinin kurduğu diğer her şeyin nasıl kaldırılacağı, betiğin en başında yazıyor.
  • Açık kaynak. tTerm Web ve ajan, AGPL-3.0 lisansıyla açık kaynaklıdır. Kurulum betiği kısa ve çalıştırmadan önce okumaya değer.

Ücreti ne kadar

tTerm Web beta aşamasındayken herkes için ücretsiz.

50makine, kişi başına
24açık terminal
30günlük geçmiş, çıktılarıyla birlikte

Ücretli planlar daha sonra gelecek, bunu da sana çok önceden haber vereceğiz.

Peki ya bot

@tTermNetBot kalıyor ve çalışmaya devam ediyor: elinde yalnızca telefon olduğunda sunucularına doğrudan sohbetten komut gönderirsin. Şimdilik bot ve web uygulaması ayrı çalışıyor, her birinin kendi makine listesi var. İleride ikisini birleştireceğiz.

Sırada ne var

Sıradaki büyük adım ekip çalışması: projede roller, ortak bir komut günlüğü ve bir ekip arkadaşının terminalini izleme. İzlenen kişi, kimin izlediğini her zaman görür. Windows bilgisayarlar henüz desteklenmiyor; sıra onlara daha sonra gelecek.

tTerm Web'i dene

E-postanla giriş yap: sana bir kod gelir, sonrasında kendi cihazlarında kısa bir kod yeterli olur. İlk sunucun bir dakikada bağlanır.

Ücretsiz başla

Blogdan diğer yazılar

Tüm yazılar
Tüm yazılar