FRP Мост между локальной сетью и интернетом
Зачем нужен FRP?
Представьте ситуацию: у вас есть сервер в локальной сети без белого IP, но вам нужно дать к нему доступ извне. Или хотите показать клиенту сайт, который крутится на вашем ноутбуке. Обычно это требует сложной настройки роутера или покупки VPS. Но есть решение проще — FRP.
FRP (Fast Reverse Proxy) — это легкий reverse proxy на Go, который создает безопасные туннели через NAT и фаерволы. Проект с открытым исходным кодом, звезд на GitHub уже больше 96 тысяч!
Как это работает?
Архитектура FRP проста:
- frps (server) — работает на машине с белым IP
- frpc (client) — работает в локальной сети

Клиент подключается к серверу, и сервер начинает проксировать запросы из интернета в вашу локальную сеть.
5 главных возможностей
- Доступ к SSH за NAT
[[proxies]]
name = "ssh"
type = "tcp"
localPort = 22
remotePort = 6000
Теперь можно подключиться: ssh -p 6000 user@server_ip
- Публикация веб-сервисов
[[proxies]]
name = "web"
type = "http"
localPort = 80
customDomains = ["myapp.example.com"]
-
P2P-режим для прямого соединения между клиентами (минуя сервер)
-
Шифрование и сжатие трафика
-
Балансировка нагрузки между несколькими экземплярами сервиса
Неочевидные применения
- Доступ к API локальной разработки из мобильного приложения
- Демонстрация проектов клиентам без деплоя
- Объединение серверов в разных сетях в виртуальную LAN
- Проксирование UDP-сервисов (например, игровых серверов)
Почему FRP, а не...?
- Ngrok: FRP бесплатен и дает полный контроль
- SSH tunnels: FRP проще в настройке и поддерживает больше протоколов
- VPN: Не требует сложной настройки на клиентских устройствах
Под капотом
- Написан на Go — работает быстро и без зависимостей
- Поддерживает TCP, UDP, HTTP, HTTPS
- Есть встроенный веб-интерфейс для мониторинга
- Конфигурация в TOML/YAML/JSON
Как начать?
- Скачайте бинарники для вашей ОС из релизов
- Настройте
frps.tomlна сервере:
bindPort = 7000
- Настройте
frpc.tomlна клиенте:
serverAddr = "your_server_ip"
serverPort = 7000
[[proxies]]
name = "ssh"
type = "tcp"
localPort = 22
remotePort = 6000
- Запустите
frpsиfrpc
FRP — это:
✅ Простота настройки ✅ Гибкость (поддержка многих протоколов) ✅ Безопасность (шифрование, аутентификация) ✅ Открытый исходный код
Идеально подойдет:
- Разработчикам для демонстрации проектов
- Админам для удаленного управления серверами
- Геймерам для создания игровых серверов
- IT-энтузиастам для экспериментов с сетевыми технологиями
Попробуйте FRP — и вы удивитесь, как много проблем он решает одной простой утилитой!
