@teleport-js/teleport

0.0.10 • Public • Published


Teleport

Teleport.js

Hybrid P2P File transfer Javascript module for both node and the web

Features

  • Available as a CLI tool and a website 🚀 - Which can talk between themselves or each other.
  • An opensource alternative to AirDrop - Discovers localNetwork devices and get Files with a single click
  • No signUp needed fully P2P.
  • Unique approach of using a mix of WebRTC and Webtorrent to scale onDemand and reusing existing connections and storage
  • Supports multiple users at the same time for a file.
  • Evades the wait time for torrent-creation induced by webTorrent by mimicing the chunkStore using normal webRTC and seding pieces prematurely. Once the torrent has been created , every peer connection is reused and webTorrent downloads only the pieces left - Huge perfomance boost 🚀.
  • Uses the best approach based on the scale, torrentMode gets activated only if the roomSize gets larger ( more than 2 receivers)

Installing and CLI Usage

NPM install globally

$ npm i -g @teleport-js/teleport

To send a file

$ teleport send a.txt

To receive a file/text data using portal_code

$ teleport receive tyu-dsf-hji

To send clipboard data

$ teleport send -c

Find nearby / recently used portals

$ teleport receive

To send Text data

$ teleport send -t "Hello world"

To receive a file/text data using a recently connected nickname

$ teleport receive mike

API Usage

Create a new instance

const teleport = new Teleport(
  {
    server: "teleport server url", //Default heroku url
    onConnect: init,
  } // Called once instantiated
);

Create a room

teleport.createRoom(
  "Myroom", //nickname
  (words) => {
    console.log(words);
  }
); // callback called with roomJoining code apple-orange-cable

Join a room

teleport.joinRoom({nickname:'User1'  // Display name on Joining the room
roomName:'apple-orange-cable'},()=>{console.log('Room Joined')}) // callback on successfully joining the room

Search for rooms in the localNetwork and join them without RoomCode (Privacy configurable)

teleport.search((roomCodes) => {
  console.log(roomCodes); // ['apple-orange-cable']
});

Readme

Keywords

none

Package Sidebar

Install

npm i @teleport-js/teleport

Weekly Downloads

13

Version

0.0.10

License

ISC

Unpacked Size

1.98 MB

Total Files

25

Last publish

Collaborators

  • kandavel
  • stalemate
  • mohanpierce99