Documentation

Portly v1.1 adds smart scanner coverage, safety controls, diagnostics, watch mode, session management, and CI-friendly output.

CLI Commands

CommandDescriptionFree?
npx @solez-ai/portlyScan listening ports, detect frameworks, choose app, tunnel it.Yes
portly watchTrack running apps and keep tunnel session in watch mode.Yes
portly doctorEnvironment diagnostics and reachability checks.Yes
portly listList active/recent sessions from local metadata cache.Yes
portly stopStop current active tunnel session.Yes
portly dev / portly demoPreset alias commands for common workflows.Yes

Key Options

--json
--quiet
--verbose
--confirm
--copy
--allowlist 3000,5173
--denylist 9229
--no-reconnect

--json is recommended for scripts/CI. --confirm adds user confirmation when auth/admin routes are detected.

Troubleshooting Matrix

Error/SignalCauseFix
NO_SERVER_DETECTEDNo reachable local HTTP app found.Start your dev server first, then run portly doctor.
PORT_BLOCKED_POLICYPort rejected by allowlist/denylist.Adjust flags or config in .portlyrc.
TUNNEL_CREATE_FAILEDProvider/network failure.Portly auto-retries. Check internet and rerun.
PUBLIC_URL_UNREACHABLETunnel URL not reachable from your network.Verify firewall/proxy and test provider URL directly.
NOT_SECUREUsing wrong Pages URL or wildcard host.Use https://portly-live.pages.dev exactly.

Framework Examples

Vite

npm run dev
npx @solez-ai/portly

Next.js

npm run dev
portly 3000

Express

node server.js
portly --copy

Nuxt

npm run dev
portly watch

Config Files

Portly merges config from global and project files:

~/.portlyrc.json
./.portlyrc
./.portlyrc.json

Supported keys: defaultPort, host, timeoutMs, allowlistPorts, denylistPorts, reconnectAttempts, reconnectDelayMs.

Cloudflare and HTTPS

Docs URL: https://portly-live.pages.dev. Pages is free for static docs. Tunnel wildcard custom domains require your own routing infrastructure.