Туннель Cloudflared в один клик: Безопасно раскрыть локальный API в публичную сеть (не безопасно по умолчанию)
Вы будете использовать туннель Cloudflared в один клик, чтобы раскрыть API-шлюз Antigravity Tools локально в публичную сеть (только когда вы явно включаете), позволяя удалённым устройствам также вызывать, при этом разберётесь в различиях поведения и границах риска двух режимов: Quick и Auth.
Чему вы научитесь
- Установить и запустить туннель Cloudflared в один клик
- Выбрать режим Quick (временный URL) или режим Auth (именованный туннель)
- Скопировать публичный URL, чтобы удалённые устройства получали доступ к локальному API
- Понять риск безопасности туннеля и принять стратегию минимального раскрытия
Текущие проблемы
Вы запустили API-шлюз Antigravity Tools локально, но могут получить доступ только локальный компьютер или локальная сеть. Хотите, чтобы удалённые серверы, мобильные устройства или облачные сервисы также могли вызывать этот шлюз, но у вас нет публичного IP, и вы не хотите мучиться со сложными решениями развёртывания сервера.
Когда использовать этот метод
- У вас нет публичного IP, но удалённым устройствам нужен доступ к локальному API
- Вы на этапе тестирования/разработки, хотите быстро раскрыть сервис наружу
- Вы не хотите покупать сервер для развёртывания, а хотите использовать существующий компьютер
Предупреждение безопасности
Раскрытие в публичную сеть имеет риск! Обязательно:
- Настройте сильный API Key (
proxy.auth_mode=strict/all_except_health) - Включайте туннель только при необходимости, закрывайте после использования
- Регулярно проверяйте журналы Monitor, при обнаружении аномалии немедленно останавливайте
🎒 Подготовка
Предварительные условия
- Вы уже запустили службу локального прокси (переключатель на странице «API Proxy» открыт)
- Вы уже добавили хотя бы один доступный аккаунт
Что такое Cloudflared?
Cloudflared — это клиент туннеля, предоставленный Cloudflare, он установит зашифрованный канал между вашим компьютером и Cloudflare, отобразит локальный HTTP-сервис как URL, доступный из публичной сети. Antigravity Tools превратил установку, запуск, остановку и копирование URL в операции UI, удобные для вас быстро реализовать проверочный цикл.
Поддерживаемые платформы
Встроенная в проект логика «автоматическая загрузка + установка» покрывает только следующие комбинации OS/архитектура (другие платформы вернут Unsupported platform).
| Операционная система | Архитектура | Состояние поддержки |
|---|---|---|
| macOS | Apple Silicon (arm64) | ✅ |
| macOS | Intel (x86_64) | ✅ |
| Linux | x86_64 | ✅ |
| Linux | ARM64 | ✅ |
| Windows | x86_64 | ✅ |
Сравнение двух режимов
| Характеристика | Режим Quick | Режим Auth |
|---|---|---|
| Тип URL | https://xxx.trycloudflare.com(временный URL, извлечённый из журналов) | Приложение не обязательно может автоматически извлечь URL (зависит от журналов cloudflared); домен входа основан на вашей конфигурации в Cloudflare |
| Нужен Token | ❌ Не нужен | ✅ Нужен (получить из консоли Cloudflare) |
| Стабильность | URL может меняться при перезапуске процесса | Зависит от того, как вы настроили на стороне Cloudflare (приложение только отвечает за запуск процесса) |
| Подходящая сцена | Временное тестирование, быстрая проверка | Долгосрочный стабильный сервис, производственная среда |
| Рекомендация | ⭐⭐⭐ Для теста | ⭐⭐⭐⭐⭐ Для производства |
Характеристика URL режима Quick
URL режима Quick может меняться при каждом запуске, и это случайно сгенерированный поддомен *.trycloudflare.com. Если вам нужен фиксированный URL, вы должны использовать режим Auth и привязать домен в консоли Cloudflare.
Пошоковое руководство
Шаг 1: Откройте страницу API Proxy
Зачем Найти вход конфигурации Cloudflared.
- Откройте Antigravity Tools
- Нажмите на левую навигацию "API Proxy"(API 反代)
- Найдите карточку "Public Access (Cloudflared)"(внизу страницы, оранжевый значок)
Что вы должны увидеть: Карточка, которую можно раскрыть, показывает «Cloudflared not installed»(не установлен)или «Installed: xxx»(установлен)。
Шаг 2: Установите Cloudflared
Зачем Загрузить и установить бинарный файл Cloudflared в папку bin каталога данных.
Если не установлен
- Нажмите кнопку "Install"(установить)
- Подождите завершения загрузки (в зависимости от скорости сети, примерно 10-30 секунд)
Что вы должны увидеть:
- Кнопка показывает анимацию загрузки
- После завершения появляется подсказка «Cloudflared installed successfully»
- Карточка показывает «Installed: cloudflared version 202X.X.X»
Если уже установлен
Пропустите этот шаг, перейдите прямо к шагу 3.
Местоположение установки
Бинарный файл Cloudflared будет установлен в bin/ «каталога данных»(имя каталога данных — .antigravity_tools)。
ls -la "$HOME/.antigravity_tools/bin/"Get-ChildItem "$HOME\.antigravity_tools\bin\"Если вы ещё не уверены, где находится каталог данных, сначала прочитайте Первый запуск: Каталог данных, журналы, трей и автозапуск。 :::
Шаг 3: Выберите режим туннеля
Зачем Выберите подходящий режим по вашей сцене использования.
- В карточке найдите область выбора режима (две большие кнопки)
- Нажмите для выбора:
| Режим | Описание | Когда выбирать |
|---|---|---|
| Quick Tunnel | Автоматически генерировать временный URL(*.trycloudflare.com) | Быстрое тестирование, временный доступ |
| Named Tunnel | Использовать аккаунт Cloudflare и пользовательский домен | Производственная среда, потребность в фиксированном домене |
Рекомендация по выбору
Если вы используете впервые, сначала выберите режим Quick, быстро проверьте, соответствует ли функциональность вашим требованиям.
Шаг 4: Настройте параметры
Зачем Заполните необходимые параметры и опции по режиму.
Режим Quick
- Порт автоматически использует ваш текущий порт прокси (по умолчанию
8045, ориентируйтесь на фактическую конфигурацию) - Отметьте "Use HTTP/2"(по умолчанию отмечено)
Режим Auth
- Заполните Tunnel Token(получить из консоли Cloudflare)
- Порт также использует ваш текущий порт прокси (ориентируйтесь на фактическую конфигурацию)
- Отметьте "Use HTTP/2"(по умолчанию отмечено)
Как получить Tunnel Token?
- Войдите в консоль Cloudflare Zero Trust
- Войдите в "Networks" → "Tunnels"
- Нажмите "Create a tunnel" → "Remote browser" или "Cloudflared"
- Скопируйте сгенерированный Token(похоже на
eyJhIjoiNj...длинная строка)
Пояснение опции HTTP/2
Use HTTP/2 заставит cloudflared запуститься с --protocol http2. Текст в проекте описывает это как «более совместимая(рекомендуется пользователям континентального Китая)» и включена по умолчанию.
Рекомендация отмечать
Опция HTTP/2 рекомендуется отмечать по умолчанию, особенно в сетевой среде континентального Китая.
Шаг 5: Запустите туннель
Зачем Установить зашифрованный канал между локальным и Cloudflare.
- Нажмите переключатель в правом верхнем углу карточки(или после раскрытия кнопку "Start Tunnel")
- Подождите запуска туннеля(примерно 5-10 секунд)
Что вы должны увидеть:
- В правом верхнем углу заголовка карточки появляется зелёная точка
- Появляется подсказка "Tunnel Running"
- Отображается публичный URL(похоже на
https://random-name.trycloudflare.com) - Справа есть кнопка копирования: кнопка показывает только первые 20 символов URL, но нажатие скопирует полный URL
В режиме Auth URL может не отображаться
Текущее приложение будет извлекать только URL типа *.trycloudflare.com из журналов cloudflared для отображения. В режиме Auth обычно не выводятся такие домены, поэтому вы можете видеть только «Running», но не URL. В это время домен входа основан на вашей конфигурации в Cloudflare.
Шаг 6: Проверьте публичный доступ
Зачем Проверьте, нормально ли работает туннель.
Проверка работоспособности
#Замените на ваш фактический URL туннеля
curl -s "https://your-url.trycloudflare.com/healthz"Invoke-RestMethod "https://your-url.trycloudflare.com/healthz"Что вы должны увидеть: {"status":"ok"}
Запрос списка моделей
#Если вы включили аутентификацию, замените <proxy_api_key> на ваш key
curl -s \
-H "Authorization: Bearer <proxy_api_key>" \
"https://your-url.trycloudflare.com/v1/models"Invoke-RestMethod \
-Headers @{ Authorization = "Bearer <proxy_api_key>" } \
"https://your-url.trycloudflare.com/v1/models"Что вы должны увидеть: Возвращается JSON списка моделей.
Внимание HTTPS
URL туннеля — это протокол HTTPS, не нужно дополнительной настройки сертификата.
Использование вызова OpenAI SDK(пример)
import openai
#Использовать публичный URL
client = openai.OpenAI(
api_key="your-proxy-api-key", # Если включена аутентификация
base_url="https://your-url.trycloudflare.com/v1"
)
#modelId ориентируется на фактический возврат /v1/models
response = client.chat.completions.create(
model="<modelId>",
messages=[{"role": "user", "content": "привет"}]
)
print(response.choices[0].message.content)Напоминание об аутентификации
Если вы включили аутентификацию на странице «API Proxy»(proxy.auth_mode=strict/all_except_health),запрос должен принести API Key:
- Header:
Authorization: Bearer your-api-key - Или:
x-api-key: your-api-key
Шаг 7: Остановите туннель
Зачем Закрывайте после использования, уменьшайте время безопасности раскрытия.
- Нажмите переключатель в правом верхнем углу карточки(или после раскрытия кнопку "Stop Tunnel")
- Подождите завершения остановки(примерно 2 секунды)
Что вы должны увидеть:
- Зелёная точка исчезла
- Появляется подсказка "Tunnel Stopped"
- Публичный URL исчез
Контрольные точки ✅
После завершения вышеуказанных шагов вы должны быть способны:
- [ ] Установить бинарный файл Cloudflared
- [ ] Переключаться между режимом Quick и Auth
- [ ] Запустить туннель и получить публичный URL
- [ ] Вызвать локальный API через публичный URL
- [ ] Остановить туннель
Частые ошибки
Проблема 1: Неудача установки(тайм-аут загрузки)
Симптом: После нажатия «Install» долго нет ответа или подсказка об ошибке загрузки.
Причина: Проблема сети(особенно доступ GitHub Releases из континентального Китая)。
Решение:
- Проверьте сетевое подключение
- Используйте VPN или прокси
- Вручную загрузите: Cloudflared Releases,выберите версию соответствующей платформы, вручную поместите в папку
binкаталога данных и дайте права выполнения(macOS/Linux)。
Проблема 2: Неудача запуска туннеля
Симптом: После нажатия запуска URL не отображается или появляется ошибка.
Причина:
- В режиме Auth Token недействителен
- Служба локального прокси не запущена
- Порт занят
Решение:
- Режим Auth: проверьте, правильный ли Token, не истёк ли он
- Проверьте, открыт ли переключатель прокси на странице «API Proxy»
- Проверьте, не занят ли порт
8045другими программами
Проблема 3: Публичный URL недоступен
Симптом: Вызов публичного URL curl/SDK тайм-аут.
Причина:
- Процесс туннеля неожиданно вышел
- Проблема сети Cloudflare
- Блокировка локального брандмауэра
Решение:
- Проверьте, показывает ли карточка «Tunnel Running»
- Проверьте, есть ли подсказка об ошибке в карточке(красный текст)
- Проверьте настройки локального брандмауэра
- Попробуйте перезапустить туннель
Проблема 4: Неудача аутентификации(401)
Симптом: Запрос возвращает ошибку 401.
Причина: Прокси включил аутентификацию, но запрос не принёс API Key.
Решение:
- Проверьте режим аутентификации на странице «API Proxy»
- В запрос добавьте правильный Header:bash
curl -H "Authorization: Bearer your-api-key" \ https://your-url.trycloudflare.com/v1/models
Итог урока
Туннель Cloudflared — это мощный инструмент для быстрого раскрытия локальных сервисов. Через этот урок вы научились:
- Установка в один клик: Автоматическая загрузка и установка Cloudflared в UI
- Два режима: Выбор Quick(временный)и Auth(именованный)
- Публичный доступ: Копировать HTTPS URL, удалённые устройства могут напрямую вызывать
- Осознание безопасности: Включить аутентификацию, закрыть после использования, регулярно проверять журналы
Запомните: туннель — это двухосторонний меч, если использовать правильно — удобно, если неправильно — есть риск. Всегда соблюдайте принцип минимального раскрытия.
Предпросмотр следующего урока
В следующем уроке мы изучим Полная конфигурация: AppConfig/ProxyConfig, местоположение сохранения и семантика горячего обновления。
Вы узнаете:
- Полные поля AppConfig и ProxyConfig
- Местоположение сохранения файлов конфигурации
- Какие конфигурации требуют перезапуска, какие могут горяче обновляться
Приложение: Справочник по исходному коду
Нажмите, чтобы раскрыть расположение исходного кода
Обновлено: 2026-01-23
| Функция | Путь к файлу | Строки |
|---|---|---|
Имя каталога данных(.antigravity_tools) | src-tauri/src/modules/account.rs | 16-33 |
Структура конфигурации и значения по умолчанию(CloudflaredConfig、TunnelMode) | src-tauri/src/modules/cloudflared.rs | 16-59 |
| Правила автоматического URL загрузки(поддерживаемые OS/архитектура) | src-tauri/src/modules/cloudflared.rs | 70-88 |
| Логика установки(загрузка/запись/распаковка/права) | src-tauri/src/modules/cloudflared.rs | 147-211 |
| --- | --- | --- |
Правило извлечения URL(только распознаёт *.trycloudflare.com) | src-tauri/src/modules/cloudflared.rs | 390-413 |
| Интерфейс команд Tauri(check/install/start/stop/get_status) | src-tauri/src/commands/cloudflared.rs | 6-118 |
| Карточка UI(режим/Token/HTTP2/отображение и копирование URL) | src/pages/ApiProxy.tsx | 1597-1753 |
| Перед запуском нужно Proxy Running(toast + return) | src/pages/ApiProxy.tsx | 256-306 |
Ключевые константы:
DATA_DIR = ".antigravity_tools":имя каталога данных(Исходный код:src-tauri/src/modules/account.rs)
Ключевые функции:
get_download_url():собрать адрес загрузки GitHub Releases(Исходный код:src-tauri/src/modules/cloudflared.rs)extract_tunnel_url():извлечь URL режима Quick из журналов(Исходный код:src-tauri/src/modules/cloudflared.rs)