DeskVNCServer - Посібник

Запустіть стандартний VNC-сервер на Mac і діліться екраном, буфером обміну, файлами та навіть IME через QuickRemote — лише у локальній мережі, без хмарного ретранслятора.


Початок роботи

1. Установіть пароль

Відкрийте Налаштування (значок шестерні на нижній панелі інструментів) і введіть VNC-пароль. Стандартні VNC-клієнти використовують RFB DES challenge, який враховує лише перші 8 байтів, сумісних з ASCII, — виберіть пароль не довший за 8 символів.

Про короткі паролі: Це обмеження самого протоколу RFB, а не DeskVNCServer. Якщо вам потрібна надійніша автентифікація, обмежте сервер приватною мережею або використовуйте потік QREX (Bearer token після PIN-сполучення) і вимкніть VNC-пароль.

2. Запустіть сервер

  1. У головному вікні натисніть Запустити. Індикатор стану зміниться на Працює.
  2. Одночасно запускаються чотири прослуховувачі: VNC 5900, керування QREX 5911, медіа QREX 4010та файловий API 8766.
  3. Натисніть Копіювати інформацію щоб скопіювати до буфера обміну один рядок із хостом, портами та поточним PIN.

3. Підключіть клієнт

Для стандартного переглядача VNC (macOS Screen Sharing, RealVNC, TightVNC, мобільні VNC-застосунки):

  1. Відкрийте переглядач і введіть vnc://<your-mac-ip>:5900 як адресу
  2. Введіть VNC-пароль, заданий на кроці 1
  3. Одразу керуйте Mac — клавіатура, миша, копіювання/вставлення через RFB

Для застосунку QuickRemote:

  1. Відкрийте QuickRemote на телефоні чи планшеті, виберіть Додати Mac
  2. Введіть 6-значний PIN для сполучення, показаний DeskVNCServer (або відскануйте QR-код, якщо ваша збірка QuickRemote це підтримує)
  3. QuickRemote зберігає отриманий Bearer token і відкриває розширені можливості — IME, аудіо, синхронізацію буфера обміну та передавання файлів

Огляд інтерфейсу

Рядок стану

ЕлементОпис
Мітка сервераІдентифікує цю панель.
Позначка стануПрацює поки прослуховувачі активні, Зупинено в іншому разі.

Кнопки дій

  • Запустити — Запустити всі чотири прослуховувачі.
  • Зупинити — Закрити всі прослуховувачі та від’єднати активні сеанси.
  • Копіювати інформацію — Скопіювати до буфера обміну коротке зведення підключення (хост, VNC-порт, порт керування, PIN) для зручного надсилання клієнту.

Панель підключення

Показує хост прив’язки, порти, поточний Server ID і активний PIN сполучення. Текст автоматично оновлюється, коли змінюються налаштування.

Панель API QuickRemote

Короткий довідник щодо протоколів, якими володіє сервер. Перелічує підтримувані версії RFB, форми кінцевих точок QREX та набір команд IME, щоб QuickRemote (або ваш власний клієнт) знав доступні можливості.


Протоколи й порти

СервісПорт за замовчуваннямПротоколВикористовується
VNC / RFBTCP 5900RFB 3.8 / 3.7 / 3.3Будь-який стандартний VNC-клієнт
Керування QREXTCP 5911HTTP JSON RPC + WebSocketQuickRemote та інші клієнти QREX
Медіа QREXUDP 4010Пакети, сумісні з QuickRemoteПовідомлення IME, потокове аудіо
Файловий APITCP 8766HTTP, сумісний з QuickRemoteПерегляд і передавання файлів

Автентифікація

  • VNC-клієнти — пароль RFB DES (перші 8 байтів налаштованого пароля, сумісних з ASCII).
  • Клієнти QREX — початковий обмін 6-значним PIN у POST /qr/v1/pair повертає Bearer token. Кожен наступний HTTP-виклик QREX і кадр WebSocket мають містити Authorization: Bearer <token>.
  • Якщо VNC-пароль порожній, сервер оголошує стандартний режим RFB без автентифікації. Корисно лише для довірених сегментів LAN.

Короткий довідник кінцевих точок 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

Налаштування

ПараметрЗа замовчуваннямОпис
Хост прив’язки0.0.0.0Інтерфейс для прослуховування. Установіть 127.0.0.1 для роботи лише з localhost.
VNC-порт5900TCP-порт для стандартного прослуховувача RFB.
Порт керування QREX5911TCP-порт для трафіку HTTP + WebSocket QREX.
UDP-порт медіа QREX4010UDP-порт для пакетів побічного каналу IME та аудіо.
Порт файлового API QuickRemote8766TCP-порт для API перегляду й передавання файлів.
VNC-пароль(порожньо)До 8 байтів, сумісних з ASCII. Порожнє значення означає відсутність автентифікації на каналі VNC.
Bearer token QREX(згенеровано)Активний токен, виданий під час сполучення. Згенеруйте повторно, повторивши сполучення або відредагувавши це поле.
PIN сполучення(згенеровано)6-значний PIN, що показується QuickRemote під час сполучення. Змінюється після повторної генерації.
Стабільний ID сервера(згенеровано)Довгостроковий ідентифікатор, який QuickRemote використовує для розпізнавання цього Mac.
Автоматично запускати серверВимкненоЗапускати прослуховувачі під час запуску застосунку.
Дозволити віддалену клавіатуру та мишуУвімкненоВимкніть, щоб сеанси були лише для перегляду.
Увімкнути міст IMEУвімкненоДозволити клієнтам QREX запитувати та керувати методом введення macOS.
Увімкнути аудіо APIВимкненоДозволити потокове передавання аудіо Opus через медіа UDP QREX. За замовчуванням вимкнено для заощадження CPU.
Увімкнути синхронізацію буфера обмінуУвімкненоСинхронізувати вміст буфера обміну між Mac і віддаленим клієнтом.
Увімкнути передавання файлівУвімкненоДозволити QuickRemote перелічувати й читати файли. Лише читання, якщо також не ввімкнено зміни.
Увімкнути зміни файлівВимкненоДозволити передавання, перейменування та видалення. За замовчуванням вимкнено — вмикайте лише для довірених клієнтів.
Максимальна ширина кадру1440Обмеження ширини захоплення екрана. Менші значення зменшують пропускну здатність.
Максимальна висота кадру900Обмеження висоти захоплення екрана.
Частота кадрів12Цільова кількість кадрів за секунду, що надсилаються клієнтам.

Приклади клієнтів

macOS Screen Sharing

  1. Finder → Go → Connect to Server
  2. Введіть vnc://<your-mac-ip>:5900
  3. Введіть VNC-пароль

cURL — виявлення можливостей

curl http://<your-mac-ip>:5911/qr/v1/capabilities

cURL — сполучення та виклик моста IME

# 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"}'

Поради

  • Зменшуйте частоту кадрів і максимальні розміри кадру, коли маєте повільне Wi-Fi-з’єднання або спрямовуєте підключення через VPN.
  • Сполучіть кожен пристрій один раз. Після початкового обміну PIN Bearer token переживає перезапуски, тому QuickRemote перепідключається безшумно.
  • Використовуйте Копіювати інформацію як швидкий спосіб надіслати відомості про підключення в чаті чи електронною поштою — він містить усе необхідне клієнту.
  • Тримайте Увімкнути зміни файлів вимкненим, якщо вам справді не потрібні завантаження. Режиму лише читання достатньо для перегляду знімків екрана, нотаток або завантажень.
  • Вимикайте аудіо API, коли не використовуєте його. Неактивні кодеки все ще споживають трохи CPU на шляху кодування.

Усунення несправностей

Сервер не запускається

  • Інший VNC-сервер (наприклад, macOS Screen Sharing) уже може використовувати порт 5900. Зупиніть його в System Settings → General → Sharing або змініть порт у налаштуваннях DeskVNCServer.
  • Порти 5911 / 4010 / 8766 мають бути вільними. Перевірте командою lsof -i :5911 та подібними.

VNC-клієнтам не вдається пройти автентифікацію

  • Переконайтеся, що пароль містить не більше 8 байтів, сумісних з ASCII. Багатобайтові символи або довші рядки непомітно обрізаються автентифікацією RFB DES.
  • Якщо ви навмисно не хочете пароль, залиште поле порожнім і підключайтеся переглядачем, який підтримує VNC без автентифікації.

QuickRemote не може виконати сполучення

  • Переконайтеся, що телефон або планшет підключено до тієї самої Wi-Fi-мережі, що й Mac.
  • Відкрийте панель Підключення й повторно перегляньте PIN. PIN можна згенерувати знову в Налаштуваннях.
  • Перевірте налаштування брандмауера macOS — вхідні підключення на порти QREX мають бути дозволені.

Віддалене керування працює із затримкою

  • Зменшіть частоту кадрів і максимальні розміри кадру в Налаштуваннях.
  • Вимкніть функції, якими не користуєтеся (аудіо, буфер обміну, IME), щоб звільнити CPU.

Файли не передаються

  • Переконайтеся, що Увімкнути передавання файлів увімкнено. Списки лише для читання працюють без Увімкнути зміни файлів.
  • Якщо передавання не вдається, також увімкніть Увімкнути зміни файлів. Інакше файловий API відповідає лише на запити читання.

Конфіденційність

  • Усі сеанси працюють безпосередньо між клієнтом і вашим Mac. Немає хмарного ретранслятора, телеметрії чи аналітики.
  • VNC-пароль, QREX Bearer token, PIN сполучення та стабільний Server ID зберігаються лише в локальних налаштуваннях застосунку.
  • Зміни файлів за замовчуванням вимкнено. Віддалені клієнти можуть лише читати, доки ви явно не надасте доступ на запис.
  • Будь-коли вимкніть будь-яке розширення (аудіо, буфер обміну, передавання файлів, IME, віддалене введення), щоб негайно відкликати цю можливість.
  • Якщо бажаєте залишити сервер локальним для Mac, установіть хост прив’язки на 127.0.0.1.