Run your local app.
Start the server you want to share, using its usual development command. Note the port it prints. Endport forwards traffic to that port; your local process needs to stay running.
curl http://localhost:3000Use your actual port if it is 4000, 5173, 8000, or something else. Your app can be written in any language.
Install the CLI.
With Node.js 20.19 or newer installed, add the Endport command. Run it from the directory of the app you just started.
npm install -g https://endport.io/downloads/endport-cli-0.1.0.tgzNo account or email sign-in is needed. The CLI creates a private project identity on your machine.
Point Endport at the port.
Open a second terminal in your app directory and pass Endport the port number. Give the app a readable name, or omit --name to use the directory name.
endport 3000 --name myapp- Local
- http://localhost:3000
- Public
- https://myapp.endport.io
- Logs
- https://workspace.endport.io/
- Code
- •••••-•••••
The CLI prints the actual assigned URL. If another project owns the name, Endport adds a short readable suffix. Leave this terminal open while the endpoint should be online.
Choose your public URL.
Use an Endport URL
The name printed by the CLI is ready to use. No DNS change is needed.
https://myapp.endport.ioConnect your hostname
Open the logs workspace’s Domain section. Add a subdomain, create the CNAME and TXT records shown, then verify DNS.
api.example.comAfter your custom domain is verified, connect it from the same app directory:
endport 3000 --domain api.example.comThe logs URL stays at workspace.endport.io/<app> even when the public app uses your domain.
See what your app receives.
Open the Logs URL printed by the CLI. Enter the one-time code from the same terminal; Endport finds your app automatically. The workspace shows request methods, paths, statuses, durations, sizes, and 24-hour analytics.
Need another code later? Run this in the same app directory:
endport codeShare a preview or connect more ports.
In your workspace, open Access to restrict the public app and create an expiring visitor link. The visitor can open the running app; the logs workspace still requires your terminal code.
For a web app and API in one project, create endport.config.json with {"name":"myapp","services":{"web":{"port":3000},"api":{"port":4000}}}, then run endport start. Each service has a stable URL and its own request history. See Documentation for the full configuration.
Trying Endport locally?
The public *.endport.io URL needs deployed DNS and HTTPS. For a local Docker test, point the CLI at the local gateway:
endport 3000 --name myapp --server http://localhost:8080The CLI prints a local logs page. You can simulate a public request with the Host header:
curl -H 'Host: myapp.endport.io' http://localhost:8080/