Przeglądarka Openterface: Lekkie rozwiązanie KVM oparte na przeglądarce firmy Kashall

Openterface Team Product Updates

Openterface Viewer firmy Kashall to wyjątkowa pozycja w konkursie USB-KVM DIY Challenge 2024, oferująca lekką, otwartą alternatywę dla aplikacji komputerowej Openterface_QT. Ten oparty na przeglądarce interfejs KVM działa całkowicie po stronie klienta w przeglądarkach opartych na Chromium i nie wymaga instalacji ani serwera zaplecza. Zaprojektowany do użytku z Openterface Mini-KVM, jest zbudowany w oparciu o nowe standardy sieciowe, takie jak WebUSB, WebSerial i WebHID, aby zapewnić przenośne rozwiązanie do zarządzania urządzeniami bezgłowymi.

Screenshot of Openterface Viewer Web Interface showing the browser-based control panel Screenshot of Openterface Viewer in action controlling a target device

Dlaczego to ma znaczenie

Wczesna wersja Openterface_QT wymagała instalacji i oferowała jedynie podstawową funkcjonalność. Dla kontrastu, Openterface Viewer:

  • Działa w przeglądarce, bez konieczności instalacji
  • Działa w różnych systemach dzięki wdrożeniu statycznemu — Zwiększa funkcjonalność dzięki funkcjom takim jak wprowadzanie danych z klawiatury i przechwytywanie myszy
  • Demonstruje siłę nowoczesnych internetowych interfejsów API do kontroli sprzętu

Kluczowe funkcje

  1. Działanie bez instalacji Działa bezpośrednio w przeglądarkach opartych na Chromium, takich jak Chrome — nie jest wymagane żadne oprogramowanie ani konfiguracja serwera.

  2. Architektura po stronie klienta Zbudowana jako statyczna aplikacja internetowa i hostowana na stronach Cloudflare (openterface-viewer.pages.dev), przeglądarka komunikuje się bezpośrednio z Mini-KVM za pomocą:

    • WebUSB dla danych wideo i sterujących
    • WebSerial do konfiguracji
    • WebHID do wprowadzania danych za pomocą myszy i klawiatury
  3. Lekki i przenośny Idealny do szybkiego dostępu w różnych konfiguracjach — od laptopów po tablety — przy minimalnym zużyciu zasobów.

  4. Ulepszone funkcje sterowania Poprawia wczesne ograniczenia QT dzięki przechwytywaniu myszy, obsłudze wprowadzania danych z klawiatury i responsywnemu interfejsowi.

Implementacja

  • Baza kodu: Opracowany w TypeScript z modułową konstrukcją i Vite do szybkich kompilacji
  • Hosting: Wdrożenie statyczne za pośrednictwem stron Cloudflare
  • Zależności: Zawiera biblioteki „USB” i „port szeregowy” do interakcji z urządzeniami niskiego poziomu
  • UI: responsywny interfejs sieciowy z transmisją wideo na żywo, przełącznikami wejściowymi i obsługą dynamicznej rozdzielczości
  • Obsługa błędów: Zawiera logikę ponownego łączenia w celu obsługi niestabilnego zachowania interfejsu API USB, zwłaszcza na portach USB 3.0/3.1

Przegląd systemu

  • Urządzenie hosta: dowolna przeglądarka Chromium (np. Chrome)
  • Mini-KVM: Łączy się z urządzeniami bezgłowymi przez USB i HDMI
  • Urządzenie docelowe: SBC lub serwery (np. Jetson Nano)
  • Komunikacja: USB (sterowanie + dane), HDMI (wideo)
  • Wdrożenie: statyczna aplikacja internetowa hostowana na stronach Cloudflare

Wyzwania i ograniczenia

  • WebUSB/WebSerial/WebHID są wciąż eksperymentalne i mogą zachowywać się niespójnie na różnych portach lub platformach
  • Ograniczone do przeglądarek opartych na Chromium
  • Rozwój przeglądarki czasami wiązał się z szybkimi aktualizacjami QT, chociaż wkład Kashall bezpośrednio wpłynął na nowe funkcje QT (np. ulepszona obsługa myszy)

Wpływ

Openterface Viewer na nowo definiuje dostęp do KVM typu plug-and-play — bez pobierania i bez sterowników, wystarczy otworzyć przeglądarkę i gotowe. To praktyczne narzędzie do:

  • Specjaliści IT potrzebujący przenośnego pilota
  • Hobbyści zarządzający SBC i urządzeniami bezgłowymi
  • Programiści pracujący na różnych platformach bez zakłócania konfiguracji

Projekt ten podkreśla również rosnący potencjał internetowych interfejsów sprzętowych, torując drogę dla bardziej zaawansowanych, wieloplatformowych narzędzi w przyszłości.

Eksploruj dalej

Specjalne podziękowania dla Kashall za to eleganckie i przyszłościowe rozwiązanie w konkursie USB-KVM DIY Challenge 2024!