Repolode
fatedier

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. 1

    Скачайте последнюю версию frp для вашей ОС со страницы Releases

  2. 2

    На сервере с публичным IP-адресом запустите frps, указав файл конфигурации

    ./frps -c ./frps.toml
  3. 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 обновляется ежедневно.

Похожие проекты