CLI в стиле netcat и библиотека Go для соединения двух машин через плоскость передачи данных WireGuard в Tailscale — без аккаунта Tailscale и управляющей плоскости.
fatedier/frp
Быстрый reverse proxy для доступа к локальным серверам за NAT или файрволом из интернета по TCP, UDP, HTTP и HTTPS.
Open source альтернатива:ngrok
- Звёзды
- 110,048
- Форки
- 15,248
- Открытые issues
- 34
- Последний коммит
- вчера
Что это?
frp — reverse proxy на Go, который позволяет открыть доступ из интернета к локальному серверу за NAT или файрволом. Он состоит из двух программ: frps запускается на машине с публичным IP, а frpc — на машине, где работает сервис. Клиент поддерживает соединение с сервером и перенаправляет входящий трафик к локальному сервису.
Поддерживается перенаправление трафика TCP и UDP, а также проксирование HTTP и HTTPS с маршрутизацией запросов по домену или поддомену: так на одном публичном сервере могут размещаться несколько внутренних сайтов. Кроме того, доступны режим STCP с предварительно заданным ключом, режим XTCP для прямой передачи данных между узлами, а также KCP и QUIC в качестве альтернативных транспортных протоколов.
Для управления предусмотрены конфигурация в форматах TOML, YAML и JSON, шаблоны с переменными окружения, панель мониторинга сервера, административный интерфейс клиента с горячей перезагрузкой, метрики Prometheus, аутентификация по токену и через OIDC, шифрование TLS, ограничение пропускной способности, балансировка нагрузки и проверки состояния.
Ключевые возможности
- 01Перенаправляет трафик TCP, UDP, HTTP и HTTPS с публичного сервера к локальному сервису.
- 02Маршрутизирует запросы HTTP и HTTPS к внутренним сайтам по собственному домену или поддомену.
- 03Предлагает STCP с предварительно заданными ключами и XTCP для передачи данных между узлами.
- 04Поддерживает транспортные протоколы TCP, KCP и QUIC, а также опциональные шифрование и сжатие.
- 05Предоставляет панель мониторинга сервера, административный интерфейс клиента, горячую перезагрузку и метрики Prometheus.
- 06Включает аутентификацию по токену и через OIDC, ограничение пропускной способности, балансировку нагрузки и проверки состояния.
Сценарии использования
- Открыть доступ из интернета к домашнему или офисному SSH-серверу либо веб-приложению для разработки без публичного IP.
- Разместить несколько внутренних сайтов на одном публичном сервере с собственными доменами.
- Перенаправлять запросы к локальному DNS-резолверу или другому сервису UDP через публичный хост.
- Предоставить удалённому коллеге безопасный доступ к внутреннему сервису с помощью предварительно заданного ключа.
Быстрый старт
- 1
Скачайте последнюю версию frp для вашей ОС со страницы Releases
- 2
На сервере с публичным IP-адресом запустите frps, указав файл конфигурации
./frps -c ./frps.toml - 3
На машине за NAT или межсетевым экраном запустите frpc, указав файл конфигурации
./frpc -c ./frpc.toml
Что важно знать
- Для запуска frps нужен собственный сервер с публичным IP-адресом.
- В README сказано, что будущая версия v2 будет несовместима с v1.
- Некоторые антивирусы могут ошибочно распознавать frpc как вредоносное ПО.
Темы
Частые вопросы
- Что такое frp?
- Быстрый reverse proxy для доступа к локальным серверам за NAT или файрволом из интернета по TCP, UDP, HTTP и HTTPS. frp — reverse proxy на Go, который позволяет открыть доступ из интернета к локальному серверу за NAT или файрволом. Он состоит из двух программ: frps запускается на машине с публичным IP, а frpc — на машине, где работает сервис. Клиент поддерживает соединение с сервером и перенаправляет входящий трафик к локальному сервису.
- frp можно использовать бесплатно? Какая у него лицензия?
- frp распространяется с открытым исходным кодом под лицензией Apache-2.0. Перед использованием в коммерческих продуктах проверьте условия лицензии.
- frp всё ещё поддерживается?
- Активно поддерживается. Последний коммит в frp — 20 окт. 2026 г..
- Для чего можно использовать frp?
- Открыть доступ из интернета к домашнему или офисному SSH-серверу либо веб-приложению для разработки без публичного IP. Разместить несколько внутренних сайтов на одном публичном сервере с собственными доменами. Перенаправлять запросы к локальному DNS-резолверу или другому сервису UDP через публичный хост. Предоставить удалённому коллеге безопасный доступ к внутреннему сервису с помощью предварительно заданного ключа.
- Как установить frp?
- Скачайте последнюю версию frp для вашей ОС со страницы Releases На сервере с публичным IP-адресом запустите frps, указав файл конфигурации: ./frps -c ./frps.toml На машине за NAT или межсетевым экраном запустите frpc, указав файл конфигурации: ./frpc -c ./frpc.toml
- Где скачать frp?
- Исходный код и инструкции по установке — на GitHub: https://github.com/fatedier/frp
Описание создано ИИ на основе README проекта. Статистика GitHub обновляется ежедневно.
Похожие проекты
Самостоятельно размещаемый туннель на Go, который открывает доступ к локальным сервисам из интернета через ваш домен и сервер.
Библиотека на Rust для соединения приложений по публичному ключу с транспортом QUIC, пробиванием NAT и резервным подключением через ретранслятор.
Открытая альтернатива ngrok: одной командой открывает локальный HTTP-сервер по публичному HTTPS-адресу.
Веб-интерфейс для самостоятельного управления сайтами, сертификатами, конфигурациями и логами Nginx, а также статистикой сервера; написан на Go и Vue.
Безопасный обмен локальными веб-сервисами, файлами и ресурсами TCP/UDP через сеть с нулевым доверием — без настройки firewall и проброса портов.