Anslut till en fjärrserver
Varje klient är en renderare över en cc_server som äger datan. Skrivbordsappen
kan köra en inuti sig själv; webbappen på app.usectrl.dev
kan inte det, eftersom en webbläsarflik inte kan vara värd för en server. Hur som
helst riktar den här guiden en klient mot en server som körs någon annanstans — en
liten burk, en moln-VM, en byggserver.
Förutsättningar
Avsnitt med rubriken “Förutsättningar”- En
cc_serversom körs. Har du ingen, se Kör en headless-server. - Antingen de tre parkopplingsvärden som servern har skapat — server-URL:en (
ws://…/rpcellerwss://…/rpc), ett enhets-ID och en parkopplingsnyckel — eller en engångs-inbjudningskod från en admin för arbetsytan. Att lösa in en inbjudan skapar din användare, registrerar ditt medlemskap och utfärdar den här klientens autentiseringsuppgift åt dig, så du hanterar aldrig ett enhets-ID eller en nyckel.
Se till att servern är nåbar
Avsnitt med rubriken “Se till att servern är nåbar”En lokal server behöver ingenting: ws://localhost:9030/rpc fungerar från både
skrivbordsappen och webbläsaren, eftersom webbläsare betraktar loopback som en
pålitlig origin.
En server på en annan maskin är en annan sak. app.usectrl.dev levereras över
HTTPS, så webbläsaren öppnar bara en wss://-socket med ett certifikat som den
redan litar på — och cc_server vägrar binda en adress utanför loopback utan TLS.
Ge den något av:
- ett certifikat direkt, med
--tls-certoch--tls-key - en TLS-avslutande proxy framför, med servern startad
--insecure(klartext bakom proxyn, endast i ett betrott nätverk) - en tunnel eller ett VPN som bidrar med certifikatet — Tailscale, cloudflared eller liknande. Inställningar → Server → Anslutning och status har den inbyggda tunnel-opt-in under Dela den här servern.
Två inställningar på serversidan är lätta att missa. Bakom en proxy, NAT eller
tunnel ställer du in --public-url på den adress som klienterna faktiskt ska
ringa — den har den lokala bind-adressen som standard, så utan den försöker
klienterna med fel värd. Och om du hostar din egen kopia av webbbygget lägger du
till dess origin i --allowed-origins, som bara har https://app.usectrl.dev som
standard; loopback och inbyggda klienter är alltid tillåtna.
Anslut skrivbordsappen
Avsnitt med rubriken “Anslut skrivbordsappen”Vid en ny installation:
- Starta Control Center. Skärmen vid första starten frågar Hur ska Control Center köras?
- I stället för Kör i den här appen fyller du i anslutningsfälten: server-URL:en, plus antingen en inbjudningskod eller ett enhets-ID och en parkopplingsnyckel.
- Klicka på Anslut. Control Center ringer upp servern och landar i arbetsytans inkorg.
På en skrivbordsapp som redan kör sin egen server:
- Öppna Inställningar → Server → Anslutning och status.
- Klicka på Lägg till server. Ange server-URL:en (
wss://host:9030/rpc) och antingen en inbjudningskod eller ett enhets-ID och en parkopplingsnyckel. Knappen i slutet av URL-fältet upptäckercc_server-instanser i ditt LAN eller tailnet. - Klicka på Anslut och sedan på Byt i den nya serverns rad.
Bytet sker live: appen bygger om sig själv kring den nya sessionen på plats, utan omstart. Om anslutningen misslyckas stannar du kvar på den aktuella servern och ser felet. Raden för servern du är på har ingen Byt-åtgärd; den lokala servern är den första raden, märkt Kör i den här appen.
När du har bytt äger skrivbordsappen ingen databas. Varje skärm läser och skriver via fjärrservern över en WebSocket.
Anslut webbklienten
Avsnitt med rubriken “Anslut webbklienten”Webbbygget är alltid fjärranslutet.
- Öppna app.usectrl.dev, eller din egen kopia av webbbygget.
- Ange server-URL:en plus antingen en inbjudningskod eller ett enhets-ID och en parkopplingsnyckel.
- Klienten ringer upp servern och renderar samma gränssnitt som skrivbordsappen.
Om en parkopplings-deep-link finns i URL:en är fälten förifyllda. Parkopplingsnyckeln färdas i URL-fragmentet, som webbläsare aldrig skickar till servern som hostar sidan, så den statiska värden ser den aldrig.
Vad webbläsaren inte gör
Avsnitt med rubriken “Vad webbläsaren inte gör”Webbklienten läser och skriver samma server som skrivbordsappen, men några ytor behöver ett inbyggt fönster eller maskinens egna enheter:
- inga OS-aviseringar, inga aviseringsljud och ingen rad med ambienta banners (aviseringscentret i appen fungerar fortfarande)
- ingen upptäckt av servrar i LAN eller tailnet i dialogen Lägg till server
- ingen artikelläsare i appen — artiklar i nyhetsflödet öppnas i en ny flik
- ingen omkörning av en mötessammanfattning och ingen avbrytning av en som bearbetas
Två av dem beter sig annorlunda i stället för att saknas. Mötes-inspelning fungerar i webbläsaren och fångar din mikrofon plus en skärmdelning som innehåller ett ljudspår. Öppna i IDE fungerar också, men ber servern starta redigeraren på serverns skärm, så knappen döljer sig mot en headless-värd utan installerade redigerare.
Felsökning
Avsnitt med rubriken “Felsökning”- Anslutningen tar timeout: servern måste vara nåbar från klienten. Kontrollera bindningen (
--bind any), att porten är öppen och att--public-urlanger den adress klienten faktiskt kan ringa. Över det öppna internet är TLS obligatoriskt — en klartextbindning utanför loopback avvisas vid start om inte servern startades--insecurebakom en proxy. - Webbläsaren vägrar ansluta men en inbyggd klient fungerar: webbläsarens origin finns inte i serverns
--allowed-origins-lista. Standardvärdet tillåter barahttps://app.usectrl.dev(plus loopback). - Parkopplingsnyckeln avvisas: kör
cc_server pairigen på servern för att rotera den enhetens nyckel och ange sedan den nya. En återkallad enhet upptäcker att dess autentiseringsuppgift är borta och faller stängt; en återkallning släpper en live-session inom några sekunder. - Fel arbetsyta: arbetsytan är en del av URL:en (
/workspaces/:workspaceId/…) och följer med varje anrop, så att byta arbetsyta i en klient ändrar bara din egen vy. Du kan bara nå arbetsytor där du är medlem — allt annat avvisas med “Not a member of this workspace”. Se Arbetsytor och isolering.
Relaterade guider
Avsnitt med rubriken “Relaterade guider”- Kör en headless-server
- Para en enhet: telefonens reläväg