
Établissez un accès distant sécurisé à une machine avec un shell interactif, le transfert de fichiers et un proxy web via WebRTC peer-to-peer chiffré de bout en bout, en utilisant un navigateur ou une CLI, sans redirection de ports ni comptes.
bitbang est un multitool d'accès à distance sous forme d'un unique binaire statique. Depuis n'importe quel navigateur : un shell interactif et un navigateur de fichiers pour accéder à la machine distante. Vous pouvez également atteindre les applications web sur le réseau de cette machine. Au-delà du navigateur, il effectue du transfert de ports TCP, de la copie de fichiers et du partage de terminal. Il ne nécessite aucun compte ni configuration -- il fonctionne tout simplement.

Sur la machine que vous souhaitez atteindre :
curl -sSfL bitba.ng/install | sh
bitbang serve
serve affiche une URL. Ouvrez-la dans n'importe quel navigateur et vous obtenez un terminal, un navigateur de fichiers et un proxy vers le réseau de cette machine -- ou atteignez la même machine depuis un autre terminal avec bitbang connect <url>, qui ajoute le transfert de ports (-L) et la copie de fichiers (bitbang cp). La connexion est chiffrée de bout en bout et pair-à-pair ; le serveur bitba.ng met les deux extrémités en relation, puis s'efface.
bitbang est un unique binaire Go statique. Il fait partie du projet BitBang ; ce livre blanc couvre la conception en profondeur.
| ngrok | Tailscale | bitbang | |
|---|---|---|---|
| Configuration avant la première utilisation | Compte + authtoken | Compte + connexion sur chaque appareil | Exécuter une seule commande |
| Pour partager quelque chose, vous exécutez | un serveur web, plus ngrok | leur client sur les deux machines | bitbang serve |
| Ce qu'obtient un navigateur à l'autre bout | le serveur web que vous exécutiez déjà | rien -- il faut leur client | un terminal, un navigateur de fichiers et des applications web sur le réseau distant |
| Chemin des données | leurs serveurs | P2P (repli sur relais) | P2P (repli sur relais) |
| Chiffré de bout en bout | Pas par défaut | Oui | Oui |
Atteindre un service à la maison
Accéder à une machine
Partager avec quelqu'un d'autre
Le partage consiste simplement à donner à quelqu'un une URL unique ou un QR code qui lui donne accès. Les permissions peuvent être personnalisées et configurées pour expirer en minutes, heures, etc.
Développement et appareils
Techniques
bitbangChaque connexion a deux extrémités : un listener (bitbang serve, exécuté sur la machine à atteindre) et un connector (un navigateur, ou la CLI bitbang, sur la machine qui effectue la connexion). Une seule URL de listener sert les deux types 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