Back

Przeglądarkowa platforma zdalnego pulpitu dla firm

Terralink - connections dashboard

Cel projektu

Pozwolić pracownikom firmy dostać się do swoich służbowych maszyn z dowolnej przeglądarki, bez instalowania czegokolwiek, dając jednocześnie firmie bezpieczeństwo i nadzór, jakich wymaga zdalny dostęp.

Zakres prac

Projektowanie UX/UI

Architektura systemu

Development

Czas trwania

Listopad 2024-czerwiec 2025

Ciągły rozwój

Technologie

Next.js

Laravel

Apache Guacamole

PostgreSQL

Redis

AWS

Klient

Terralink

Zdalny pulpit otwierający się w karcie przeglądarki

Terralink pozwala pracownikom firmy otworzyć służbowy komputer bezpośrednio w przeglądarce. Pracownik lub podwykonawca loguje się, wybiera maszynę i pracuje na pulpicie Windows przez RDP, jakby siedział przed nim. Bez klienta VPN, bez aplikacji desktopowej, bez niczego do zainstalowania. Zbudowaliśmy platformę od podstaw: badania, interfejs, architekturę i kod.

Terralink - company-user connections dashboard

Zbudowany na Apache Guacamole, opakowany w prawdziwy produkt

W centrum Terralink stoi Apache Guacamole - otwartoźródłowa bramka zamieniająca protokoły zdalnego pulpitu w strumień, który przeglądarka potrafi wyrenderować. Guacamole wykonuje trudne tłumaczenie. Naszym zadaniem było zbudowanie wokół niego produktu: struktury kont i firm, zabezpieczeń, pulpitów i codziennej obsługi, dzięki której jest to narzędzie użyteczne dla biznesu, a nie ciekawostka laboratoryjna. Serwlet Javy przyjmuje połączenie z przeglądarki, a natywny demon guacd rozmawia przez RDP z maszyną po drugiej stronie.

Terralink - browser to servlet to guacd to target machine

Wielowarstwowa architektura skalująca trudne elementy samodzielnie

Zdalne pulpity mocno obciążają infrastrukturę. Obciążenie jest przy tym nieregularne: spokojny poranek może zamienić się w pięćdziesiąt osób łączących się naraz. Dlatego architektura dzieli pracę i pozwala każdej części skalować się niezależnie w trzech strefach dostępności. Ruch wchodzi przez firewall i load balancer, a następnie rozchodzi się do niezależnych grup autoskalowania. Jedna grupa obsługuje frontend Next.js i API Laravel. Druga uruchamia razem Guacamole, serwlet i guacd. Serwery terminali Windows, z którymi ludzie faktycznie łączą się przez RDP, działają we własnych grupach i skalują się niezależnie od reszty. PostgreSQL przechowuje konta, połączenia i historię sesji. Redis utrzymuje sesje, tokeny i cache w pamięci. Dedykowany network load balancer rozprowadza ruch RDP po serwerach terminali, wspieranych przez współdzielone przechowywanie plików, bucket S3 i kontroler domeny Active Directory. To dużo ruchomych części - celowo - bo właśnie dzięki temu platforma pozostaje szybka i stabilna, gdy wszyscy logują się o dziewiątej rano.

Terralink - phase 1 architecture diagram

Faza 1

Początkowa wersja architektury - diagram, który powstał na początku projektu.

Terralink - phase 2 architecture diagram

Faza 2

Jak ta pierwsza wersja ewoluowała w trakcie kształtowania się platformy.

Terralink - phase 3 architecture diagram

Faza 3

Końcowy układ zoptymalizowany pod kątem kosztów. Faza 2 miała za dużo load balancerów; tutaj poprawiliśmy też sposób wspólnego skalowania warstwy Backend (API) + Frontend oraz warstwy Guacamole + serwlet.

Tokeny połączeń: most między logowaniem a połączeniem

Przeprowadzenie użytkownika od zalogowania do pracy na zdalnej maszynie wymaga ostrożności, bo bramka obsługująca właściwe połączenie z pulpitem to osobna usługa od backendu Laravel, który wie, kim jesteś. Łączymy je tokenami połączeń. Gdy uwierzytelniony użytkownik prosi o połączenie, backend wystawia krótkotrwały token UUID autoryzujący tę jedną sesję. Guacamole akceptuje token i otwiera pulpit. Użytkownik nigdy nie ma styczności z poświadczeniami do maszyny docelowej. To token przenosi zaufanie przez tę granicę.

Terralink - connection token flow

Wszystko, czego firma potrzebuje wokół pulpitu, aż po drukowanie do domu

Zdalny pulpit jest użyteczny tylko wtedy, gdy przestaje sprawiać wrażenie zdalnego. Dlatego sesja daje to, czego ludzie oczekują. Jest współdzielony schowek. Jest transfer plików przez SFTP z folderami do pobierania jako zip. I jest mały element, który lubimy: drukowanie. Kliknij drukuj wewnątrz zdalnej sesji Windows, a okno drukowania otwiera się na twoim komputerze, na twojej drukarce - jakby cała praca przez cały czas odbywała się lokalnie. Takie szczegóły to różnica między demo a narzędziem, z którego ludzie chętnie korzystają cały dzień.

Terralink - live session with file transfer sidebar

Trzy warstwy kontroli - od właściciela platformy do użytkownika

Terralink jest wielofirmowy, więc kontrola rozkłada się na trzy warstwy. Globalny administrator, właściciel platformy, konfiguruje firmy i nadzoruje cały system. Każda firma dostaje własnego administratora prowadzącego użytkowników, połączenia i uprawnienia tej firmy. Pozostali to użytkownicy, którzy logują się i mają dostęp wyłącznie do tego, co im przyznano. Wdrożenie nowej firmy jest obsłużone jak należy - ze śledzeniem rejestracji, obowiązkowymi dokumentami przy zakładaniu i zabezpieczeniami w rodzaju konieczności wpisania nazwy firmy przed jej usunięciem.

Bezpieczeństwo i nadzór zbudowany dla ryzyka jakie niesie zdalny dostęp

Logowanie jest chronione uwierzytelnianiem dwuskładnikowym przez TOTP, a dodatkowo dostępne są wygasanie haseł i geofencing. Administratorzy mogą obserwować aktywne sesje i kończyć każdą z nich. Platforma powiadamia użytkownika gdy administrator zamknął jego sesję. Przeterminowane sesje zamykają się same o ustalonej godzinie. Każde połączenie jest logowane, filtrowalne i eksportowalne. Zaplanowane raporty emailowe przychodzą do skrzynki administratora same - ważne dla nadzoru i zgodności. System potrafi nawet odróżnić prawdziwe wylogowanie od zerwanego połączenia internetowego, więc zapisy pozostają wiarygodne.

Terralink - session management and connection history

Testowanie obciążenia

Najbardziej ryzykowna część takiego systemu to sam tunel - serwlet i guacd przenoszące każde naciśnięcie klawisza i każdą klatkę obrazu między przeglądarką a maszyną. Dlatego przed uruchomieniem przeprowadziliśmy testy obciążeniowe, przeciążając warstwę tunelowania tak długo, aż wiedzieliśmy, jak zachowuje się pod realnym ruchem. To w dużej mierze dzięki tej pracy połączenia pozostają płynne w ruchliwy dzień.

Terralink - load-test results

Efekt

Terralink zamienia każdą przeglądarkę w bezpieczne drzwi do biura. Dostarczyliśmy platformę między listopadem 2024 a czerwcem 2025 i nadal ją rozwijamy - obecnie pracujemy nad zdalnym strumieniowaniem i sposobem obsługi użytkowników w panelu. Firma ma teraz zdalny dostęp, który jej pracownicy uważają za prosty, a administratorzy mogą naprawdę kontrolować - na architekturze zbudowanej tak, by pozostawała szybka w miarę wzrostu.

Porozmawiajmy o Twoim projekcie!

Opowiedz nam o swoim projekcie. Pomożemy zaplanować architekturę, zakres i realizację.

Skontaktuj się

© Webalize 2026