Запустіть стандартний VNC-сервер на Mac і діліться екраном, буфером обміну, файлами та навіть IME через QuickRemote — лише у локальній мережі, без хмарного ретранслятора.
Початок роботи
1. Установіть пароль
Відкрийте Налаштування (значок шестерні на нижній панелі інструментів) і введіть VNC-пароль. Стандартні VNC-клієнти використовують RFB DES challenge, який враховує лише перші 8 байтів, сумісних з ASCII, — виберіть пароль не довший за 8 символів.
2. Запустіть сервер
- У головному вікні натисніть Запустити. Індикатор стану зміниться на Працює.
- Одночасно запускаються чотири прослуховувачі: VNC
5900, керування QREX5911, медіа QREX4010та файловий API8766. - Натисніть Копіювати інформацію щоб скопіювати до буфера обміну один рядок із хостом, портами та поточним PIN.
3. Підключіть клієнт
Для стандартного переглядача VNC (macOS Screen Sharing, RealVNC, TightVNC, мобільні VNC-застосунки):
- Відкрийте переглядач і введіть
vnc://<your-mac-ip>:5900як адресу - Введіть VNC-пароль, заданий на кроці 1
- Одразу керуйте Mac — клавіатура, миша, копіювання/вставлення через RFB
Для застосунку QuickRemote:
- Відкрийте QuickRemote на телефоні чи планшеті, виберіть Додати Mac
- Введіть 6-значний PIN для сполучення, показаний DeskVNCServer (або відскануйте QR-код, якщо ваша збірка QuickRemote це підтримує)
- QuickRemote зберігає отриманий Bearer token і відкриває розширені можливості — IME, аудіо, синхронізацію буфера обміну та передавання файлів
Огляд інтерфейсу
Рядок стану
| Елемент | Опис |
|---|---|
| Мітка сервера | Ідентифікує цю панель. |
| Позначка стану | Працює поки прослуховувачі активні, Зупинено в іншому разі. |
Кнопки дій
- Запустити — Запустити всі чотири прослуховувачі.
- Зупинити — Закрити всі прослуховувачі та від’єднати активні сеанси.
- Копіювати інформацію — Скопіювати до буфера обміну коротке зведення підключення (хост, VNC-порт, порт керування, PIN) для зручного надсилання клієнту.
Панель підключення
Показує хост прив’язки, порти, поточний Server ID і активний PIN сполучення. Текст автоматично оновлюється, коли змінюються налаштування.
Панель API QuickRemote
Короткий довідник щодо протоколів, якими володіє сервер. Перелічує підтримувані версії RFB, форми кінцевих точок QREX та набір команд IME, щоб QuickRemote (або ваш власний клієнт) знав доступні можливості.
Протоколи й порти
| Сервіс | Порт за замовчуванням | Протокол | Використовується |
|---|---|---|---|
| VNC / RFB | TCP 5900 | RFB 3.8 / 3.7 / 3.3 | Будь-який стандартний VNC-клієнт |
| Керування QREX | TCP 5911 | HTTP JSON RPC + WebSocket | QuickRemote та інші клієнти QREX |
| Медіа QREX | UDP 4010 | Пакети, сумісні з QuickRemote | Повідомлення IME, потокове аудіо |
| Файловий API | TCP 8766 | HTTP, сумісний з 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-порт | 5900 | TCP-порт для стандартного прослуховувача RFB. |
| Порт керування QREX | 5911 | TCP-порт для трафіку HTTP + WebSocket QREX. |
| UDP-порт медіа QREX | 4010 | UDP-порт для пакетів побічного каналу IME та аудіо. |
| Порт файлового API QuickRemote | 8766 | TCP-порт для 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
- Finder → Go → Connect to Server
- Введіть
vnc://<your-mac-ip>:5900 - Введіть 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.