Uruchom na Macu standardowy serwer VNC i udostępniaj ekran, schowek, pliki, a nawet metodę wprowadzania tekstu aplikacji QuickRemote — wszystko w sieci lokalnej, bez przekaźnika w chmurze.
Pierwsze kroki
1. Ustaw hasło
Otwórz Ustawienia (ikona koła zębatego na dolnym pasku narzędzi) i wypełnij pole Hasło VNC. Standardowi klienci VNC używają mechanizmu RFB DES, który uwzględnia tylko pierwsze 8 bajtów zgodnych z ASCII — wybierz hasło nie dłuższe niż 8 znaków.
2. Uruchom serwer
- W oknie głównym kliknij Start. Wskaźnik statusu zmieni się na Działa.
- Jednocześnie uruchamiane są cztery usługi nasłuchu: VNC
5900, sterowanie QREX5911, media QREX4010oraz API plików8766. - Kliknij Kopiuj informacje , aby skopiować do schowka jedną linię z hostem, portami i bieżącym kodem PIN.
3. Podłącz klienta
Dla standardowej przeglądarki VNC (Udostępnianie ekranu w macOS, RealVNC, TightVNC, mobilne aplikacje VNC):
- Otwórz przeglądarkę i wpisz
vnc://<your-mac-ip>:5900jako adres - Wpisz hasło VNC ustawione w kroku 1
- Steruj Makiem od razu — klawiatura, mysz, kopiowanie i wklejanie przez RFB
Dla aplikacji QuickRemote:
- Otwórz QuickRemote na telefonie lub tablecie i wybierz Dodaj Maca
- Wpisz 6-cyfrowy kod PIN parowania pokazany przez DeskVNCServer (albo zeskanuj kod QR, jeśli Twoja wersja QuickRemote to obsługuje)
- QuickRemote zapisuje zwrócony token Bearer i odblokowuje funkcje rozszerzone — IME, dźwięk, synchronizację schowka i przesyłanie plików
Przegląd interfejsu
Wiersz statusu
| Element | Opis |
|---|---|
| Etykieta serwera | Identyfikuje ten panel. |
| Plakietka statusu | Działa gdy usługi nasłuchu są aktywne, Zatrzymano w przeciwnym razie. |
Przyciski akcji
- Start — Uruchamia wszystkie cztery usługi nasłuchu.
- Stop — Zamyka wszystkie usługi nasłuchu i rozłącza aktywne sesje.
- Kopiuj informacje — Kopiuje do schowka krótkie podsumowanie połączenia (host, port VNC, port sterowania, PIN), aby łatwo przekazać je klientowi.
Panel połączenia
Pokazuje host nasłuchu, porty, bieżący identyfikator serwera i aktywny kod PIN parowania. Tekst odświeża się automatycznie po zmianie ustawień.
Panel API QuickRemote
Szybki przegląd protokołów obsługiwanych przez serwer. Wymienia wspierane wersje RFB, strukturę punktów końcowych QREX i zestaw poleceń IME, aby QuickRemote (lub Twój własny klient) wiedział, co jest dostępne.
Protokoły i porty
| Usługa | Port domyślny | Protokół | Używane przez |
|---|---|---|---|
| VNC / RFB | TCP 5900 | RFB 3.8 / 3.7 / 3.3 | Dowolny standardowy klient VNC |
| Sterowanie QREX | TCP 5911 | HTTP JSON RPC + WebSocket | QuickRemote i inni klienci QREX |
| Media QREX | UDP 4010 | Pakiety zgodne z QuickRemote | Komunikaty IME, strumieniowanie dźwięku |
| API plików | TCP 8766 | HTTP zgodne z QuickRemote | Przeglądanie i przesyłanie plików |
Uwierzytelnianie
- Klienci VNC — hasło RFB DES (pierwsze 8 bajtów zgodnych z ASCII ze skonfigurowanego hasła).
- Klienci QREX — Początkowa wymiana 6-cyfrowego kodu PIN pod adresem
POST /qr/v1/pairzwraca token Bearer. Każde kolejne wywołanie HTTP QREX i każda ramka WebSocket muszą zawieraćAuthorization: Bearer <token>. - Jeśli hasło VNC jest puste, serwer ogłasza standardowy tryb RFB bez uwierzytelniania. Przydatne wyłącznie w zaufanych segmentach sieci LAN.
Skrócony przegląd punktów końcowych QREX
GET /qr/v1/capabilities # publiczne, zwraca obsługiwane funkcje
POST /qr/v1/pair # publiczne, wymiana PIN na token Bearer
GET /qr/v1/ws # WebSocket, wymaga uwierzytelnienia
POST /qr/v1/ime/get # wymaga uwierzytelnienia, odczyt aktywnego IME
POST /qr/v1/ime/list # wymaga uwierzytelnienia, lista dostępnych IME
POST /qr/v1/ime/set # wymaga uwierzytelnienia, przełączenie IME
POST /qr/v1/ime/toggle # wymaga uwierzytelnienia, włączenie/wyłączenie IME
POST /qr/v1/ime/commit # wymaga uwierzytelnienia, zatwierdzenie ciągu tekstu
Ustawienia
| Ustawienie | Domyślnie | Opis |
|---|---|---|
| Host nasłuchu | 0.0.0.0 | Interfejs, na którym serwer nasłuchuje. Ustaw 127.0.0.1 , aby ograniczyć dostęp do localhost. |
| Port VNC | 5900 | Port TCP standardowego nasłuchu RFB. |
| Port sterowania QREX | 5911 | Port TCP dla ruchu QREX HTTP + WebSocket. |
| Port UDP mediów QREX | 4010 | Port UDP dla pakietów pomocniczego kanału IME i dźwięku. |
| Port API plików QuickRemote | 8766 | Port TCP dla API przeglądania i przesyłania plików. |
| Hasło VNC | (puste) | Maksymalnie 8 bajtów zgodnych z ASCII. Puste oznacza brak uwierzytelniania na kanale VNC. |
| Token Bearer QREX | (generowany) | Aktywny token wydany podczas parowania. Aby go odnowić, sparuj ponownie lub zmień to pole. |
| Kod PIN parowania | (generowany) | 6-cyfrowy kod PIN pokazywany aplikacji QuickRemote podczas parowania. Zmienia się przy ponownym wygenerowaniu. |
| Stały identyfikator serwera | (generowany) | Długotrwały identyfikator, po którym QuickRemote rozpoznaje tego Maca. |
| Uruchamiaj serwer automatycznie | Wył. | Uruchamia usługi nasłuchu przy starcie aplikacji. |
| Zezwalaj na zdalną klawiaturę i mysz | Wł. | Wyłącz, aby sesje były tylko do podglądu. |
| Włącz mostek IME | Wł. | Pozwala klientom QREX odczytywać i zmieniać metodę wprowadzania tekstu w macOS. |
| Włącz API dźwięku | Wył. | Zezwala na strumieniowanie dźwięku Opus przez UDP mediów QREX. Domyślnie wyłączone, aby oszczędzać CPU. |
| Włącz synchronizację schowka | Wł. | Synchronizuje zawartość schowka między Makiem a zdalnym klientem. |
| Włącz przesyłanie plików | Wł. | Pozwala aplikacji QuickRemote wyświetlać i odczytywać pliki. Tylko do odczytu, dopóki nie włączysz także modyfikacji. |
| Włącz modyfikacje plików | Wył. | Zezwala na przesyłanie, zmianę nazw i usuwanie. Domyślnie wyłączone — włączaj tylko dla zaufanych klientów. |
| Maksymalna szerokość klatki | 1440 | Ograniczenie szerokości przechwytywanego ekranu. Niższe wartości zmniejszają zużycie łącza. |
| Maksymalna wysokość klatki | 900 | Ograniczenie wysokości przechwytywanego ekranu. |
| Liczba klatek na sekundę | 12 | Docelowa liczba klatek na sekundę wysyłanych do klientów. |
Przykłady klientów
Udostępnianie ekranu w macOS
- Finder → Idź → Połącz z serwerem
- Wpisz
vnc://<your-mac-ip>:5900 - Wprowadź hasło VNC
cURL — sprawdzenie możliwości
curl http://<your-mac-ip>:5911/qr/v1/capabilities
cURL — parowanie i wywołanie mostka IME
# 1. Wymień PIN na token Bearer
TOKEN=$(curl -s http://<your-mac-ip>:5911/qr/v1/pair \
-H "Content-Type: application/json" \
-d '{"pin":"123456"}' | jq -r .token)
# 2. Zatwierdź tekst przez mostek IME
curl http://<your-mac-ip>:5911/qr/v1/ime/commit \
-H "Authorization: Bearer $TOKEN" \
-H "Content-Type: application/json" \
-d '{"text":"hello from remote"}'
Wskazówki
- Zmniejsz liczbę klatek na sekundę i maksymalne wymiary klatki, gdy korzystasz z wolnego łącza Wi-Fi lub prowadzisz połączenie przez VPN.
- Każde urządzenie paruj tylko raz. Po początkowej wymianie kodu PIN token Bearer przetrwa ponowne uruchomienia, więc QuickRemote łączy się ponownie bez pytania.
- Użyj Kopiuj informacje , aby szybko przesłać dane połączenia przez czat lub e-mail — zawierają wszystko, czego potrzebuje klient.
- Pozostaw Włącz modyfikacje plików wyłączone, o ile naprawdę nie potrzebujesz przesyłania plików. Tryb tylko do odczytu wystarcza do przeglądania zrzutów ekranu, notatek czy pobranych plików.
- Wyłącz API dźwięku, gdy z niego nie korzystasz. Bezczynne kodeki i tak zużywają trochę mocy procesora na ścieżce kodowania.
Rozwiązywanie problemów
Serwer nie uruchamia się
- Inny serwer VNC (np. Udostępnianie ekranu w macOS) może już zajmować port 5900. Zatrzymaj go w Ustawieniach systemowych → Ogólne → Udostępnianie albo zmień port w ustawieniach DeskVNCServer.
- Porty 5911 / 4010 / 8766 muszą być wolne. Sprawdź poleceniem
lsof -i :5911i podobnymi.
Klienci VNC nie mogą się uwierzytelnić
- Upewnij się, że hasło ma najwyżej 8 bajtów zgodnych z ASCII. Znaki wielobajtowe i dłuższe ciągi są po cichu obcinane przez uwierzytelnianie RFB DES.
- Jeśli celowo nie chcesz hasła, pozostaw pole puste i połącz się przeglądarką obsługującą tryb VNC bez uwierzytelniania.
QuickRemote nie może się sparować
- Sprawdź, czy telefon lub tablet jest w tej samej sieci Wi-Fi co Mac.
- Otwórz panel połączenia i odczytaj PIN ponownie. Kod PIN można wygenerować na nowo w Ustawieniach.
- Sprawdź ustawienia zapory macOS — połączenia przychodzące na portach QREX muszą być dozwolone.
Zdalne sterowanie działa z opóźnieniem
- Zmniejsz liczbę klatek na sekundę i maksymalne wymiary klatki w Ustawieniach.
- Wyłącz nieużywane funkcje (dźwięk, schowek, IME), aby odciążyć procesor.
Pliki nie są przesyłane
- Sprawdź, czy Włącz przesyłanie plików jest włączone. Przeglądanie tylko do odczytu działa bez Włącz modyfikacje plików.
- Jeśli przesyłanie się nie udaje, włącz także Włącz modyfikacje plików. W przeciwnym razie API plików odpowiada wyłącznie na żądania odczytu.
Prywatność
- Wszystkie sesje działają bezpośrednio między klientem a Twoim Makiem. Nie ma przekaźnika w chmurze, telemetrii ani analityki.
- Hasło VNC, token Bearer QREX, kod PIN parowania i stały identyfikator serwera są przechowywane wyłącznie w lokalnych ustawieniach aplikacji.
- Modyfikacje plików są domyślnie wyłączone. Zdalni klienci mogą tylko odczytywać dane, dopóki nie przyznasz im jawnie prawa zapisu.
- Każde rozszerzenie (dźwięk, schowek, przesyłanie plików, IME, zdalne sterowanie) możesz wyłączyć w dowolnej chwili, natychmiast odbierając to uprawnienie.
- Jeśli chcesz, aby serwer pozostał dostępny tylko na Twoim Macu, ustaw host nasłuchu na
127.0.0.1.