DeskVNCServer - Panduan

Jalankan server VNC standar di Mac Anda dan bagikan layar, papan klip, berkas, bahkan IME dengan QuickRemote — semuanya di jaringan lokal Anda, tanpa relai cloud.


Memulai

1. Tetapkan Kata Sandi

Buka Pengaturan (ikon roda gigi di bilah alat bawah) lalu isi Kata sandi VNC. Klien VNC standar memakai tantangan DES RFB yang hanya menghormati 8 byte pertama yang kompatibel dengan ASCII — pilih kata sandi tidak lebih dari 8 karakter.

Tentang kata sandi pendek: Ini adalah keterbatasan protokol RFB itu sendiri, bukan DeskVNCServer. Jika Anda memerlukan autentikasi yang lebih kuat, batasi server ke jaringan privat atau gunakan alur QREX (token Bearer setelah pemasangan PIN) dan nonaktifkan kata sandi VNC.

2. Jalankan Server

  1. Di jendela utama, klik Mulai. Indikator status akan berubah menjadi Berjalan.
  2. Empat listener aktif sekaligus: VNC 5900, kontrol QREX 5911, media QREX 4010, dan API berkas 8766.
  3. Klik Salin Info untuk menyalin satu baris berisi host, port, dan PIN saat ini ke papan klip Anda.

3. Hubungkan Klien

Untuk penampil VNC standar (macOS Screen Sharing, RealVNC, TightVNC, aplikasi VNC seluler):

  1. Buka penampil lalu masukkan vnc://<your-mac-ip>:5900 sebagai alamatnya
  2. Ketik kata sandi VNC yang Anda tetapkan pada langkah 1
  3. Kendalikan Mac Anda seketika — papan ketik, tetikus, salin/tempel melalui RFB

Untuk aplikasi QuickRemote:

  1. Buka QuickRemote di ponsel atau tablet, lalu pilih Tambah Mac
  2. Masukkan PIN pemasangan 6 digit yang ditampilkan DeskVNCServer (atau pindai kode QR jika versi QuickRemote Anda mendukungnya)
  3. QuickRemote menyimpan token Bearer yang diterima dan membuka fitur lanjutan — IME, audio, sinkronisasi papan klip, dan transfer berkas

Sekilas Antarmuka

Baris Status

ElemenDeskripsi
Label serverMenandai panel ini.
Lencana statusBerjalan selama listener aktif, Berhenti jika tidak.

Tombol Aksi

  • Mulai — Mengaktifkan keempat listener sekaligus.
  • Hentikan — Menutup semua listener dan memutus sesi yang sedang aktif.
  • Salin Info — Menyalin ringkasan koneksi singkat (host, port VNC, port kontrol, PIN) ke papan klip agar mudah dibagikan kepada klien.

Panel Koneksi

Menampilkan host bind, port, Server ID saat ini, dan PIN pemasangan yang aktif. Teksnya diperbarui otomatis ketika pengaturan berubah.

Panel API QuickRemote

Referensi singkat untuk protokol yang dipakai server. Mencantumkan versi RFB yang didukung, bentuk endpoint QREX, dan kumpulan perintah IME sehingga QuickRemote (atau klien buatan Anda sendiri) tahu apa saja yang tersedia.


Protokol dan Port

LayananPort defaultProtokolDipakai oleh
VNC / RFBTCP 5900RFB 3.8 / 3.7 / 3.3Klien VNC standar apa pun
Kontrol QREXTCP 5911HTTP JSON RPC + WebSocketQuickRemote dan klien QREX lainnya
Media QREXUDP 4010Paket yang kompatibel dengan QuickRemotePesan IME, streaming audio
API BerkasTCP 8766HTTP yang kompatibel dengan QuickRemoteMenjelajah dan mentransfer berkas

Autentikasi

  • Klien VNC — Kata sandi DES RFB (8 byte pertama yang kompatibel dengan ASCII dari kata sandi yang dikonfigurasi).
  • Klien QREX — Pertukaran PIN 6 digit awal di POST /qr/v1/pair mengembalikan token Bearer. Setiap panggilan HTTP QREX dan frame WebSocket berikutnya harus menyertakan Authorization: Bearer <token>.
  • Jika kata sandi VNC dikosongkan, server mengumumkan mode RFB tanpa autentikasi. Hanya cocok untuk segmen LAN tepercaya.

Referensi singkat endpoint 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

Pengaturan

PengaturanDefaultDeskripsi
Host bind0.0.0.0Antarmuka tempat server mendengarkan. Setel ke 127.0.0.1 untuk hanya localhost.
Port VNC5900Port TCP untuk listener RFB standar.
Port kontrol QREX5911Port TCP untuk lalu lintas QREX HTTP + WebSocket.
Port UDP media QREX4010Port UDP untuk paket kanal samping IME dan audio.
Port API berkas QuickRemote8766Port TCP untuk API penjelajahan dan transfer berkas.
Kata sandi VNC(kosong)Maksimal 8 byte yang kompatibel dengan ASCII. Kosong berarti tanpa autentikasi pada kanal VNC.
Token bearer QREX(dihasilkan otomatis)Token aktif yang diterbitkan saat pemasangan. Buat ulang dengan memasangkan kembali atau menyunting kolom ini.
PIN pemasangan(dihasilkan otomatis)PIN 6 digit yang ditampilkan ke QuickRemote saat pemasangan. Berganti setiap kali Anda membuatnya ulang.
ID server tetap(dihasilkan otomatis)Pengenal berumur panjang yang dipakai QuickRemote untuk mengenali Mac ini.
Jalankan server secara otomatisNonaktifMengaktifkan listener saat aplikasi dijalankan.
Izinkan papan ketik dan tetikus jarak jauhAktifMatikan untuk menjadikan sesi hanya-lihat.
Aktifkan jembatan IMEAktifIzinkan klien QREX menanyakan dan mengendalikan metode input macOS.
Aktifkan API audioNonaktifIzinkan streaming audio Opus melalui UDP media QREX. Nonaktif secara default untuk menghemat CPU.
Aktifkan sinkronisasi papan klipAktifMenyelaraskan isi papan klip antara Mac dan klien jarak jauh.
Aktifkan transfer berkasAktifIzinkan QuickRemote menampilkan dan membaca berkas. Hanya-baca kecuali perubahan berkas ikut diaktifkan.
Aktifkan perubahan berkasNonaktifIzinkan unggah, ubah nama, dan hapus. Nonaktif secara default — aktifkan hanya untuk klien tepercaya.
Lebar frame maksimum1440Batas lebar tangkapan layar. Nilai yang lebih kecil menghemat bandwidth.
Tinggi frame maksimum900Batas tinggi tangkapan layar.
Laju frame12Target frame per detik yang dikirim ke klien.

Contoh Klien

macOS Screen Sharing

  1. Finder → Go → Connect to Server
  2. Ketik vnc://<your-mac-ip>:5900
  3. Masukkan kata sandi VNC

cURL — menemukan kemampuan

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

cURL — memasangkan dan memanggil jembatan 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"}'

Tips

  • Turunkan laju frame dan dimensi frame maksimum saat Anda berada di koneksi Wi-Fi yang lambat atau menyalurkan koneksi lewat VPN.
  • Pasangkan setiap perangkat sekali saja. Setelah pertukaran PIN awal, token Bearer bertahan melewati mulai ulang, sehingga QuickRemote terhubung kembali tanpa campur tangan Anda.
  • Gunakan Salin Info sebagai cara cepat mengirim detail koneksi lewat obrolan atau surel — di dalamnya sudah ada semua yang dibutuhkan klien.
  • Biarkan Aktifkan perubahan berkas tetap nonaktif kecuali Anda benar-benar membutuhkan unggahan. Mode hanya-baca sudah cukup untuk menjelajah tangkapan layar, catatan, atau unduhan.
  • Nonaktifkan API audio saat tidak dipakai. Codec yang menganggur tetap memakan sedikit CPU pada jalur enkode.

Pemecahan Masalah

Server tidak mau dijalankan

  • Server VNC lain (mis. macOS Screen Sharing) mungkin sudah memakai port 5900. Hentikan lewat System Settings → General → Sharing, atau ubah portnya di pengaturan DeskVNCServer.
  • Port 5911 / 4010 / 8766 semuanya harus bebas. Periksa dengan lsof -i :5911 dan perintah sejenisnya.

Klien VNC gagal melakukan autentikasi

  • Pastikan kata sandi paling banyak 8 byte yang kompatibel dengan ASCII. Karakter multibyte atau teks yang lebih panjang dipangkas diam-diam oleh autentikasi DES RFB.
  • Jika Anda memang sengaja tidak ingin memakai kata sandi, kosongkan kolomnya lalu hubungkan dengan penampil yang mendukung VNC tanpa autentikasi.

QuickRemote tidak bisa dipasangkan

  • Pastikan ponsel atau tablet berada di Wi-Fi yang sama dengan Mac.
  • Buka panel Koneksi lalu baca ulang PIN-nya. PIN dapat dibuat ulang dari Pengaturan.
  • Periksa pengaturan firewall macOS — koneksi masuk pada port QREX harus diizinkan.

Kendali jarak jauh terasa lambat

  • Turunkan laju frame dan dimensi frame maksimum di Pengaturan.
  • Nonaktifkan fitur yang tidak Anda pakai (audio, papan klip, IME) untuk melegakan CPU.

Berkas tidak terkirim

  • Pastikan Aktifkan transfer berkas sudah aktif. Daftar hanya-baca tetap berfungsi tanpa Aktifkan perubahan berkas.
  • Jika unggahan gagal, aktifkan juga Aktifkan perubahan berkas. Jika tidak, API berkas hanya menanggapi permintaan baca.

Privasi

  • Semua sesi berjalan langsung antara klien dan Mac Anda. Tidak ada relai cloud, tidak ada telemetri, tidak ada analitik.
  • Kata sandi VNC, token Bearer QREX, PIN pemasangan, dan ID Server tetap hanya disimpan di pengaturan aplikasi lokal.
  • Perubahan berkas nonaktif secara default. Klien jarak jauh hanya dapat membaca sampai Anda memberikan akses tulis secara eksplisit.
  • Nonaktifkan ekstensi apa pun (audio, papan klip, transfer berkas, IME, input jarak jauh) kapan saja untuk mencabut kemampuan itu seketika.
  • Jika Anda ingin server tetap lokal di Mac Anda, setel host bind ke 127.0.0.1.