
bitbang-cli v0.5.0
Установите безопасный удалённый доступ к машине с интерактивной оболочкой, передачей файлов и веб-прокси через сквозное шифрование peer-to-peer WebRTC, используя браузер или CLI без проброса портов и учётных записей.
BitBang CLI
bitbang — это единый статический бинарный мультиинструмент для удалённого доступа. Из любого браузера: интерактивная оболочка и доступ к файлам удалённой машины через файловый браузер. Вы также можете получить доступ к веб-приложениям в сети этой машины. Помимо браузера, он выполняет перенаправление TCP-портов, копирование файлов и совместное использование терминала. Он не требует учётной записи или настройки — просто работает.

На машине, к которой вы хотите получить доступ:
curl -sSfL bitba.ng/install | sh
bitbang serve
serve выводит URL. Откройте его в любом браузере, и вы получите терминал, файловый браузер и прокси к сети этой машины — или подключитесь к той же машине из другого терминала с помощью bitbang connect <url>, что добавляет проброс портов (-L) и копирование файлов (bitbang cp). Соединение зашифровано сквозным шифрованием и работает по принципу peer-to-peer; сервер bitba.ng знакомит две стороны, а затем устраняется.
bitbang — это единый статический бинарник на Go. Он является частью проекта BitBang; этот whitepaper подробно описывает архитектуру.
Сравнение
| ngrok | Tailscale | bitbang | |
|---|---|---|---|
| Настройка перед первым использованием | Аккаунт + authtoken | Аккаунт + вход на каждом устройстве | Запуск одной команды |
| Чтобы что-то предоставить, вы запускаете | веб-сервер, плюс ngrok | их клиент на обеих машинах | bitbang serve |
| Что получает браузер на другом конце | веб-сервер, который вы уже запускали | ничего — ему нужен их клиент | терминал, файловый браузер и веб-приложения в удалённой сети |
| Путь данных | их серверы | P2P (с резервным релеем) | P2P (с резервным релеем) |
| Сквозное шифрование | Не по умолчанию | Да | Да |
Быстрые рецепты
Доступ к сервису дома
- Подключить домашний NAS откуда угодно (SMB)
- Смотреть медиатеку откуда угодно (Jellyfin)
- Использовать свою LLM откуда угодно (Ollama, Open WebUI)
- Проверять камеры видеонаблюдения (Frigate)
- Доступ к домашней автоматизации без её раскрытия (Home Assistant)
- Печать на домашний принтер (IPP, CUPS)
Попасть на машину
- Получить шелл на машине за NAT
- Получить шелл с телефона
- Удалённый рабочий стол на машину с Windows (RDP)
- Доступ к рабочему столу Linux или Mac (VNC)
- SSH к машине без открытого порта (OpenSSH)
- Настроить Raspberry Pi без монитора
Поделиться с кем-то другим
Поделиться означает просто дать кому-то уникальный URL или QR-код, который предоставляет им доступ. Права можно настроить и задать срок их истечения в минутах, часах и т. д.
- Делитесь файлами, никуда их не загружая
- Покажите кому-нибудь свой проект
- Покажите кому-нибудь ошибку, на которой вы застряли
- Дайте кому-нибудь доступ, который истекает
- Проверьте сеанс вашего агента с телефона (Claude Code, tmux)
- Почините чужой роутер
Разработка и устройства
- Подключитесь к базе данных с вашей машины разработчика (Postgres, MySQL)
- Синхронизируйте устройства, которые не могут найти друг друга (Syncthing)
- Наблюдайте за роботом из браузера (ROS, Foxglove)
Техники
- Что раскрывает перенаправляющий слушатель
- Позвольте другим машинам в вашей локальной сети использовать перенаправление
- Известно, что не работает
Использование bitbang
У каждого соединения два конца: слушатель (bitbang serve, запущенный на машине, к которой подключаются) и коннектор (браузер или CLI bitbang на машине, с которой подключаются). Один URL слушателя обслуживает оба вида коннекторов.
Слушатель: bitbang serve
bitbang serve # everything: shell + proxy + files + forward
bitbang serve shell # just a terminal
bitbang serve files ~/share # just a directory (-files-upload to allow uploads)
bitbang serve proxy localhost:8080 # just one web app, straight at the URL
bitbang serve proxy a.lan:80,b.lan:80 # ...or several, chosen in the browser
bitbang serve forward 127.0.0.1:22 # just TCP, for `connect -L`
bitbang serve shell files ~/share proxy nas.lan:8096 # any combination
Каждый из них выводит QR-код, URL и код сопряжения. Режим определяет, что слушатель может делать в принципе: serve shell не предоставляет проброс, а слушатель только для проброса никогда не запускает оболочку, поэтому повышать привилегии некуда.