Blog

tTerm działa teraz w przeglądarce

Do tej pory tTerm działał w Telegramie: polecenia dla twoich serwerów prosto z czatu. Dziś otwieramy tTerm Web, prawdziwy terminal w przeglądarce. Wszystkie twoje serwery i komputery w jednej karcie, każde polecenie w osobnym bloku i żadnych kluczy na twoim urządzeniu.

Tak wygląda tTerm Web: po lewej maszyny pogrupowane według projektów, u góry pasek kart, każde polecenie w osobnym bloku.

Po co przeglądarka, skoro jest bot

Bot dobrze się sprawdza, gdy masz pod ręką tylko telefon: zrestartować usługę, sprawdzić miejsce na dysku, odpowiedzieć na pytanie instalatora. Ale do dłuższej pracy przydaje się duży ekran: kilka kart obok siebie, vim i htop na pełnym ekranie, historia, w której łatwo znaleźć wczorajsze polecenie.

Do tego służy tTerm Web. Otwiera się w dowolnej przeglądarce, na laptopie, tablecie czy telefonie, i nie wymaga instalowania niczego na urządzeniu, z którego pracujesz.

Każde polecenie w osobnym bloku

W zwykłym terminalu wszystko zlewa się w jeden strumień i trzeba wypatrywać, gdzie skończyło się jedno polecenie, a zaczęło następne. W tTermie każde polecenie jest osobnym blokiem: samo polecenie, jego wynik, kod wyjścia, czas, katalog i gałąź Gita.

Blok możesz skopiować razem z wynikiem, zwinąć albo uruchomić ponownie. Gdy polecenie działa, wynik pojawia się na żywo, a po jego zakończeniu blok zamienia się w zwykły tekst, który łatwo zaznaczyć i skopiować.

Pole wprowadzania jak w edytorze

Na dole jest osobne pole wprowadzania. Shift+Enter zaczyna nowy wiersz, na szaro widać podpowiedź z historii, a Tab uzupełnia. Historia jest przechowywana po naszej stronie, więc jest taka sama na wszystkich twoich urządzeniach.

Nad polem widzisz, gdzie jesteś: katalog i gałąź. Kliknij je i wybierz z listy, dokąd przejść, a cd lub git switch wykona się jako zwykły blok. A przed niebezpiecznym poleceniem, po którym nie ma już czego naprawiać, tTerm poprosi o potwierdzenie.

vim, htop i sudo

Programy pełnoekranowe otwierają się na całym obszarze terminala i działają jak zwykle, sudo też. Jeśli nie chcesz bloków, jest tryb klasyczny: jeden ciągły terminal, dobrze ci znany.

Terminal nie zamyka się razem z kartą

Terminal działa na naszym serwerze, a nie w twojej przeglądarce. Zamknij laptopa w trakcie budowania na serwerze: budowanie trwa dalej, a jego wynik zostaje zachowany. Otwórz tTerm na innym urządzeniu, a terminal będzie na miejscu.

Karty z różnych projektów otwierają się obok siebie i są oznaczone kodem projektu: P/web-01, A/api-prod. Cmd+K otwiera paletę: przejdź do dowolnego terminala, otwórz nowy na dowolnej maszynie albo wykonaj akcję.

Jak podłączyć maszynę

Serwer z systemem Linux podłączasz jednym poleceniem. tTerm Web pokazuje je, gdy dodajesz maszynę, a ty uruchamiasz je na serwerze:

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

Instalator tworzy na serwerze użytkownika tterm, dodaje jeden wiersz do jego authorized_keys i nadaje mu sudo w osobnym pliku w /etc/sudoers.d. Nie dotyka sshd_config, nie restartuje sshd i nie otwiera żadnych portów. Po kilku sekundach serwer pojawia się na twojej liście.

Komputer z systemem macOS lub Linux podłączasz przez niewielkiego agenta. Agent działa na koncie twojego użytkownika i sam łączy się z naszym serwerem, więc porty przychodzące nie są potrzebne, a komputer może być za NAT-em. Agenta odinstalujesz jednym poleceniem.

Bezpieczeństwo

Łączymy się z twoimi maszynami, dlatego zbudowaliśmy dostęp tak, żeby łatwo było go dać i równie łatwo odebrać.

  • Twoje klucze nie są potrzebne. Do każdego połączenia tTerm podpisuje nowy certyfikat SSH z twoim imieniem. Jest ważny tylko dla tego jednego serwera i po dwóch minutach przestaje działać.
  • Podpisywanie w izolacji. Klucze, którymi podpisujemy, są w osobnym procesie bez dostępu do sieci. Główny program nie może ich odczytać, może tylko poprosić o podpis, a każdy podpis jest rejestrowany.
  • Bez pośredników. Serwer tTerma jest w UE. Strona i terminale łączą się z nim bezpośrednio: Cloudflare obsługuje u nas tylko DNS i nigdy nie widzi twoich poleceń.
  • Dostęp łatwo odebrać. Usuń serwer w tTermie, a tTerm sam usunie swój dostęp z serwera; jeśli serwer nie odpowiada, tTerm pokaże polecenie, które zrobi to bezpośrednio na serwerze. Jak usunąć wszystko inne, co dodał instalator, opisano na początku samego skryptu.
  • Otwarty kod. Kod tTerm Web i agenta jest dostępny na licencji AGPL-3.0. Skrypt instalacyjny jest krótki i warto go przeczytać przed uruchomieniem.

Ile to kosztuje

Dopóki trwa beta, tTerm Web jest bezpłatny dla wszystkich.

50maszyn na osobę
24otwarte terminale
30dni historii z wynikami

Płatne plany pojawią się później i powiemy o nich z dużym wyprzedzeniem.

A co z botem

@tTermNetBot zostaje i dalej działa: polecenia dla twoich serwerów prosto z czatu, gdy masz pod ręką tylko telefon. Na razie bot i aplikacja webowa działają osobno, każde z własną listą maszyn. Później je połączymy.

Co dalej

Następny duży etap to praca zespołowa: role w projekcie, wspólny dziennik poleceń i podgląd terminala współpracownika, przy czym obserwowana osoba zawsze widzi, kto patrzy. Komputery z systemem Windows nie są jeszcze obsługiwane; zajmiemy się nimi później.

Wypróbuj tTerm Web

Zaloguj się adresem e-mail: dostaniesz kod, a później na własnych urządzeniach wystarczy krótki kod. Pierwszy serwer podłączysz w minutę.

Zacznij za darmo

Więcej na blogu

Wszystkie wpisy
Wszystkie wpisy