BitBang CLI — это одиночный статический бинарник на Go, который даёт удалённый доступ через браузер или CLI без проброса портов, VPN и аккаунта. На машине, к которой нужно подключиться, запускаешь curl -sSfL bitba.ng/install | sh, затем bitbang serve. Утилита выводит URL — открываешь его в любом браузере и сразу получаешь терминал, файловый браузер и HTTP/WebSocket-прокси к сети этой машины. Если браузер неудобен, можно подключиться из другого терминала той же утилитой: bitbang connect <url>.
Соединение end-to-end шифруется через WebRTC/DTLS и идёт напрямую, peer-to-peer. Сервер на bitba.ng лишь знакомит стороны, трафик через него не проходит; когда прямой путь невозможен, TURN-ретранслятор видит только шифротекст. Никакой телеметрии и учётных записей нет.
Когда невозможно вставить ссылку или отсканировать QR-код, serve печатает короткий 6-значный код. Вторая сторона открывает bitba.ng/<code> или выполняет bitbang connect <code>, у неё появляется своя пара цифр, которую диктуют обратно. Ты вводишь их для подтверждения — machine-in-the-middle подделать совпадение не сможет. После успешного соединения устройство сохраняется в ~/.bitbang/devices.json, и в следующий раз достаточно имени: bitbang connect nas1.
Инструмент решает типовые боли SSH. bitbang serve не требует открытого порта и работает за любым NAT или CGNAT, как у сотовых операторов и Starlink. Настройка нулевая: не нужно включать sshd, закидывать публичный ключ — соединение устанавливается голосовым подтверждением кода, а работает от обычного пользователя без root. Вместо отдельных туннелей под каждое веб-приложение здесь универсальный прокси — указываешь адрес вроде nas.local, 192.168.1.10:8080 или localhost:3000/admin уже при подключении. На клиентской стороне достаточно браузера, так что подойдёт телефон или чужой ноутбук.
Формы запуска слушателя: bitbang serve (всё сразу), bitbang serve shell, bitbang serve files ~/share (с флагом -upload разрешается запись) или bitbang serve proxy localhost:8080. Клиентская часть кроме интерактивного shell принимает одноразовые команды через --, а bitbang cp <url>:/path ./local работает в стиле scp, поддерживая stdin/stdout.
Идентификация беcпарольная: при первом запуске генерируется RSA-ключ, UID устройства вычисляется из публичного ключа — подделать его нельзя. Секрет на сервер никогда не попадает, а авторизующий токен живёт во фрагменте URL, который браузер не отправляет.
Установочный однострочник определяет архитектуру (amd64, arm64, armv7), скачивает бинарник из релизов на GitHub, сверяет SHA-256 по чексуммам и кладёт в ~/.local/bin. Можно закрепить версию или поставить в другое место, а сам скрипт доступен для аудита в репозитории. Билды под macOS и Windows готовятся. Серверная часть опенсорсная, self-hostable — в переменной INSTALL_URL можно указать свой редирект для установки.
Из планов: serial-бриджи, TCP-проброс портов и удалённый рабочий стол. Лицензия MIT.