Skip to content

cromaguy/Aether

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

19 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🌌 Aether

Fast, Private, and Decentralized Peer-to-Peer File Transfer.

License: MIT Node.js WebRTC

Aether is a browser-based P2P tool that allows users to send large files directly to each other without the need for a central storage server. By leveraging WebRTC, Aether establishes a direct "pipeline" between two browsers, ensuring your data never touches a third-party server.

🚀 Live Demo | 🛠️ Backend Status


✨ Features

  • 🚀 Direct P2P Transfer: Files are streamed directly from Peer A to Peer B using WebRTC Data Channels.
  • 🔒 Privacy First: Since files aren't uploaded to a server, your data remains private and secure.
  • 📦 Large File Support: Intelligent file chunking and dynamic buffer management prevent browser crashes.
  • 🔑 Private Rooms: Host your own rooms with optional passwords and custom peer limits.
  • 📱 Fully Responsive: A sleek, modern UI that works seamlessly on desktops, tablets, and smartphones.
  • 🛠️ Advanced Settings: Custom accent colors, Verbose mode for technical logs, and adjustable networking tweaks (Chunk size, Buffer limits).
  • ⚡ Instant Connection: Unique room codes for quick pairing via a lightweight Socket.io signaling server.

🛠️ Tech Stack

Component Technology Purpose
Frontend HTML5, CSS3, JavaScript Modern, responsive user interface
Signaling Node.js, Socket.io Matchmaking peers and swapping connection details
Protocol WebRTC Establishing the direct peer-to-peer data channel
Infrastructure Vercel & Render High-availability hosting for frontend and backend

⚙️ How It Works

Aether follows a four-step process to connect two strangers across the internet:

  1. Signaling: User A creates a room. User B joins using a code. The signaling server (Node.js) helps them find each other.
  2. The Handshake: The browsers exchange SDP (Session Description Protocol) packets and ICE Candidates to negotiate the best network path.
  3. Direct Pipeline: Once a path is found, a RTCDataChannel is opened. The signaling server now steps out of the way.
  4. Chunked Streaming: The file is sliced into small binary chunks, sent across the P2P line, and reassembled on the receiver's end as a Blob.

📜 License

Distributed under the MIT License. See LICENSE for more information.


Built with ❤️ by Team ChromaHub

About

A web app where User A gets a unique link or code. User B enters it, and they can drag-and-drop files directly to each other over their local network or the internet.

Topics

Resources

License

Stars

Watchers

Forks

Contributors