
frp v0.71.0
Быстрый обратный прокси-сервер, помогающий открыть доступ к локальному серверу за NAT или файрволом из интернета.
frp
Спонсоры
frp — это проект с открытым исходным кодом, дальнейшее развитие которого стало возможным исключительно благодаря поддержке наших замечательных спонсоров. Если вы хотите присоединиться к ним, пожалуйста, рассмотрите возможность спонсирования разработки frp.
Золотые спонсоры
Полноценная IDE, созданная для профессиональных Go-разработчиков
Recall.ai — API для записи встреч
Если вы ищете API для записи встреч, обратите внимание на Recall.ai,
API, которое записывает Zoom, Google Meet, Microsoft Teams, очные встречи и многое другое.
Что такое frp?
frp — это быстрый обратный прокси-сервер, который позволяет вам предоставить доступ к локальному серверу, находящемуся за NAT или брандмауэром, через Интернет. В настоящее время он поддерживает протоколы TCP и UDP, а также HTTP и HTTPS, что позволяет пересылать запросы на внутренние сервисы через доменное имя.
frp также предлагает режим P2P-подключения.
Содержание
- Статус разработки
- Архитектура
- Примеры использования
- Доступ к вашему компьютеру в локальной сети через SSH
- Несколько SSH-сервисов, использующих один и тот же порт
- Доступ к внутренним веб-сервисам с пользовательскими доменами в локальной сети
- Пересылка DNS-запросов
- Пересылка Unix Domain Socket
- Предоставление доступа к простому HTTP-файловому серверу
- Включение HTTPS для локального HTTP(S) сервиса
- Приватный доступ к вашему сервису
- Режим P2P
- Возможности
- Файлы конфигурации
- Использование переменных окружения
- Разделение конфигураций на разные файлы
- Панель управления сервера
- Административный интерфейс клиента
- Мониторинг
- Аутентификация клиента
- Шифрование и сжатие
- Горячая перезагрузка конфигурации frpc
- Получение статуса прокси от клиента
- Разрешение только определённых портов на сервере
- Повторное использование портов
- Ограничение пропускной способности
- Мультиплексирование TCP-потоков
- Поддержка протокола KCP
- Поддержка протокола QUIC
- Пул соединений
- Балансировка нагрузки
- Проверка работоспособности сервиса
- Перезапись HTTP-заголовка Host
- Установка других HTTP-заголовков
- Получение реального IP
- Требование HTTP Basic Auth (пароль) для веб-сервисов
- Пользовательские имена поддоменов
- Маршрутизация по URL
- Мультиплексирование TCP-портов
- Подключение к frps через PROXY
- Сопоставление диапазона портов
- Плагины клиента
- Плагины управления сервером
- SSH-туннельный шлюз
- Виртуальная сеть (VirtualNet)
- Флаги функций
- Связанные проекты
- Участие в разработке
- Пожертвования
Статус разработки
frp в настоящее время находится в стадии разработки. Вы можете попробовать последнюю версию релиза в ветке master или использовать ветку dev для доступа к версии, находящейся в разработке.
В настоящее время мы работаем над версией 2 и пытаемся выполнить некоторый рефакторинг кода и улучшения. Однако обратите внимание, что она не будет совместима с версией 1.
Мы перейдём от версии 0 к версии 1 в подходящий момент и будем принимать только исправления ошибок и улучшения, а не крупные запросы на новые функции.
О V2
Сложность и трудность версии v2 намного выше, чем ожидалось. Я могу работать над её разработкой только в разрозненные промежутки времени, а постоянные перерывы значительно снижают продуктивность. Учитывая эту ситуацию, мы продолжим оптимизировать и развивать текущую версию, пока у нас не появится больше свободного времени для проведения капитального обновления версии.
Концепция v2 основана на моих многолетних опыте и размышлениях в области cloud-native, особенно в K8s и ServiceMesh. Её ядро — это современный прокси четвёртого и седьмого уровней, похожий на envoy. Этот прокси сам по себе высокомасштабируем и способен не только реализовать функциональность проникновения в интранет, но и применяться в различных других областях. На основе этого высокомасштабируемого ядра мы стремимся реализовать все возможности frp v1, а также решить задачи, которые ранее было невозможно или сложно реализовать элегантным способом. Кроме того, мы будем поддерживать эффективную разработку и итерации.