Videresend porter fra en terminal
En server du starter i terminalen til en samtale, publiseres bare for det området. Portpanelet oppdager lyttere denne appen startet der, kartlegger dem og gir deg en adresse for hvert sted du måtte ønske å nå dem fra. To områder kan begge lytte på 5173; kartene deres blandes aldri.
Ingenting her åpner maskinen opp: hver bane opprettes av serveren, på forespørsel, og dør med terminalen eller stasjonen.
Se hva som lytter
Seksjon med tittelen «Se hva som lytter»- Åpne samtalens Terminal (VM) eller verts-shellet (i et område eller på en PR-side).
- Start serveren din —
pnpm dev,python -m http.server 8000, hva som helst. - I løpet av noen sekunder får pluggikonet i terminalens øvre høyre hjørne en prikk. Klikk på det.
Panelet viser hver lyttende port med prosessen som eier den, som
3000 → 3000: porten prosessen bandt til, til venstre, og porten den svarer
på lokalt, til høyre (det samme nummeret når den var ledig på
maskinen din). Hver rad sier også om skrivebordets localhost, Nettleseren (VM)
og Android kan nå den.
Oppdagelsen er innesluttet: en Terminal (VM) polles inne i den gjesten; et verts-shell polles fra den øktas PTY-prosesstre. Andre områder, og andre prosesser på Mac-en din, listes ikke opp.
Nye porter i denne terminalen videresendes automatisk. Slå Videresend porter automatisk av i samme panel hvis du bare vil ha dem du legger til selv.
Nå den fra denne datamaskinen
Seksjon med tittelen «Nå den fra denne datamaskinen»Bruk Kopier lokal URL på raden — http://localhost:3000. Videresendingen
lytter bare på loopback, så ingenting annet på nettverket ditt kan se den.
Hvis to områder begge eksponerer gjestens 5173, og maskinen din allerede har
127.0.0.1:5173, beholder det andre området gjestens 5173 og får en
efemær lokal port. Kopier URL bruker nummeret til høyre.
På et verts-shell ligger prosessen allerede på maskinen din. Å kartlegge den samme lokale porten er en no-op; å velge en annen lokal port binder en loopback-proxy til den du valgte.
--host (eller å binde 0.0.0.0) gjør ikke at en innesluttet Nettleser (VM)
kan nå en server på Mac-en. Gjesten har sin egen loopback; serveren
planter en tunnel inn i den gjesten når Nettleser-fanen står i
samme område.
Nå den fra Nettleseren (VM)
Seksjon med tittelen «Nå den fra Nettleseren (VM)»Åpne den innesluttede nettleseren i samme samtale. Skriv
localhost:<porten til venstre> — nummeret prosessen bandt til. En ommapping
(5173 → 3000) svarer også på nummeret til høyre i den nettleseren, så
Kopier URL fungerer der også. En agents browser_use kan navigere til begge.
En server i område A dukker aldri opp som localhost:5173 i område Bs nettleser.
Bruk localhost, ikke en LAN-IP og ikke --host. Gjesten har sin egen
loopback; tunnelen lytter der på både IPv4 og IPv6.
Sider som åpner mange tilkoblinger samtidig (dusinvis av ressurser, en socket for live-oppdatering) deler den samme tunnelen. Nettleseren (VM) multiplekser dem over én vedvarende exec, så en byge av hentinger ikke er én prosessoppstart per tilkobling og ikke timer ut som en hvit side.
Inne i ett område vinner en videresending fra en Terminal (VM) over et verts-shell på samme nummer. På tvers av områder finnes ingen presedens — de er separate kart.
Nå den fra Android
Seksjon med tittelen «Nå den fra Android»Åpne Android-fanen for det området. Emulatorens localhost:<port> blir
da reversert til dette områdets publiserte port (adb reverse). Én emulator
er enhetsglobal: å koble til område B retter :5173 mot B og slipper A sitt.
Lukker du fanen, fjernes reversene denne stasjonen plantet.
iOS-simulatoren er allerede Mac-en — ingen revers. En fysisk iPhone trenger fortsatt en LAN-deling.
Del den på nettverket ditt
Seksjon med tittelen «Del den på nettverket ditt»⋯ → Del på lokalt nettverk publiserer porten på
<server-ip>:<tilfeldig port> — nyttig for å åpne siden på telefonen, eller
når serveren kjører på en annen maskin.
- LAN-porten tildeles alltid av operativsystemet, aldri gjestens nummer, så eksponeringen er en bevisst, synlig adresse i stedet for en gjettbar en.
- Den forblir privat (bare loopback) til du slår den på, og ⋯ → Bare lokalt tar den av nettverket igjen.
Gi den et navn — med HTTPS
Seksjon med tittelen «Gi den et navn — med HTTPS»⋯ → Sett et nettleserdomene (.test) tildeler porten et utviklingsdomene som
myapp.test. Inne i Nettleseren (VM) laster https://myapp.test da serveren
din med en gyldig hengelås — nyttig for alt som oppfører seg annerledes
på en navngitt opprinnelse eller i en sikker kontekst (cookies, service workers,
OAuth-tilbakeringinger).
- Domener må ende på
.testeller.localhost— de to toppnivådomenene som er reservert for utvikling, så et utviklingsnavn aldri kan skygge for et ekte nettsted. - Domenenavn er unike på serveren; portnumre er det ikke. To
områder kan begge bruke
5173, men de kan ikke begge krevemyapp.test. - Sertifikatet kommer fra en lokal sertifikatmyndighet som opprettes på serveren din første gang det trengs. Nøklene ligger under serverens datamappe og kommer aldri inn i noen gjest; den innesluttede nettleseren stoler på nøyaktig den ene nøkkelen, så TLS mot det ekte internett valideres fortsatt normalt.
- Domenet løses bare inne i Nettleseren (VM). Din egen nettleser på
verten bruker
localhost:<port>i stedet. - Vanlig
http://myapp.testfungerer også.
Videresend en port manuelt
Seksjon med tittelen «Videresend en port manuelt»Legg til port nederst i panelet kartlegger en port før (eller uansett om) noe lytter på den. En manuell videresending beholder adressen mens serveren din starter på nytt — raden viser lytter ikke til den kommer tilbake — mens automatiske videresendinger forsvinner når porten deres gjør det. På et verts-shell kan du også angi en annen lokal port.
Hvordan den holdes innesluttet
Seksjon med tittelen «Hvordan den holdes innesluttet»Porter nøkles etter arbeidsområde og område. Hypervisorens eget portkart er fastsatt når en maskin starter opp, så en Terminal (VM) rir på to smale kanaler som serveren kontrollerer: én forhåndsopprettet innkommende bane inn i gjesten som nekter å koble til en hvilken som helst port gjesten faktisk ikke lytter på, og reverse tunneler serveren holder åpne for Nettleseren (VM) og Android. Et verts-shell skanner aldri hele maskinen. Ingen lytter opprettes noensinne inne i en gjest som serveren ikke har satt der, og alt rives ned med terminalen eller stasjonen. Designet er forklart i Stasjoner og isolerte miljøer; de nøyaktige reserverte portene og domenereglene står i stasjonsreferansen.
Relatert
Seksjon med tittelen «Relatert»- Gi en agent en maskin å teste på — å åpne, følge med på og overta stasjoner
- Stasjonsreferansen — reserverte porter, utviklings-TLD-er, standardverdier