
ब्राउज़र या CLI का उपयोग करके, बिना पोर्ट फ़ॉरवर्डिंग या खातों के, एंड-टू-एंड एन्क्रिप्टेड पीयर-टू-पीयर WebRTC के माध्यम से इंटरैक्टिव शेल, फ़ाइल स्थानांतरण और वेब प्रॉक्सी के साथ किसी मशीन पर सुरक्षित दूरस्थ पहुँच स्थापित करें।
bitbang एक एकल स्थैतिक बाइनरी रिमोट-एक्सेस मल्टीटूल है। किसी भी ब्राउज़र से: रिमोट मशीन तक इंटरैक्टिव शेल और फ़ाइल ब्राउज़र एक्सेस। आप उस मशीन के नेटवर्क पर वेब ऐप्स तक भी पहुँच सकते हैं। ब्राउज़र के अलावा, यह TCP पोर्ट फ़ॉरवर्डिंग, फ़ाइल कॉपी और टर्मिनल शेयरिंग करता है। इसे किसी खाते या कॉन्फ़िगरेशन की आवश्यकता नहीं है — यह बस काम करता है।

उस मशीन पर जिस तक आप पहुँचना चाहते हैं:``` curl -sSfL bitba.ng/install | sh bitbang serve
`serve` एक URL प्रिंट करता है। इसे किसी भी ब्राउज़र में खोलें और आपको एक टर्मिनल, एक फ़ाइल ब्राउज़र, और उस मशीन के नेटवर्क का एक प्रॉक्सी मिलता है — या `bitbang connect <url>` के साथ दूसरे टर्मिनल से उसी मशीन तक पहुँचें, जो पोर्ट फ़ॉरवर्डिंग (`-L`) और फ़ाइल कॉपी (`bitbang cp`) जोड़ता है। कनेक्शन एंड-टू-एंड एन्क्रिप्टेड और पीयर-टू-पीयर है; `bitba.ng` सर्वर दोनों सिरों को परिचित कराता है, फिर किनारे हट जाता है।
`bitbang` एक एकल स्थिर Go बाइनरी है। यह [BitBang प्रोजेक्ट](https://github.com/richlegrand/bitbang) का हिस्सा है; यह [whitepaper](https://github.com/richlegrand/bitbang/blob/main/whitepaper.md) डिज़ाइन को गहराई से कवर करता है।
## इसकी तुलना कैसे होती है
| | ngrok | Tailscale | `bitbang` |
| ------------------------------ | ---------------------- | ------------------------------ | ------------------- |
| पहले उपयोग से पहले सेटअप | खाता + authtoken | खाता + हर डिवाइस पर लॉगिन | **एक कमांड चलाएँ** |
| कुछ साझा करने के लिए, आप चलाते हैं | एक वेब सर्वर, साथ ही ngrok | दोनों मशीनों पर उनका क्लाइंट | **`bitbang serve`** |
| दूर के छोर पर ब्राउज़र को क्या मिलता है | वह वेब सर्वर जो आप पहले से चला रहे थे | कुछ नहीं — उसे उनके क्लाइंट की ज़रूरत है | **एक टर्मिनल, एक फ़ाइल ब्राउज़र, और रिमोट नेटवर्क पर वेब ऐप्स** |
| डेटा पथ | उनके सर्वर | P2P (रिले फ़ॉलबैक) | **P2P (रिले फ़ॉलबैक)** |
| एंड-टू-एंड एन्क्रिप्टेड | डिफ़ॉल्ट रूप से नहीं | हाँ | **हाँ** |
## त्वरित रेसिपी
**घर पर किसी सेवा तक पहुँचें**
- [अपने होम NAS को कहीं से भी माउंट करें (SMB)](https://github.com/richlegrand/bitbang/blob/main/cookbook.md#mount-your-home-nas-from-anywhere-smb)
- [अपनी मीडिया लाइब्रेरी कहीं से भी देखें (Jellyfin)](https://github.com/richlegrand/bitbang/blob/main/cookbook.md#watch-your-media-library-from-anywhere-jellyfin)
- [अपना खुद का LLM कहीं से भी उपयोग करें (Ollama, Open WebUI)](https://github.com/richlegrand/bitbang/blob/main/cookbook.md#use-your-own-llm-from-anywhere-ollama-open-webui)
- [अपने सुरक्षा कैमरे जाँचें (Frigate)](https://github.com/richlegrand/bitbang/blob/main/cookbook.md#check-your-security-cameras-frigate)
- [अपने होम ऑटोमेशन तक बिना उजागर किए पहुँचें (Home Assistant)](https://github.com/richlegrand/bitbang/blob/main/cookbook.md#reach-your-home-automation-without-exposing-it-home-assistant)
- [अपने होम प्रिंटर पर प्रिंट करें (IPP, CUPS)](https://github.com/richlegrand/bitbang/blob/main/cookbook.md#print-to-your-home-printer-ipp-cups)
**किसी मशीन पर पहुँचें**
- [NAT के पीछे किसी मशीन पर शेल प्राप्त करें](https://github.com/richlegrand/bitbang/blob/main/cookbook.md#get-a-shell-on-a-machine-behind-nat)
- [अपने फ़ोन से शेल प्राप्त करें](https://github.com/richlegrand/bitbang/blob/main/cookbook.md#get-a-shell-from-your-phone)
- [Windows मशीन पर रिमोट डेस्कटॉप (RDP)](https://github.com/richlegrand/bitbang/blob/main/cookbook.md#remote-desktop-into-a-windows-machine-rdp)
- [Linux या Mac डेस्कटॉप तक पहुँचें (VNC)](https://github.com/richlegrand/bitbang/blob/main/cookbook.md#reach-a-linux-or-mac-desktop-vnc)
- [बिना खुले पोर्ट वाली मशीन पर SSH (OpenSSH)](https://github.com/richlegrand/bitbang/blob/main/cookbook.md#ssh-to-a-machine-with-no-open-port-openssh)
- [हेडलेस Raspberry Pi सेट अप करें](https://github.com/richlegrand/bitbang/blob/main/cookbook.md#set-up-a-headless-raspberry-pi)
**किसी और के साथ साझा करें**
साझा करने का मतलब है किसी को एक अद्वितीय URL या QR कोड देना जो उन्हें पहुँच देता है। अनुमतियाँ अनुकूलित की जा सकती हैं और मिनटों, घंटों आदि में समाप्त होने के लिए सेट की जा सकती हैं।
- [फ़ाइलें बिना कहीं अपलोड किए साझा करें](https://github.com/richlegrand/bitbang/blob/main/cookbook.md#share-files-without-uploading-them-anywhere)
- [किसी को अपना प्रोजेक्ट दिखाएँ](https://github.com/richlegrand/bitbang/blob/main/cookbook.md#show-someone-your-project)
- [किसी को समाप्त होने वाली पहुँच दें](https://github.com/richlegrand/bitbang/blob/main/cookbook.md#give-someone-access-that-expires)
- [अपने फ़ोन से अपना एजेंट सत्र जाँचें (Claude Code, tmux)](https://github.com/richlegrand/bitbang/blob/main/cookbook.md#check-your-agent-session-from-your-phone-claude-code-tmux)
- [किसी और का राउटर ठीक करें](https://github.com/richlegrand/bitbang/blob/main/cookbook.md#fix-someone-elses-router)
**विकास और डिवाइस**
- [अपने डेव मशीन से डेटाबेस तक पहुँचें (Postgres, MySQL)](https://github.com/richlegrand/bitbang/blob/main/cookbook.md#reach-a-database-from-your-dev-machine-postgres-mysql)
- [ऐसे डिवाइस सिंक करें जो एक-दूसरे को नहीं ढूँढ सकते (Syncthing)](https://github.com/richlegrand/bitbang/blob/main/cookbook.md#sync-devices-that-cannot-find-each-other-syncthing)
- [ब्राउज़र से रोबोट देखें (ROS, Foxglove)](https://github.com/richlegrand/bitbang/blob/main/cookbook.md#watch-a-robot-from-a-browser-ros-foxglove)
**तकनीकें**
- [फ़ॉरवर्डिंग लिसनर क्या उजागर करता है](https://github.com/richlegrand/bitbang/blob/main/cookbook.md#what-a-forwarding-listener-exposes)
- [अपने LAN पर अन्य मशीनों को फ़ॉरवर्ड का उपयोग करने दें](https://github.com/richlegrand/bitbang/blob/main/cookbook.md#let-other-machines-on-your-lan-use-a-forward)
- [ज्ञात रूप से काम नहीं करता](https://github.com/richlegrand/bitbang/blob/main/cookbook.md#known-not-to-work)
## `bitbang` का उपयोग करना
हर कनेक्शन के दो सिरे होते हैं: एक **लिसनर** (`bitbang serve`, जो पहुँची जा रही मशीन पर चलता है) और एक **कनेक्टर** (एक ब्राउज़र, या `bitbang` CLI, पहुँचने वाली मशीन पर)। एक लिसनर 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 में फॉरवर्डिंग देने के लिए कुछ नहीं होता, और एक फॉरवर्ड-ओनली लिसनर कभी शेल शुरू नहीं करता, इसलिए एस्केलेट करने के लिए कुछ भी नहीं होता।
एक डिफ़ॉल्ट जानने लायक है: फॉरवर्डिंग और प्रॉक्सी किसी भी होस्ट:पोर्ट तक पहुँच सकते हैं जिस तक लिसनर पहुँच सकता है, न कि केवल उसी तक जो आपके मन में था, इसलिए डेटाबेस के लिए बाँटा गया लिंक उस नेटवर्क के बाकी हिस्सों तक भी पहुँचता है। टारगेट का नाम शब्द के बाद रखने से यह सीमित हो जाता है -- forward db.internal:5432 केवल उसी तक पहुँचता है और किसी और चीज़ तक नहीं।
bitbang share