
Sicheren Fernzugriff auf einen Rechner mit interaktiver Shell, Dateiübertragung und Web-Proxy über Ende-zu-Ende-verschlüsseltes Peer-to-Peer-WebRTC einrichten, über einen Browser oder die CLI, ohne Port-Weiterleitung oder Konten.
bitbang ist ein Multitool für den Fernzugriff, das als einzelne statische Binärdatei vorliegt. Von jedem Browser aus: interaktiver Shell- und Dateibrowser-Zugriff auf die entfernte Maschine. Du kannst auch Web-Apps im Netzwerk dieser Maschine erreichen. Über den Browser hinaus bietet es TCP-Portweiterleitung, Dateikopieren und Terminal-Freigabe. Es erfordert kein Konto und keine Konfiguration -- es funktioniert einfach.

Auf der Maschine, die du erreichen möchtest:
curl -sSfL bitba.ng/install | sh
bitbang serve
serve gibt eine URL aus. Öffnen Sie sie in einem beliebigen Browser und Sie erhalten ein Terminal, einen Dateibrowser und einen Proxy zum Netzwerk dieser Maschine -- oder erreichen Sie dieselbe Maschine von einem anderen Terminal aus mit bitbang connect <url>, was Portweiterleitung (-L) und Dateikopieren (bitbang cp) hinzufügt. Die Verbindung ist Ende-zu-Ende-verschlüsselt und Peer-to-Peer; der bitba.ng-Server stellt die beiden Enden einander vor und tritt dann beiseite.
bitbang ist ein einzelnes statisches Go-Binary. Es ist Teil des BitBang-Projekts; dieses Whitepaper behandelt das Design ausführlich.
| ngrok | Tailscale | bitbang | |
|---|---|---|---|
| Einrichtung vor der ersten Nutzung | Konto + Authtoken | Konto + Anmeldung auf jedem Gerät | Einen Befehl ausführen |
| Um etwas zu teilen, führen Sie aus | einen Webserver, plus ngrok | deren Client auf beiden Maschinen | bitbang serve |
| Was ein Browser am anderen Ende erhält | den Webserver, den Sie ohnehin schon betrieben haben | nichts -- er benötigt deren Client | ein Terminal, einen Dateibrowser und Web-Apps im entfernten Netzwerk |
| Datenpfad | deren Server | P2P (Relay-Fallback) | P2P (Relay-Fallback) |
| Ende-zu-Ende-verschlüsselt | Standardmäßig nicht | Ja | Ja |
Einen Dienst zu Hause erreichen
Auf eine Maschine gelangen
Mit jemand anderem teilen
Teilen bedeutet einfach, jemandem eine eindeutige URL oder einen QR-Code zu geben, der ihm Zugriff gewährt. Berechtigungen können individuell angepasst und so eingestellt werden, dass sie in Minuten, Stunden usw. ablaufen.
Entwicklung und Geräte
Techniken
bitbangJede Verbindung hat zwei Enden: einen Listener (bitbang serve, der auf der zu erreichenden Maschine läuft) und einen Connector (ein Browser oder die bitbang-CLI auf der Maschine, die die Verbindung herstellt). Eine Listener-URL bedient beide Arten von 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