
frp v0.71.0
Быстрый обратный прокси-сервер, помогающий открыть доступ к локальному серверу за NAT или файрволом из интернета.
frp
Спонсоры
frp — это проект с открытым исходным кодом, дальнейшая разработка которого стала возможной исключительно благодаря поддержке наших замечательных спонсоров. Если вы хотите присоединиться к ним, пожалуйста, рассмотрите возможность спонсирования разработки frp.
Золотые спонсоры
Recall.ai — API для записи встреч
Если вы ищете API для записи встреч, обратите внимание на Recall.ai,
API, который записывает Zoom, Google Meet, Microsoft Teams, очные встречи и многое другое.
Полноценная IDE, созданная для профессиональных разработчиков на Go
Что такое 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)
- Feature Gates
- Связанные проекты
- Участие в разработке
- Пожертвования
Статус разработки
frp в настоящее время находится в разработке. Вы можете попробовать последнюю выпущенную версию в ветке master или использовать ветку dev для доступа к версии, находящейся в разработке.
В настоящее время мы работаем над версией 2 и пытаемся выполнить некоторый рефакторинг и улучшения кода. Однако обратите внимание, что она не будет совместима с версией 1.
Мы перейдём с версии 0 на версию 1 в подходящий момент и будем принимать только исправления ошибок и улучшения, а не крупные запросы на новые функции.
О V2
Сложность и трудность версии v2 оказались намного выше, чем предполагалось. Я могу работать над её разработкой только в разрозненные промежутки времени, и постоянные прерывания значительно нарушают продуктивность. Учитывая это, мы продолжим оптимизировать и итерировать текущую версию, пока у нас не появится больше свободного времени для проведения капитальной переработки основной версии.
Концепция v2 основана на моём многолетнем опыте и размышлениях в области cloud-native, в частности в K8s и ServiceMesh. Её ядро — это модернизированный четырёхуровневый и семиуровневый прокси, аналогичный envoy. Сам этот прокси обладает высокой масштабируемостью: он способен не только реализовывать функциональность проброса внутренней сети, но и применяться в различных других областях. Опираясь на это высокомасштабируемое ядро, мы стремимся реализовать все возможности frp v1, а также элегантно решить функциональные задачи, которые ранее были недостижимы или трудны для реализации. Кроме того, мы сохраним эффективные возможности разработки и итераций.