Přesměrujte porty z terminálu
Server, který spustíš v terminálu konverzace, se vystaví jen pro tenhle prostor. Panel Předané porty si všimne posluchačů, které tam tahle aplikace spustila, namapuje je a dá ti adresu pro každé místo, odkud se k nim chceš dostat. Dva prostory můžou oba naslouchat na 5173; jejich mapy se nikdy nesmíchají.
Nic z tohohle stroj neotevírá: každou cestu vytvoří server, na požádání, a ta zanikne s terminálem nebo stanicí.
Podívej se, co naslouchá
Sekce “Podívej se, co naslouchá”- Otevři Terminal (VM) konverzace nebo shell hostitele (v prostoru, nebo na stránce PR).
- Spusť server —
pnpm dev,python -m http.server 8000, cokoli. - Během pár sekund dostane ikona zástrčky v pravém horním rohu terminálu tečku. Klikni na ni.
Panel vypíše každý naslouchající port i s procesem, který ho vlastní, ve tvaru
3000 → 3000: vlevo port, na který se proces navázal, vpravo port, na kterém
odpovídá místně (stejné číslo, kdykoli bylo na tvém stroji volné). Každý řádek
taky řekne, jestli na něj dosáhne desktopové localhost, Browser (VM)
a Android.
Zjišťování zůstává uvnitř: u Terminal (VM) se posluchači hledají v tom hostu, u shellu hostitele ve stromu procesů PTY té relace. Ostatní prostory a ostatní procesy na tvém Macu v seznamu nejsou.
Nové porty v tomhle terminálu se předávají automaticky. Automaticky předávat porty vypni ve stejném panelu, když chceš jen ty, které přidáš sám.
Dostaň se k němu z tohohle počítače
Sekce “Dostaň se k němu z tohohle počítače”Na řádku použij Kopírovat místní URL — http://localhost:3000. Předání
naslouchá jen na loopbacku, takže ho ve tvé síti nikdo jiný neuvidí.
Když dva prostory vystaví 5173 hosta a tvůj stroj už drží
127.0.0.1:5173, druhý prostor si 5173 hosta nechá a dostane
dočasný místní port. Kopírovat místní URL bere číslo vpravo.
U shellu hostitele už proces běží na tvém stroji. Namapovat stejný místní port nic neudělá; když zvolíš jiný místní port, naváže se loopbacková proxy na ten, který sis vybral.
--host (nebo navázání na 0.0.0.0) uzavřenému Browser (VM)
neumožní dosáhnout serveru na Macu. Host má vlastní loopback; server
do toho hosta zasadí tunel, když je karta Browser ve
stejném prostoru.
Dostaň se k němu z Browser (VM)
Sekce “Dostaň se k němu z Browser (VM)”Otevři uzavřený prohlížeč ve stejné konverzaci. Napiš
localhost:<left-hand port> — číslo, na které se proces navázal. Přemapování
(5173 → 3000) v tom prohlížeči odpovídá i na čísle vpravo, takže
tam Kopírovat místní URL funguje taky. Agentovo browser_use umí přejít
na kteroukoli z nich.
Server v Prostoru A se v prohlížeči Prostoru B nikdy neobjeví jako localhost:5173.
Používej localhost, ne IP adresu v LAN a ne --host. Host má vlastní
loopback; tunel tam naslouchá na IPv4 i na IPv6.
Stránky, které najednou otevřou spoustu spojení (desítky assetů, socket live reloadu), sdílejí tentýž tunel. Browser (VM) je multiplexuje na jeden trvalý exec, takže příval fetchů není spawn procesu na každé spojení a nevyprší jako bílá stránka.
Uvnitř jednoho prostoru má předání z Terminal (VM) přednost před shellem hostitele na stejném čísle. Napříč prostory přednost není — mapy jsou oddělené.
Dostaň se k němu z Androidu
Sekce “Dostaň se k němu z Androidu”Otevři kartu Android toho prostoru. localhost:<port> emulátoru se
pak reverzně přepojí na vystavený port tohohle prostoru (adb reverse). Jeden emulátor
platí pro celé zařízení: připojení Prostoru B přenastaví :5173 na B a mapování A zahodí.
Zavři kartu a reverzní přepojení, která tahle stanice zasadila, se odstraní.
iOS Simulator už je ten Mac — žádný reverse. Fyzický iPhone pořád potřebuje sdílení v LAN.
Sdílej ho ve své síti
Sekce “Sdílej ho ve své síti”⋯ → Sdílet v místní síti vystaví port na
<server-ip>:<random port> — hodí se, když chceš stránku otevřít na telefonu, nebo
když server běží na jiném stroji.
- Port v LAN vždy přidělí operační systém, nikdy číslo hosta, takže ven jde záměrná, viditelná adresa, kterou nejde uhodnout.
- Zůstane soukromý (jen loopback), dokud ho nepřepneš, a ⋯ → Jen místně ho ze sítě zase stáhne.
Dej mu jméno — s HTTPS
Sekce “Dej mu jméno — s HTTPS”⋯ → Nastavit doménu prohlížeče (.test) přiřadí portu vývojovou doménu, třeba
myapp.test. Uvnitř Browser (VM) pak https://myapp.test načte tvůj
server s platným zámečkem — hodí se pro všechno, co se chová jinak
na pojmenovaném originu nebo v zabezpečeném kontextu (cookies, service workers, OAuth
callbacky).
- Domény musí končit na
.testnebo.localhost— to jsou dvě TLD vyhrazené pro vývoj, takže vývojové jméno nikdy nezastíní skutečný web. - Jména domén jsou na serveru jedinečná, čísla portů ne. Dva
prostory můžou oba používat
5173, alemyapp.testsi nemůžou nárokovat oba. - Certifikát pochází z místní autority, kterou server vydá při prvním použití. Její klíče žijí v datovém adresáři serveru a nikdy nevstoupí do žádného hosta; uzavřený prohlížeč důvěřuje právě tomu jednomu klíči, takže TLS do skutečného internetu se dál ověřuje normálně.
- Doména se překládá jen uvnitř Browser (VM). Tvůj prohlížeč na
hostiteli místo toho používá
localhost:<port>. - Obyčejné
http://myapp.testfunguje taky.
Předej port ručně
Sekce “Předej port ručně”Přidat port dole v panelu namapuje port předem, ať na něm něco naslouchá, nebo ne. Ruční předání si adresu podrží, i když server restartuješ — řádek ukazuje nenaslouchá, dokud se nevrátí — kdežto automatická předání zmizí spolu se svým portem. U shellu hostitele můžeš taky nastavit jiný místní port.
Jak to zůstane uzavřené
Sekce “Jak to zůstane uzavřené”Klíčem portu je pracovní prostor a prostor. Vlastní mapa portů hypervizoru se při startu stroje zafixuje, takže Terminal (VM) jede dvěma úzkými kanály, které ovládá server: jedním předem vytvořeným příchozím kanálem do hosta, který odmítne spojení na port, na kterém host ve skutečnosti nenaslouchá, a reverzními tunely, které server drží otevřené pro Browser (VM) a Android. Shell hostitele nikdy neprohledává celý stroj. Uvnitř hosta nevznikne posluchač, kterého tam nedal server, a všechno se strhne s terminálem nebo stanicí. Jak je to postavené, vysvětluje Stanice a izolovaná prostředí; přesné vyhrazené porty a pravidla domén jsou v referenci stanic.
Související
Sekce “Související”- Dejte agentovi stroj na testování — otevírání, sledování a přebírání stanic
- Reference stanic — vyhrazené porty, vývojové TLD, výchozí hodnoty