Назад к проектам
В продакшене Open Source

fxTunnel

Self-hosted reverse tunnel — альтернатива ngrok и Cloudflare Tunnel. HTTP, TCP, UDP проброс, кастомные поддомены, веб-панель, десктоп-клиент на Wails.

GoVue 3WailsREST APITCP/UDP

fxTunnel появился из практической необходимости. В работе у меня несколько проектов одновременно, и постоянно нужно давать доступ к локальным сервисам: показать заказчику фронтенд, протестировать вебхуки маркетплейсов, отладить интеграцию с внешним API, дать коллеге посмотреть ветку на dev-сервере. ngrok ограничивает бесплатный план одним туннелем и рандомными поддоменами. Cloudflare Tunnel привязывает к экосистеме Cloudflare. frp мощный, но конфигурация через TOML-файлы на каждый туннель утомляет.

Хотелось простого: поставил сервер на VPS, указал домен, поднял туннель одной командой. С кастомным поддоменом, HTTPS из коробки, без лимитов.

Как устроен

Сервер написан на Go, работает как reverse proxy. Клиент подключается к серверу через TCP-соединение, поверх которого работает yamux — мультиплексор, позволяющий гонять множество логических потоков через одно физическое соединение. Это эффективнее, чем открывать отдельный коннект на каждый запрос.

HTTP-туннели работают через виртуальные хосты: сервер принимает запрос на subdomain.your-domain.com, находит соответствующий туннель и проксирует трафик клиенту. TLS-сертификаты получаются автоматически через Let’s Encrypt.

TCP и UDP проброс работают через выделенные порты на сервере. Это позволяет туннелировать не только HTTP, но и базы данных, SSH, игровые серверы — что угодно.

Что есть сейчас

  • HTTP, TCP, UDP туннели с кастомными поддоменами
  • Автоматический TLS через Let’s Encrypt
  • Веб-панель для управления туннелями и пользователями
  • REST API для программного управления
  • GUI-клиент на Wails (Go + Vue 3) под Windows, macOS и Linux
  • CLI-клиент для серверных сценариев
  • SQLite для хранения конфигурации — без внешних зависимостей

Проект open source и доступен на GitHub.

Стек

Backend

Goyamux

Frontend

Vue 3Wails

Data

SQLite

DevOps

Let's Encrypt

Таймлайн

2025-12

Начало разработки

Сервер, CLI-клиент, HTTP-туннели

2026-01

TCP/UDP + Web UI

Полный проброс портов, панель управления, REST API

2026-02

GUI-клиент на Wails

Десктопное приложение для Windows/macOS/Linux