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.
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.
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