WebTorrent

From Infogalactic: the planetary knowledge core
Jump to: navigation, search

<templatestyles src="Module:Hatnote/styles.css"></templatestyles>

Lua error in package.lua at line 80: module 'strict' not found.

WebTorrent
WebTorrent 68747470733a2f2f776562746f7272656e742e696f2f696d672f576562546f7272656e742e706e67.png
The WebTorrent logo.
Original author(s) Feross Aboukhadijeh, John Hiesey, etc
Developer(s) WebTorrent
Initial release 22 October 2013; 10 years ago (2013-10-22)
Stable release 0.102.4 / 30 August 2018; 5 years ago (2018-08-30)
Development status Active
Written in JavaScript
Operating system web browsers
FreeBSD, Linux, macOS, Windows
Available in JavaScript
Type communications protocol, distributed file system, content delivery network
Website WebTorrent.io

Lua error in package.lua at line 80: module 'strict' not found.


WebTorrent is a peer-to-peer (P2P) streaming torrent client written completely in JavaScript by Feross Aboukhadijeh (who also created YouTube Instant), John Hiesey, and the team at WebTorrent and on GitHub, for use in web browsers, as well as a WebTorrent Desktop stand alone version able to bridge WebTorrent and BitTorrent serverless networks.

History

The idea behind WebTorrent is to make BitTorrent work on the web in a browser.[1] Any web browser should be able to connect to a peer-to-peer swarm, fetch content, verify that it's correct, and display it to the user - all as much as possible without centralized servers relying on a network entirely of people's browsers.[2]

Before WebTorrent the developers first tried Peer-CBN (content delivery network) as a start up that sold to Yahoo in 2013. A goal of WebTorrent is to maintain compatibility with BitTorrent as much as possible. WebTorrent uses the same protocol as BitTorrent but uses a different transport. BitTorrent uses TCP connections and UDP packets that currently don't work on the web for security reasons, while WebTorrent uses WebRTC facilitating peer-to-peer connectivity and functions on the web as the only option to avoid using servers (ie. web sockets and middlemen servers, etc).[2] There are also interesting hybrid application combinations with HTTP URLs where a server is accessed by the first peer, starting the sharing process, crossing over from server based to P2P based content.

WebTorrent Desktop

The WebTorrent Desktop bridges the two networks of WebRTC-based WebTorrent and TCP/UDP-based BitTorrent simultaneously. The BitTorrent client Vuze (formerly Azureus) less gracefully but adequately functionally incorporated WebTorrent adding simultaneous network bridging to their software. The developers used Electron that makes desktop apps using JavaScript with access to all the APIs from Chrome and Node.[2]

Functionality

Online video is the core focus as that is where WebTorrent is most useful. If not combined with HTTP in a hybrid approach then P2P alone has a higher latency up front as peers must be found. It's less suited for smaller files or data sets but is ideal for larger files.[2]

File availability, like with BitTorrents is dependent on torrent seeding. If few users are sharing a file an HTTP server providing webseeding would be the fall back. There is no sharing without webseeding. This is not necessarily a bad thing. Rather than using a middleman upload site to share a large private file with another person, with WebTorrent you may directly connect without leaving traces somewhere or potentially being archived on some upload site. You simply drag and drop your file to create a magnet link you may share with your friend. Connections are already encrypted but you may add extra layers of encryption with keys to send another way. RAM limits may be managed with IndexDB.[2]

Adoption

BitChute

<templatestyles src="Module:Hatnote/styles.css"></templatestyles>

BitChute is a video hosting service that uses WebTorrent P2P technology[3][4] in order to diffuse, redistribute, and ease bandwidth and issues of centralized streaming[citation needed] and to make it much more difficult for governments and corporations to censor, disrupt, and/or block access to videos after they are uploaded and sharing.[citation needed]

Brave

<templatestyles src="Module:Hatnote/styles.css"></templatestyles>

Brave web browser and PopChest are "open source supporters" of WebTorrent, as displayed on WebTorrent's homepage.[5]

Safari

<templatestyles src="Module:Hatnote/styles.css"></templatestyles>

The Safari web browser is incorporating WebRTC and data channel support, as it's going to be in iOS 11, however for some reason they're requesting permissions from users for access to web-cams, according to rumours.[2]

Instant.io

You may try out the WebTorrent magnets at Instant.io.

Reception

Lua error in package.lua at line 80: module 'strict' not found.

See also

<templatestyles src="Div col/styles.css"/>

Content and video platforms

Decentralized web and P2P networks

  • Coral Content Distribution Network, inactive
  • Dat, a data distribution tool with version controls tracking changes and publishing datasets, Git-like
  • Distributed Internet Backup System (DIBS)
  • Freenet, a peer-to-peer platform for censorship-resistant communication. It uses a decentralized distributed data store to keep and deliver information, and has a suite of free software for publishing and communicating on the Web without fear of censorship
  • GNUnet, a libre software framework for decentralized, peer-to-peer networking and an official GNU package
  • I2P, Invisible Internet Project, an overlay network with pseudonymous and secure messaging
  • IndieWeb, software utilities to maintain personal social data and host blogs independently on their own web domains rather than corporate centralized social networks
  • IOTA (technology), based on tangles as a blockless distributed ledger architecture, a transactional settlement and data integrity layer for the Internet of Things and support nanopayments and the Machine-to-Machine economy
  • Lino (network), an upcoming decentralized autonomous content economy, possibly DTube-like or Steemit-like
  • OpenBazaar, an e-commerce transaction protocol and decentralized marketplace using bitcoin
  • Osiris (Serverless Portal System), freeware to create web portals distributed via peer-to-peer networking (P2P) and autonomously from centralized servers
  • Protocol Labs and Juan Benet (computer scientist), developing 5 projects:
    • Filecoin, a cryptocurrency and digital payment system for the IPFS-based cooperative storage cloud and Decentralized Web.
    • IPFS, InterPlanetary File System, a hypermedia distribution protocol and network designed to create a Decentralized Web with content-addressable peer-to-peer storage.
    • IPLD, InterPlanetary Linked Data, the connective cryptographic hash data model for a content-addressable Decentralized Web easing navigation and congestion.
    • libp2p, a modular networking stack to unite various transports and peer-to-peer protocols for developers to easily build large robust p2p networks, like IPFS.
    • Multiformats, a collection of protocols that future-proof systems, presently, with self-describing formats to make systems interoperable and upgradable.
  • Siacoin / Sia (technology),
  • Solid (web decentralization project) (Social Linked Data), a web decentralization project led by Tim Berners-Lee, inventor of the World Wide Web
  • STORJ, a Ethereum-based cryptocurrency, payment system, and blockchain-based storage and retrieval data cloud
  • Tor, The Onion Router, anonymous internet browsing and publishing
  • WebTorrent and , like BitTorrent but uses WebRTC instead of TCP and UDP
  • WebTorrent Desktop, bridges BitTorrent and WebTorrent
  • ZeroNet, with Namecoin decentralized domain registration

Decentralizing and networking

References

  1. Lua error in package.lua at line 80: module 'strict' not found.
  2. 2.0 2.1 2.2 2.3 2.4 2.5 Lua error in package.lua at line 80: module 'strict' not found. @4:35+
  3. Lua error in package.lua at line 80: module 'strict' not found.
  4. Lua error in package.lua at line 80: module 'strict' not found.
  5. Lua error in package.lua at line 80: module 'strict' not found.

External links