Langkau ke kandungan

Sambung ke pelayan jauh

Setiap klien ialah pemapar kepada cc_server yang memiliki data. Desktop boleh menjalankan satu di dalam dirinya sendiri; apl web di app.usectrl.dev tidak boleh, kerana tab penyemak imbas tidak boleh menghoskan pelayan. Sama ada cara, panduan ini menghalakan klien ke pelayan yang berjalan di tempat lain — kotak kecil, VM awan, pelayan binaan.

  • cc_server yang sedang berjalan. Jika anda belum mempunyainya, lihat Jalankan pelayan tanpa kepala.
  • Sama ada tiga nilai penggandingan yang ditempa oleh pelayan — URL pelayan (ws://…/rpc atau wss://…/rpc), id peranti dan kunci penggandingan — atau kod jemputan sekali guna daripada pentadbir ruang kerja. Menebus jemputan akan memperuntukkan pengguna anda, merekodkan keahlian anda dan menempa kelayakan klien ini untuk anda, jadi anda tidak pernah mengendalikan id peranti atau kunci.

Pelayan setempat tidak memerlukan apa-apa: ws://localhost:9030/rpc berfungsi daripada desktop dan penyemak imbas, kerana penyemak imbas menganggap loopback sebagai asalan yang boleh dipercayai.

Pelayan pada mesin lain berbeza. app.usectrl.dev disajikan melalui HTTPS, jadi penyemak imbas hanya akan membuka soket wss:// dengan sijil yang sudah dipercayainya — dan cc_server memang enggan mengikat alamat bukan loopback tanpa TLS sejak awal. Berikan salah satu daripadanya:

  • sijil secara terus, dengan --tls-cert dan --tls-key
  • proksi terbalik penamat TLS di hadapan, dengan pelayan dimulakan --insecure (teks biasa di belakang proksi, pada rangkaian yang dipercayai sahaja)
  • terowong atau VPN yang membekalkan sijil itu — Tailscale, cloudflared atau seumpamanya. Tetapan → Pelayan → Sambungan & status mempunyai pilihan menyertai terowong terbina dalam di bawah Kongsi pelayan ini.

Dua tetapan pada sisi pelayan mudah terlepas pandang. Di belakang proksi, NAT atau terowong, tetapkan --public-url kepada alamat yang sepatutnya didail oleh klien — ia lalai kepada ikatan setempat, jadi tanpanya klien akan mencuba hos yang salah. Dan jika anda menghoskan salinan binaan web anda sendiri, tambahkan asalannya ke --allowed-origins, yang lalai kepada https://app.usectrl.dev sahaja; klien loopback dan natif sentiasa dibenarkan.

Pada pemasangan baharu:

  1. Lancarkan Control Center. Skrin larian pertama bertanya Bagaimana Control Center patut berjalan?
  2. Daripada Jalankan dalam apl ini, isikan medan sambungan: URL pelayan, serta sama ada kod jemputan atau id peranti dan kunci penggandingan.
  3. Klik Sambung. Control Center mendail pelayan dan mendarat di peti masuk ruang kerja.

Pada desktop yang sudah menjalankan pelayannya sendiri:

  1. Buka Tetapan → Pelayan → Sambungan & status.
  2. Klik Tambah pelayan. Masukkan URL pelayan (wss://host:9030/rpc) dan sama ada kod jemputan atau id peranti dan kunci penggandingan. Butang akhiran medan URL menemui instans cc_server pada LAN atau tailnet anda.
  3. Klik Sambung, kemudian Tukar pada baris pelayan baharu itu.

Peralihan berlaku secara langsung: apl dibina semula di sekeliling sesi baharu di tempatnya, tanpa permulaan semula. Jika sambungan gagal, anda kekal pada pelayan semasa dan melihat ralat itu. Baris untuk pelayan yang anda gunakan tiada tindakan Tukar; pelayan setempat ialah baris pertama, berlabel Jalankan dalam apl ini.

Sebaik sahaja bertukar, desktop tidak memiliki pangkalan data. Setiap skrin membaca dan menulis melalui pelayan jauh itu melalui WebSocket.

Binaan web sentiasa jauh.

  1. Buka app.usectrl.dev, atau salinan binaan web anda sendiri.
  2. Masukkan URL pelayan serta sama ada kod jemputan atau id peranti dan kunci penggandingan.
  3. Klien mendail pelayan dan memaparkan antara muka yang sama seperti desktop.

Jika URL mengandungi pautan mendalam penggandingan, medan-medan itu telah diisi terlebih dahulu. Kunci penggandingan menunggang dalam serpihan URL, yang tidak pernah dihantar oleh penyemak imbas kepada pelayan yang menghoskan halaman itu, jadi hos statik tidak pernah melihatnya.

Klien web membaca dan menulis pelayan yang sama seperti desktop, tetapi beberapa permukaan memerlukan tetingkap natif atau peranti mesin itu sendiri:

  • tiada toast pemberitahuan OS, bunyi pemberitahuan atau rel sepanduk ambien (pusat pemberitahuan dalam apl masih berfungsi)
  • tiada penemuan pelayan LAN atau tailnet dalam dialog Tambah pelayan
  • tiada pembaca artikel dalam apl — artikel suapan berita dibuka dalam tab baharu
  • tiada menjalankan semula ringkasan mesyuarat dan tiada pembatalan ringkasan yang sedang diproses

Dua ciri berkelakuan berbeza dan bukannya tidak ada. Rakaman mesyuarat berfungsi dalam penyemak imbas, menangkap mikrofon anda serta kongsi skrin yang merangkumi trek audio. Buka dalam IDE juga berfungsi, tetapi meminta pelayan melancarkan editor pada paparan pelayan, jadi butang itu menyembunyikan dirinya terhadap hos tanpa kepala yang tiada editor dipasang.

  • Sambungan tamat masa: pelayan mesti boleh dicapai daripada klien. Semak ikatan (--bind any), bahawa port terbuka dan bahawa --public-url menamakan alamat yang benar-benar boleh didail oleh klien. Di internet terbuka, TLS adalah wajib — ikatan bukan loopback teks biasa ditolak semasa permulaan melainkan pelayan dimulakan --insecure di belakang proksi.
  • Penyemak imbas enggan bersambung tetapi klien natif berfungsi: asalan penyemak imbas tiada dalam senarai --allowed-origins pelayan. Lalai hanya membenarkan https://app.usectrl.dev (serta loopback).
  • Kunci penggandingan ditolak: jalankan semula cc_server pair pada pelayan untuk memutar kunci peranti itu, kemudian masukkan kunci baharu. Peranti yang ditarik balik mendapati kelayakannya sudah hilang dan gagal secara tertutup; penarikan balik menggugurkan sesi langsung dalam beberapa saat.
  • Ruang kerja salah: ruang kerja ialah sebahagian daripada URL (/workspaces/:workspaceId/…) dan bergerak bersama setiap panggilan, jadi bertukar ruang kerja dalam satu klien hanya mengubah paparan anda sendiri. Anda hanya boleh mencapai ruang kerja yang anda menjadi ahli — selain itu ditolak dengan “Not a member of this workspace”. Lihat Ruang kerja dan pengasingan.