Portal CLI

Туннель для localhost с собственным реле: публичный HTTPS-адрес для локального сервиса без аккаунта, плюс скиллы для агентов

  • 292 ★ репозитория
  • Последний коммит
  • MIT
CLI

Широкий доступ

Почему такой уровень

  • Локальный сервис становится доступным из интернета по публичному адресу: опубликуйте только то, что готовы показать
  • Трафик идет через чужое реле, и реле с ключом сертификата теоретически способно выдать себя за вашу точку
  • Установка скриптом из интернета через curl и bash запускает загруженный код
Все причины и проверки

gosuda/portal-tunnel

Установка

Работает в

Ручная установка

curl -fsSL https://github.com/gosuda/portal-tunnel/releases/latest/download/install.sh | bash

Для macOS и Linux. На Windows используйте install.ps1 из того же релиза. Перед запуском скрипта стоит прочитать его содержимое.

Доступ и проверки

Как мы проверяем

Широкий доступИнструмент может менять данные, выполнять команды или работать с секретами.

  • Локальный сервис становится доступным из интернета по публичному адресу: опубликуйте только то, что готовы показать
  • Трафик идет через чужое реле, и реле с ключом сертификата теоретически способно выдать себя за вашу точку
  • Установка скриптом из интернета через curl и bash запускает загруженный код

Это чужой код. Посмотрите файлы в репозитории перед установкой.

Что делает

Portal публикует локальный сервис через реле, которое можно поднять самому или взять общедоступное. Команда `portal expose 3000` выдает публичный HTTPS-адрес для приложения на порту 3000, проброс портов, правила файрвола и ручная настройка DNS не нужны. Аккаунт тоже не нужен: вход строится на локальной криптографической идентичности secp256k1 из файла identity.json с подписью запроса по SIWE. Для обычных HTTPS-потоков TLS завершается в вашем локальном процессе, а реле пересылает шифртекст. Встроенная самопроверка сравнивает материал ключей TLS на выборочном соединении, флаг --ban-mitm блокирует реле при расхождении. Несколько реле можно собрать в пул с переключением. Флаг --http-route публикует несколько локальных сервисов под одним доменом, режим --tcp выдает отдельный TCP-порт для SSH или баз данных. Маршруты можно закрыть микроплатежами x402. В репозитории есть плагин portal-deploy для Codex, Claude Code и Cursor с тремя скиллами: portal-expose, portal-connect и portal-relay. Для постоянной работы служит portal agent с конфигом config.toml и панелью.

Для кого. Для разработчиков, которые показывают локальные приложения, API и инструменты заказчикам или агентам через публичный адрес и хотят контролировать реле.

Подходит, если

  • Нужно показать приложение с localhost заказчику по публичной ссылке
  • Нужно выложить несколько локальных сервисов под одним доменом: /api на порту 3001, остальное на 5173
  • Нужен постоянный туннель, который работает как служба операционной системы
  • Агент в Codex, Claude Code или Cursor должен сам опубликовать приложение и проверить адрес

Не подходит, если

  • Сервис нельзя показывать наружу: Portal делает локальное приложение доступным по публичному адресу
  • Нужна полная защита от недоверенного реле: Portal снижает доверие к реле, но полностью его не убирает
  • Нужна выделенная пропускная способность и поддержка с договором: проект с открытым кодом и без платных уровней
  • Нужен хостинг: сервис продолжает работать на вашем компьютере и пропадает из сети вместе с ним

Пример запроса к агенту

Опубликуй мое приложение на порту 3000 через Portal и проверь, что публичный адрес открывается

Ограничения

Для оплаты маршрутов через x402 используются gasless Sui USDC или Casper wCSPR, обычные платежные процессоры не подключаются. Для доменов реле подписывает рукопожатие через /v1/sign. Свое реле поднимается командой `docker compose up`, но для автоматических сертификатов и диапазонов портов TCP и UDP нужна настройка DNS по документации. Публичный реестр реле лежит в registry.json репозитория. Сервис доступен снаружи, только пока на вашей машине запущен portal expose или служба portal agent.

Как отключить. Остановите команду portal expose сочетанием Ctrl+C: публичный адрес перестает работать. Постоянный туннель остановите вместе со службой portal agent, плагин удалите средствами агента.

Частые вопросы

Как открыть localhost на публичный адрес через Portal?

Установите portal из последнего релиза и выполните `portal expose 3000`. Команда напечатает публичный HTTPS-адрес.

Как поставить скиллы Portal в Claude Code?

Выполните `claude plugin marketplace add gosuda/portal-tunnel` и `claude plugin install portal-deploy@portal-tunnel`. Скиллы вызываются как /portal-deploy:portal-expose, /portal-deploy:portal-connect и /portal-deploy:portal-relay. Отдельный скилл ставится командой `npx skills add gosuda/portal-tunnel --skill portal-expose`.

Чем Portal отличается от ngrok?

Реле можно запустить самому, код открыт под MIT, TLS для обычных HTTPS-потоков завершается на вашей стороне.

Видит ли реле мой трафик?

Для обычных HTTPS-потоков реле пересылает шифртекст. Если у реле есть закрытый ключ сертификата, оно может выдать себя за вашу точку. Самопроверка и флаг --ban-mitm ловят такую подмену на выборочных соединениях.

Как держать туннель постоянно запущенным?

Используйте portal agent: `portal agent run --config config.toml` запускает туннели из конфига, `portal agent dashboard --config config.toml` открывает панель. Как службу операционной системы его ставят по руководству Portal Agent Guide.

Обсуждение

Вопросов и отзывов пока нет.

Официальный

MCP-сервер туннелей rustunnel: агент открывает локальный порт по публичному HTTPS, TCP или UDP адресу

MCP-серверШирокий доступ658Звезды репозитория
Официальный

CLI от Vercel Labs: вместо localhost:3000 dev-сервер открывается по постоянному адресу https://myapp.localhost, у каждой ветки git свой

CLIШирокий доступ12,8 тыс.Звезды репозитория

Скилл, который разворачивает панель 3X-UI и Xray VLESS за nginx на Ubuntu-сервере и затем обслуживает его через готовые скрипты

СкиллШирокий доступ31Звезды репозитория

Самостоятельный шлюз для нескольких ключей и провайдеров LLM: ротация, отказоустойчивость, логи и учет расходов

CLIШирокий доступ7,2 тыс.Звезды репозитория

Самостоятельно хостится центр управления агентами: Claude Code, Codex, Copilot, OpenCode и Pi с телефона, десктопа и терминала

CLIРасширенный доступ22,3 тыс.Звезды репозитория
Официальный

Официальный плагин Railway: скилл use-railway и облачный MCP-сервер для деплоя, переменных, доменов, логов и трассировки прямо из агента

ПлагинШирокий доступ338Звезды репозитория

Коротко о README

README называет Portal открытой сетью реле для публикации сервисов и сравнивает его с ngrok, Cloudflare Tunnel и frp. Дальше идут быстрый старт, схема сквозного шифрования и ссылки на документацию.

Бейдж для README

Сообщить о проблеме

Foxx AIPortal
Foxx AI

Я Foxx AI и уже разобрал этот инструмент. Спросите про установку, настройку или что угодно еще, отвечу простыми словами.