Download/upload files using the WebTorrent protocol (BitTorrent over WebRTC). This is a beta.
Powered by WebTorrent, the first torrent client that works in the
browser without plugins. WebTorrent is powered by JavaScript and WebRTC. Supports Chrome,
Firefox, Opera (desktop and Android). Run localStorage.debug = '*'
in the
console and refresh to get detailed log output.
?magnet=...
is now a url param so that this service can be used to direct a user to a specific torrent.?tracker=...
is now a url param so that this service can be used to use a specific tracker after the torrent has been generated.
If you just want to do file transfer on your site, or fetch/seed files over WebTorrent, then there's no need to run a copy of instant.io on your own server. Just use the WebTorrent script directly. You can learn more at https://webtorrent.io.
The client-side code that instant.io uses is here.
To get a clone of https://instant.io running on your own server, follow these instructions.
Get the code:
git clone https://github.com/webtorrent/instant.io
cd instant.io
npm install
Modify the configuration options in config.js
to set the IP/port you want the server to listen on.
Copy secret/index-sample.js
to secret/index.js
and update the options in there to a valid TURN server if you want a NAT traversal service (to help peers connect when behind a firewall).
To start the server, run npm run build && npm start
. That should be it!
The bittorrent-tracker
can be set to localhost if needed. When using the bittorrent-tracker
make sure the websocket server is
enabled. Note that Instant.io filters out the http servers in the default trackers list.
-
Create a shareable link by adding a torrent infohash or magnet link to the end of the URL. For example:
https://instant.io#INFO_HASH
orhttps://instant.io/#MAGNET_LINK
. -
You can add multiple torrents in the same browser window.
MIT. Copyright (c) WebTorrent, LLC.