Rulați un server VNC standard pe Mac-ul dvs. și partajați ecranul, clipboard-ul, fișierele și chiar IME-ul cu QuickRemote — totul în rețeaua locală, fără releu cloud.
Primii pași
1. Setați o parolă
Deschideți Setări (pictograma roată dințată, bara de jos) și completați parola VNC. Clienții VNC standard folosesc challenge-ul RFB DES, care onorează doar primii 8 octeți compatibili ASCII — alegeți o parolă de cel mult 8 caractere.
2. Porniți serverul
- În fereastra principală, faceți clic pe Start. Indicatorul de stare comută la Running.
- Patru ascultători pornesc simultan: VNC
5900, QREX control5911, QREX media4010și file API8766. - Faceți clic pe Copy Info pentru a copia un text pe o linie cu host-ul, porturile și PIN-ul curent în clipboard.
3. Conectați un client
Pentru un vizualizator VNC standard (macOS Screen Sharing, RealVNC, TightVNC, aplicații VNC mobile):
- Deschideți vizualizatorul și introduceți
vnc://<your-mac-ip>:5900ca adresă - Tastați parola VNC setată la pasul 1
- Controlați-vă Mac-ul imediat — tastatură, mouse, copiere/lipire prin RFB
Pentru aplicația QuickRemote:
- Deschideți QuickRemote pe telefon sau tabletă, alegeți Add Mac
- Introduceți PIN-ul de asociere de 6 cifre afișat de DeskVNCServer (sau scanați codul QR dacă versiunea dvs. QuickRemote o suportă)
- QuickRemote stochează token-ul Bearer returnat și deblochează caracteristicile extinse — IME, audio, sincronizare clipboard și transfer de fișiere
Prezentare generală a interfeței
Rândul de stare
| Element | Descriere |
|---|---|
| Etichetă server | Identifică acest panou. |
| Insignă de stare | Running când ascultătorii sunt activi, altfel Stopped. |
Butoane de acțiune
- Start — Pornește toți cei patru ascultători.
- Stop — Închide fiecare ascultător și deconectează sesiunile active.
- Copy Info — Copiază un rezumat scurt al conexiunii (host, port VNC, port control, PIN) în clipboard pentru partajare ușoară cu un client.
Panou de conexiune
Afișează bind host, porturile, Server ID-ul curent și PIN-ul de asociere activ. Textul este reîmprospătat automat când setările se schimbă.
Panou QuickRemote API
Referință rapidă pentru protocoalele pe care le folosește serverul. Listează versiunile RFB acceptate, formele endpoint-urilor QREX și setul de comenzi IME astfel încât QuickRemote (sau clientul dvs.) să știe ce este disponibil.
Protocoale și porturi
| Serviciu | Port implicit | Protocol | Folosit de |
|---|---|---|---|
| VNC / RFB | TCP 5900 | RFB 3.8 / 3.7 / 3.3 | Orice client VNC standard |
| QREX control | TCP 5911 | HTTP JSON RPC + WebSocket | QuickRemote și alți clienți QREX |
| QREX media | UDP 4010 | Pachete compatibile QuickRemote | Mesaje IME, streaming audio |
| File API | TCP 8766 | HTTP compatibil QuickRemote | Navigarea și transferul fișierelor |
Autentificare
- Clienți VNC — Parolă RFB DES (primii 8 octeți compatibili ASCII ai parolei configurate).
- Clienți QREX — Schimbul inițial al PIN-ului de 6 cifre la
POST /qr/v1/pairreturnează un token Bearer. Fiecare apel HTTP QREX ulterior și cadru WebSocket trebuie să includăAuthorization: Bearer <token>. - Dacă parola VNC este goală, serverul anunță modul RFB no-auth standard. Util doar pentru segmente LAN de încredere.
Referință rapidă a endpoint-urilor QREX
GET /qr/v1/capabilities # public, returns supported features
POST /qr/v1/pair # public, exchange PIN for Bearer token
GET /qr/v1/ws # WebSocket, auth required
POST /qr/v1/ime/get # auth required, query active IME
POST /qr/v1/ime/list # auth required, list available IMEs
POST /qr/v1/ime/set # auth required, switch IME
POST /qr/v1/ime/toggle # auth required, toggle IME on/off
POST /qr/v1/ime/commit # auth required, commit a text string
Setări
| Setare | Implicit | Descriere |
|---|---|---|
| Bind host | 0.0.0.0 | Interfața pe care se ascultă. Setați la 127.0.0.1 doar pentru localhost. |
| Port VNC | 5900 | Port TCP pentru ascultătorul RFB standard. |
| Port QREX control | 5911 | Port TCP pentru traficul HTTP + WebSocket QREX. |
| Port UDP QREX media | 4010 | Port UDP pentru pachete laterale IME și audio. |
| Port QuickRemote file API | 8766 | Port TCP pentru API-ul de navigare și transfer fișiere. |
| Parolă VNC | (gol) | Până la 8 octeți compatibili ASCII. Gol înseamnă no-auth pe canalul VNC. |
| QREX bearer token | (generat) | Token activ emis la asociere. Regenerați prin reasociere sau editarea acestui câmp. |
| PIN de asociere | (generat) | PIN de 6 cifre afișat în QuickRemote în timpul asocierii. Se rotește când regenerați. |
| Server ID stabil | (generat) | Identificator de lungă durată pe care QuickRemote îl folosește pentru a recunoaște acest Mac. |
| Pornire automată a serverului | Off | Pornește ascultătorii la lansarea aplicației. |
| Permite tastatură și mouse la distanță | On | Dezactivați pentru ca sesiunile să fie doar pentru vizualizare. |
| Activează IME bridge | On | Permite clienților QREX să interogheze și să controleze metoda de intrare macOS. |
| Activează audio API | Off | Permite streaming audio Opus prin QREX media UDP. Dezactivat implicit pentru a economisi CPU. |
| Activează sincronizarea clipboard | On | Reflectă conținutul clipboard între Mac și clientul de la distanță. |
| Activează transferul de fișiere | On | Permite QuickRemote să listeze și să citească fișiere. Doar citire dacă mutațiile nu sunt și ele activate. |
| Activează mutațiile fișierelor | Off | Permite încărcări, redenumiri și ștergeri. Dezactivat implicit — activați doar pentru clienți de încredere. |
| Lățime maximă cadru | 1440 | Limita pentru lățimea capturii ecranului. Valori mai mici reduc lățimea de bandă. |
| Înălțime maximă cadru | 900 | Limita pentru înălțimea capturii ecranului. |
| Rată de cadre | 12 | Numărul țintă de cadre pe secundă trimise clienților. |
Exemple de clienți
macOS Screen Sharing
- Finder → Go → Connect to Server
- Tastați
vnc://<your-mac-ip>:5900 - Introduceți parola VNC
cURL — descoperirea capabilităților
curl http://<your-mac-ip>:5911/qr/v1/capabilities
cURL — asociere și apelarea IME bridge
# 1. Exchange the PIN for a Bearer token
TOKEN=$(curl -s http://<your-mac-ip>:5911/qr/v1/pair \
-H "Content-Type: application/json" \
-d '{"pin":"123456"}' | jq -r .token)
# 2. Commit text via the IME bridge
curl http://<your-mac-ip>:5911/qr/v1/ime/commit \
-H "Authorization: Bearer $TOKEN" \
-H "Content-Type: application/json" \
-d '{"text":"hello from remote"}'
Sfaturi
- Reduceți rata de cadre și dimensiunile maxime ale cadrului când sunteți pe o legătură Wi-Fi lentă sau dirijați conexiunea prin VPN.
- Asociați fiecare dispozitiv o dată. După schimbul inițial de PIN, token-ul Bearer supraviețuiește repornirilor, astfel încât QuickRemote se reconectează silențios.
- Folosiți Copy Info ca mod rapid de a trimite detaliile conexiunii prin chat sau email — include tot ce are nevoie un client.
- Lăsați Enable file mutations dezactivat decât dacă chiar aveți nevoie de încărcări. Modul doar pentru citire este suficient pentru a naviga capturi de ecran, notițe sau descărcări.
- Dezactivați audio API când nu îl folosiți. Codecurile inactive încă costă o cantitate mică de CPU pe calea de codificare.
Depanare
Serverul nu pornește
- Un alt server VNC (de ex. macOS Screen Sharing) ar putea fi deja pe portul 5900. Opriți-l din System Settings → General → Sharing sau schimbați portul în setările DeskVNCServer.
- Porturile 5911 / 4010 / 8766 trebuie să fie toate libere. Verificați cu
lsof -i :5911și similare.
Clienții VNC nu se autentifică
- Asigurați-vă că parola are cel mult 8 octeți compatibili ASCII. Caracterele multibyte sau șirurile mai lungi sunt trunchiate silențios de autentificarea RFB DES.
- Dacă doriți intenționat fără parolă, lăsați câmpul gol și conectați-vă cu un vizualizator care suportă VNC no-auth.
QuickRemote nu se poate asocia
- Confirmați că telefonul sau tableta este pe același Wi-Fi ca Mac-ul.
- Deschideți panoul Connection și citiți din nou PIN-ul. PIN-ul poate fi regenerat din Setări.
- Verificați setările firewall macOS — conexiunile primite pe porturile QREX trebuie să fie permise.
Controlul la distanță este lent
- Reduceți rata de cadre și dimensiunile maxime ale cadrului în Setări.
- Dezactivați caracteristicile pe care nu le folosiți (audio, clipboard, IME) pentru a elibera CPU.
Fișierele nu se transferă
- Confirmați că Enable file transfer este activat. Listarea doar pentru citire funcționează fără Enable file mutations.
- Dacă încărcările eșuează, activați și Enable file mutations. Altfel file API răspunde doar la cererile de citire.
Confidențialitate
- Toate sesiunile rulează direct între client și Mac-ul dvs. Nu există releu cloud, telemetrie sau analitică.
- Parola VNC, token-ul QREX Bearer, PIN-ul de asociere și Server ID-ul stabil sunt stocate doar în setările locale ale aplicației.
- Mutațiile fișierelor sunt dezactivate implicit. Clienții de la distanță pot doar citi până când acordați explicit acces de scriere.
- Dezactivați orice extensie (audio, clipboard, transfer fișiere, IME, intrare de la distanță) în orice moment pentru a revoca imediat acea capabilitate.
- Dacă doriți să păstrați serverul local pentru Mac-ul dvs., setați bind host la
127.0.0.1.