Забываем про localhost:3000: знакомьтесь с Portless 🔌
Portless заменяет локальные порты стабильными доменами .localhost и поддерживает HTTPS и Git Worktrees.

Бывало такое, что запускаешь проект, а порт 3000 уже занят другим процессом? Или когда поднимаешь фронт, бэкенд и микросервисы, и в какой-то момент локальная разработка превращается в квест «вспомни, на каком порту крутится API»?
Для решения этой боли Vercel Labs выкатили утилиту Portless.
Суть простая: Portless работает как локальный прокси и заменяет числовые порты на понятные и стабильные именованные домены .localhost.
Что умеет и чем крута:
- Замена портов на имена: вместо
localhost:3000иlocalhost:8080вы получаете ссылки видаmyapp.localhostилиapi.myapp.localhost. - Никакого хаоса при перезапусках: URL остается постоянным.
- Локальный HTTPS из коробки: умеет подтягивать локальные TLS-сертификаты. Это сильно упрощает жизнь, если вы тестируете OAuth-авторизацию, Service Workers, Cookie с пропсом
Secureили работаете с API, требующими защищенный контекст. - Поддержка Git Worktrees: если вы параллельно ведете разработку в нескольких ветках, Portless умеет автоматически изолировать домены по веткам (например,
fix-ui.myapp.localhost).
Как пользоваться:
Подключается буквально в одну строчку через CLI или интеграцию в npm-скрипты:
// package.json
"scripts": {
"- dev": "next dev",
"+ dev": "portless run next dev"
}
Tool локальный, открытых портов наружу не светит и в интернет ничего не шлет.
Если часто дергаете несколько сервисов одновременно или страдаете от постоянного поиска свободных портов — однозначно стоит затестить.