Библиотека на Rust для соединения приложений по публичному ключу: использует QUIC, пробив NAT и ретрансляторы на случай, если прямое подключение невозможно.
tailscale/tailcat
CLI в духе netcat и библиотека на Go для туннелирования TCP и UDP между двумя машинами через зашифрованный data plane Tailscale без учетной записи Tailscale.
Open source альтернатива:ngrok
Magic Wormhole
- Звёзды
- 8,405
- Форки
- 377
- Открытые issues
- 29
- Последний коммит
- 11 дней назад
Что это?
Tailcat позволяет двум машинам обмениваться данными через точка-точка-туннель с шифрованием WireGuard, построенный на сетевых компонентах Tailscale с открытым исходным кодом. На одной машине запускают сервер, который выводит короткий адрес tailcat; на другой подключаются по этому адресу. Метаданные подключения передаются по отдельному каналу, поэтому не нужны control plane Tailscale, учетная запись, root-доступ или изменения системной маршрутизации и DNS.
Сначала трафик проходит через ретранслятор DERP, затем magicsock пытается выполнить обход NAT и, если возможно, переключиться на прямое соединение по UDP; в противном случае используется ретранслятор. Помимо передачи stdin/stdout, инструмент умеет перенаправлять порты, запускать SSH-сервер, отдавать и принимать файлы по SFTP и scp, выполнять команды для каждого подключения, а также измерять пропускную способность и задержку. Библиотека на Go предоставляет те же возможности; также доступна экспериментальная браузерная демоверсия на WebAssembly.
Адреса, содержащие предварительно заданный ключ, фактически являются секретами, поэтому перед публикацией серверов в DNS следует ограничить доступ с помощью списков разрешений или аутентификации по SSH-ключу.
Ключевые возможности
- 01Передает stdin/stdout между двумя машинами через зашифрованный туннель.
- 02Перенаправляет локальные TCP-порты к удаленным сервисам и открывает локальные порты через туннель.
- 03Предоставляет SSH-сервер с аутентификацией через authorized_keys или ключ GitHub.
- 04Отправляет и принимает файлы через scp/SFTP; поддерживаются режимы раздачи только для чтения и для чтения и записи.
- 05Измеряет пропускную способность и задержку TCP и UDP через туннель.
- 06Работает без root-доступа и учетной записи Tailscale, не требуя изменений системных сетевых настроек.
Сценарии использования
- Быстро предоставить коллеге доступ к локальному сервису или файлу, не открывая входящие порты.
- Подключиться к порту базы данных или adb в удаленной локальной сети, не открывая доступ ко всей сети.
- Запустить SSH-сервер, доступный по DNS-имени, не открывая на хосте входящие порты.
- Встроить зашифрованные одноранговые соединения в приложение на Go с помощью библиотеки.
Темы
Частые вопросы
- Что такое tailcat?
- CLI в духе netcat и библиотека на Go для туннелирования TCP и UDP между двумя машинами через зашифрованный data plane Tailscale без учетной записи Tailscale. Tailcat позволяет двум машинам обмениваться данными через точка-точка-туннель с шифрованием WireGuard, построенный на сетевых компонентах Tailscale с открытым исходным кодом. На одной машине запускают сервер, который выводит короткий адрес tailcat; на другой подключаются по этому адресу. Метаданные подключения передаются по отдельному каналу, поэтому не нужны control plane Tailscale, учетная запись, root-доступ или изменения системной маршрутизации и DNS.
- tailcat можно использовать бесплатно? Какая у него лицензия?
- tailcat распространяется с открытым исходным кодом под лицензией BSD-3-Clause. Перед использованием в коммерческих продуктах проверьте условия лицензии.
- tailcat всё ещё поддерживается?
- Активно поддерживается. Последний коммит в tailcat — 7 окт. 2026 г..
- Для чего можно использовать tailcat?
- Быстро предоставить коллеге доступ к локальному сервису или файлу, не открывая входящие порты. Подключиться к порту базы данных или adb в удаленной локальной сети, не открывая доступ ко всей сети. Запустить SSH-сервер, доступный по DNS-имени, не открывая на хосте входящие порты. Встроить зашифрованные одноранговые соединения в приложение на Go с помощью библиотеки.
- Где скачать tailcat?
- Исходный код и инструкции по установке — на GitHub: https://github.com/tailscale/tailcat
Описание создано ИИ на основе README проекта. Статистика GitHub обновляется ежедневно.
Похожие проекты
Минималистичный CLI на Rust, который открывает локальный TCP-порт через удалённый сервер, чтобы к сервисам на localhost можно было подключиться из интернета.
Бесплатное приложение с открытым исходным кодом для обмена файлами и сообщениями между устройствами в локальной сети без интернета и сторонних серверов.
Open-source платформа observability на базе OpenTelemetry, объединяющая логи, метрики, трейсы, алерты и дашборды в одном инструменте.
Apache Answer — платформа Q&A с открытым исходным кодом для создания форумов сообщества, справочных центров и баз знаний.
Официальный десктопный клиент Anytype на Electron — локальная персональная база знаний со сквозным шифрованием для macOS, Windows и Linux.