
Establece acceso remoto seguro a una máquina con shell interactivo, transferencia de archivos y proxy web a través de WebRTC peer-to-peer cifrado de extremo a extremo, usando un navegador o CLI sin reenvío de puertos ni cuentas.
bitbang es una herramienta multiusos de acceso remoto en un único binario estático. Desde cualquier navegador: acceso a un shell interactivo y a un explorador de archivos de la máquina remota. También puedes acceder a aplicaciones web en la red de esa máquina. Más allá del navegador, realiza reenvío de puertos TCP, copia de archivos y compartición de terminal. No requiere cuenta ni configuración: simplemente funciona.

En la máquina a la que quieres acceder:
curl -sSfL bitba.ng/install | sh
bitbang serve
serve imprime una URL. Ábrela en cualquier navegador y obtendrás un terminal, un explorador de archivos y un proxy hacia la red de esa máquina -- o accede a la misma máquina desde otro terminal con bitbang connect <url>, que añade reenvío de puertos (-L) y copia de archivos (bitbang cp). La conexión está cifrada de extremo a extremo y es peer-to-peer; el servidor bitba.ng presenta los dos extremos y luego se aparta.
bitbang es un único binario estático de Go. Forma parte del proyecto BitBang; este whitepaper cubre el diseño en profundidad.
| ngrok | Tailscale | bitbang | |
|---|---|---|---|
| Configuración antes del primer uso | Cuenta + authtoken | Cuenta + inicio de sesión en cada dispositivo | Ejecutar un comando |
| Para compartir algo, ejecutas | un servidor web, más ngrok | su cliente en ambas máquinas | bitbang serve |
| Lo que obtiene un navegador en el extremo remoto | el servidor web que ya estabas ejecutando | nada -- necesita su cliente | un terminal, un explorador de archivos y aplicaciones web en la red remota |
| Ruta de los datos | sus servidores | P2P (con respaldo por relay) | P2P (con respaldo por relay) |
| Cifrado de extremo a extremo | No por defecto | Sí | Sí |
Acceder a un servicio en casa
Acceder a una máquina
Compartir con otra persona
Compartir consiste simplemente en dar a alguien una URL única o un código QR que le dé acceso. Los permisos se pueden personalizar y configurar para que caduquen en minutos, horas, etc.
Desarrollo y dispositivos
Técnicas
bitbangToda conexión tiene dos extremos: un listener (bitbang serve, ejecutándose en la máquina a la que se accede) y un connector (un navegador, o la CLI bitbang, en la máquina que realiza el acceso). Una única URL de listener sirve a ambos tipos de connector.
bitbang servebitbang 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
Cada uno imprime un código QR, una URL y un código de emparejamiento. El modo determina qué puede hacer el listener en absoluto: serve shell no tiene forwarding que conceder, y un listener de solo forwarding nunca inicia un shell, así que no hay nada a lo que escalar.