Skip to content

srsoumyax11/Bee

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

16 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Bee Banner

🐝 Bee

Local File Sharing, Simplified.

Latest Release Go Version React Platform

πŸš€ The Problem & The Solution

The Problem:
Sharing files between your phone and laptop usually means emailing yourself, dealing with slow Bluetooth, or uploading to the cloudβ€”which requires Internet and eats up your data.

The Solution:
Bee creates a high-speed tunnel between your devices over your own Wi-Fi. No Internet required. No cables. Just run Bee, and your device becomes a secure file-sharing hub.


🌟 Why Use Bee?

  • ⚑ Blazing Fast: Transfers happen over LAN. Gigabit speeds are common.
  • πŸ”’ Private & Secure: Files never leave your local network. No cloud, no tracking.
  • πŸ“± Works Everywhere: If it has a browser, it works. PC, Mac, Android, iOS.
  • 🌐 Offline Capable: Works perfectly without an Internet connection.

Market Analysis: Why Bee Exists πŸ€”?

Why build another file sharing tool when so many exist?

Most existing tools fall into two categories: Infrastructure (Samba, FTP) or Peer-to-Peer Sync (LocalSend, Syncthing). Bee fills the gap for Ad-Hoc, One-to-Many Sharing.

1. The "Zero-Client" Advantage (vs. LocalSend / SHAREit)

  • The Competitor Way: To share a file, both sender and receiver must install the app.
  • The Bee Way: Only one person installs Bee. Everyone else just uses their browser.
  • Real World: In a classroom of 40 students, you can't ask everyone to install "LocalSend". But you can ask them to open 192.168.1.5:1111.

2. Asynchronous "Drop Box" (vs. Snapdrop / WebRTC)

  • The Competitor Way: Tools like Snapdrop use WebRTC. If the sender closes the tab, the transfer fails. It's strictly 1-to-1 live transfer.
  • The Bee Way: Bee acts as a mini-server. You can upload a file and walk away. The file stays there for others to download later.

3. Usability vs. Potency (vs. Python http.server)

  • The Competitor Way: Developers love python -m http.server, but it's download-only by default. No uploads. No UI.
  • The Bee Way: Bee provides a rich Drag & Drop Upload interface, mobile-responsive UI, and handles concurrent connections robustly.

🎭 Real-World Scenarios

1. The "Classroom Problem"

  • Situation: A professor needs to share a 500MB dataset with 40 students.
  • Old Way: Pass around 5 USB drives (takes 20 mins) or use slow campus Wi-Fi to email it.
  • With Bee: Professor runs Bee. Writes http://192.168.1.5:1111 on the whiteboard. 40 students open it and download the file in seconds. Zero installs for students.

2. The "Cross-Platform" Nightmare

  • Situation: You need to move a video from your iPhone to your Windows Laptop.
  • Old Way: Email it to yourself (too big), use iTunes (too slow), or upload to Drive (wastes data).
  • With Bee: Run Bee on Laptop. Open URL on iPhone. Upload. Done.

3. The "Basement Hackathon"

  • Situation: You are at a hackathon with spotty Internet. You need to share code/assets with your team.
  • With Bee: Bee creates a local high-speed tunnel. You can share large builds instantly without touching the outside Internet.

πŸ“₯ Quick Start

  1. Download: Get the latest bee executable for your OS from Releases.
  2. Run: Double-click bee.exe (Windows) or run ./bee (Linux/Mac) in your terminal.
  3. Connect:
    • Open http://localhost:1111 on your computer.
    • Share the displayed Local IP URL (e.g., http://192.168.1.5:1111) with others on your Wi-Fi.
    • Enter the PIN: 111111 (default).

🧩 How It Works & Storage

Bee acts as a Local Web Server on your device.

  1. Storage: When you run Bee, it creates an uploads folder in the same directory as the executable.

Warning

⚠️ Important Storage Notice

The device running Bee acts as the central storage.

  • Persistent: All uploaded files are saved to the uploads folder on this computer.
  • Access: Even if a user uploads a file and disconnects, the file remains on the server and can be downloaded by anyone else with the PIN.
  • Privacy: Share the PIN (111111) only with trusted people on your network.

βœ… Features & Roadmap

Here is what Bee can do now, and what's coming soon.

  • ⚑ Zero Config β€” Just run and share
  • πŸ”’ PIN Security β€” Simple 6-digit access control
  • πŸ“€ Drag & Drop β€” Intuitive file uploads
  • πŸ’» Multi-Device β€” Desktop, tablet, mobile support
  • πŸ‘₯ Live Presence β€” See who's online in real-time
  • βš™οΈ Cancelable Uploads β€” Stop transfers mid-way
  • πŸš€ Speed Improvements β€” Optimize for Gigabit performance
  • πŸ’¬ Public Chat Area β€” Text chat for connected users
  • πŸ“‚ Folder Uploads β€” Drag and drop entire folders
  • πŸ“¦ Batch Actions β€” Select and download multiple files
  • πŸŒ‘ Dark/Light Mode β€” Customizable themes
  • πŸ“± QR Code Connect β€” Scan to join instantly
  • πŸ“‹ Clipboard Sharing β€” Copy on PC, paste on Phone
  • πŸ” Custom Passwords β€” Set unique PINs per session

πŸ“Έ Screenshots

Desktop View
Desktop Screenshot
Mobile View
Mobile Screenshot

πŸ› οΈ Developer Guide

Want to build Bee from source?

1️⃣ Clone & Setup

git clone https://github.com/srsoumyax11/bee.git
cd bee
go mod download

2️⃣ Development (Hot Reload)

Terminal 1: Go Backend

go run . -port 1111

Terminal 2: React Frontend

cd frontend
npm install 
npm run dev

Open http://localhost:5173 for the frontend dev server.

3️⃣ Build for Production (Single Executable)

First, build the frontend:

cd frontend
npm run build
cd ..

Then, compile the binary for your platform (PowerShell):

πŸͺŸ Windows:

$env:GOOS="windows"; $env:GOARCH="amd64"; go build -o bee.exe

🐧 Linux:

$env:GOOS="linux"; $env:GOARCH="amd64"; go build -o bee-linux

🍎 macOS:

$env:GOOS="darwin"; $env:GOARCH="arm64"; go build -o bee-mac

🀝 Contributing

  1. Fork the repo & create a branch (git checkout -b feature/amazing-idea).
  2. Commit your changes (git commit -m 'Add amazing idea').
  3. Push to the branch (git push origin feature/amazing-idea).
  4. Open a Pull Request!

πŸ“„ License

This project is licensed under the MIT License.

Made with πŸ’› and Go