peer-tweet - Decentralized feeds using BitTorrent's DHT

  •        49

BitTorrent's DHT is probably one of the most resilient and censorship-resistant networks on the internet. PeerTweet uses this network to allow users to broadcast tweets to anyone who is listening. When you start PeerTweet, it generates a hash @33cwte8iwWn7uhtj9MKCs4q5Ax7B which is similar to your Twitter username (ex. @lmatteis). The difference is that you have entire control over what can be posted because only you own the private key associated with such address. Furthermore, thanks to the DHT, what you post cannot be stopped by any government or institution. Once you find other PeerTweet addresses you trust (and are not spam), you can follow them. This configures your client to store this user's tweets and broadcasts them to the DHT every once in a while to keep their feed alive. This cooperation of following accounts, allows for feeds to stay alive in the DHT network. The PeerTweet protocol also publishes your actions such as I just followed @919c.. or I just liked @9139.. and I just retweeted @5789... This allows the possibility for new users to find other addresses they can trust; if I trust the user @6749.. and they're following @9801.., then perhaps I can mark @9801.. as not spam. This idea of publicly tweeting about your actions also allows for powerful future crawling analysis of this social graph.

https://github.com/lmatteis/peer-tweet

Dependencies:

ed25519-supercop : ^1.0.2

Tags
Implementation
License
Platform

   




Related Projects

KadNode - P2P DNS with content key, crypto key and PKI support. DynDNS alternative.

  •    C

KadNode is a small and decentralized DNS resolver that can use existing public key infrastructures. It utilizes the BitTorrent P2P network and mbedtls for TLS/crypto support. KadNode can intercept .p2p domain queries on the systems level and resolve them using a decentralized DHT network. TLS authentication can be used to make sure the correct IP address was found. If successful, the IP address is passed to the application making the request.

PeerTube - Decentralized video streaming platform using P2P (BitTorrent) directly in the web browser with WebTorrent.

  •    TypeScript

PeerTube is a decentralized video streaming platform using P2P (BitTorrent) directly in the web browser with WebTorrent. It is difficult to build a FOSS video streaming alternatives to YouTube, Dailymotion, Vimeo... with a centralized software. One organization alone cannot have enough money to pay bandwidth and video storage of its server. So there is a need of decentralized network (as Diaspora for example). But it's not enough because one video could become famous and overload the server. It's the reason why P2P protocol is used to limit the server load.

TomP2P - A P2P-based high performance key-value pair storage library

  •    Java

TomP2P is a P2P library and a distributed hash table (DHT) implementation which provides a decentralized key-value infrastructure for distributed applications. Each peer has a table that can be configured either to be disk-based or memory-based to store its values. TomP2P stores key-value pairs in a distributed manner. To find the peers to store the data in the distributed hash table, TomP2P uses an iterative routing to find the closest peers. Since TomP2P uses non-blocking communication, a future object is required to keep track of future results. This key concept is used for all the communication (iterative routing and DHT operations, such as storing a value on multiple peers) in TomP2P and it is also exposed in the API. Thus, an operation such as get or put will return immediately and the user can either block the operation to wait for the completion or add a listener that gets notified when the operation completes.

bittorrent-tracker - 🌊 Simple, robust, BitTorrent tracker (client & server) implementation

  •    Javascript

Node.js implementation of a BitTorrent tracker, client and server. A BitTorrent tracker is a web service which responds to requests from BitTorrent clients. The requests include metrics from clients that help the tracker keep overall statistics about the torrent. The response includes a peer list that helps the client participate in the torrent swarm.


gitchain - Decentralized, peer-to-peer Git repositories aka "Git meets Bitcoin"

  •    Go

Git is a free and open source distributed version control system designed to handle everything from small to very large projects with speed and efficiency. Gitchain is an application of ideas behind Bitcoin, Namecoin and DHT applied to Git hosting. Once you install it, it acts as a local proxy to the entire Gitchain P2P network.

Shareaza

  •    Assembly

Shareaza is a very powerful multi-network peer-to-peer ( P2P ) file-sharing client supporting Gnutellasup2; ( G2 ), Gnutella ( G1 ), eDonkey2000 ( eMule ), DC++, HTTP, FTP and BitTorrent / DHT protocols for Windows or Wine.

hlsjs-p2p-engine - A free hls

  •    Javascript

All domain names that are not bound in the management system (https://oms.cdnbye.com) will stop providing P2P services. Please bind your domain names in time to avoid being affected. Put the quick-start.html in your web page, run it. Wait for a few seconds,then open the same page from another browser. Now you have a direct P2P connection between two browsers without plugin! The first web peer will serve as a seed, if no one else in the same channel.

Bt - Java BitTorrent Done Right!

  •    Java

Bt is a lightweight framework for P2P-lovers and enthusiastic BitTorrent researchers, perfect choice for light enterprise and home usage and experimentation. It offers good performance, reliability and is highly customizable. With Bt you can create a production-grade BitTorrent client in a matter of minutes. Bt is still in its' early days, but is actively developed and designed with stability and maintainability in mind.

kadoh - The Kademlia DHT in Javascript for Node.js and Browsers

  •    Javascript

KadOH is a framework to build P2P applications for browsers and node.js. By implementing the basis of the Kademlia DHT, KadOH lets you build distributed web applications for mobile and desktop devices. With its flexible and extensible design, you can easily adapt KadOH to fit your needs. KadOH is available under the MIT License. See the wiki for more informations ! Also take look at our report and be aware that this document may be outdated.

YaCy - Decentralized Web Search

  •    Java

YaCy (read "ya see") is a free distributed search engine, built on principles of peer-to-peer (P2P) networks. It is distributed on several hundred computers so-called YaCy-peers. Each YaCy-peer independently crawls through the Internet, analyzes and indexes found web pages, and stores indexing results in a common database which is shared with other YaCy-peers using principles of P2P networks.

SocialVPN - P2P VPN that connects you to your friends computer

  •    C

SocialVPN is an open-source IPOP-based virtual network that connects your computers privately to your friends’ computers. It automatically maps online social network relationships using Jingle and XMPP to create your own user-defined peer-to-peer VPNs – with no hassle, and supporting unmodified TCP/IP applications.

kad - peer-to-peer application framework implementing the kademlia distributed hash table for node

  •    Javascript

Peer-to-peer application framework implementing the Kademlia distributed hash table for Node.js and the browser.Install kad as a dependency of your package using NPM.

Entangled

  •    Python

Entangled is a distributed hash table (DHT) and peer-to-peer tuple space, based on Kademlia. It is written in Python, and makes use of the Twisted framework. This can be used as a base for creating peer-to-peer (P2P) network applications.

magnetico - Autonomous (self-hosted) BitTorrent DHT search engine suite.

  •    Python

Autonomous (self-hosted) BitTorrent DHT search engine suite. Both programs, combined together, allows anyone with a decent Internet connection to access the vast amount of torrents waiting to be discovered within the BitTorrent DHT space, without relying on any central entity.

CacheP2P - "More users = More capacity"

  •    Javascript

CacheP2P is a highly distributed cache platform based on WebTorrent and runs only in the browser. It is a javascript library that once included in a website, makes every new user a mirror of the specific URL he has opened and allows it to serve it to all the other users that also are accessing the same website, so the website's server doesn't have to.

webtorrent - ⚡️ Streaming torrent client for the web

  •    Javascript

WebTorrent is a streaming torrent client for node.js and the browser. YEP, THAT'S RIGHT. THE BROWSER. It's written completely in JavaScript – the language of the web – so the same code works in both runtimes. In node.js, this module is a simple torrent client, using TCP and UDP to talk to other torrent clients.

Lbry - A fully decentralized network for distributing data

  •    Python

LBRY is a protocol that provides a fully decentralized network for the discovery, distribution, and payment of data. It utilizes the LBRY blockchain as a global namespace and database of digital content. Blockchain entries contain searchable content metadata, identities, and rights and access rules. It also provides a data network consists of peers uploading and downloading data from other peers, possibly in exchange for payments, and a distributed hash table, used by peers to discover other peers.

Radicle - A peer-to-peer stack for code collaboration

  •    Haskell

Radicle is a peer-to-peer stack for code collaboration. The Radicle stack builds on IPFS, and works without a centralized server. No hassle with setting up your own hosting, and no need to trust companies with your data. It contains a git repository, plus the associated issues and proposals. Access all the issues and proposals associated with your codebase right from your terminal.