croqaz / awesome-decentralized

🕶 Awesome list of distributed, decentralized, p2p apps and tools 👍
839 stars 70 forks source link

add projects: usenet, freenet, gnunet, secushare, gun #36

Open milahu opened 1 year ago

milahu commented 1 year ago

usenet

https://en.wikibooks.org/wiki/The_World_of_Peer-to-Peer_(P2P)/Networks_and_Protocols#Usenet https://en.wikipedia.org/wiki/Network_News_Transfer_Protocol # NNTP protocol

not really "decentralized"?

usenet is somewhat popular in germany for filesharing, next to one-click-hosting, because people are afraid of cease-and-desist requests (abmahnungen) for bittorrent seeding (though its usually safe to ignore such requests)

Usenet is the original peer to peer file-sharing application. It was originally developed to make use of UUCP (Unix to Unix Copy) to synchronize two computers' message queues. Usenet stores each article in an individual file and each newsgroup in its own directory. Synchronizing two peers is as simple as synchronizing selected directories in two disparate filesystems.

Usenet was created with the assumption that everyone would receive, store and forward the same news. This assumption greatly simplified development to the point where a peer was able to connect to any other peer in order to get news. The fragmentation of Usenet into myriad newsgroups allowed it to scale while preserving its basic architecture. 'Every node stores all news' became 'every node stores all news in newsgroups it subscribes to'.

Of all other peer-to-peer protocols, Usenet is closest to Freenet since all nodes are absolutely equal and global maps of the network are not kept by any subset of nodes. Unlike Freenet, which works by recursive pulling of a requested object along a linear chain of peers, Usenet works by recursive pushing of all news to their immediate neighbors into a tree.

nntpchan

https://github.com/majestrate/nntpchan

NNTPChan (previously known as overchan) is a decentralized imageboard that uses the NNTP protocol (network-news transfer protocol) to synchronize content between many different servers. It utilizes cryptographically signed posts to perform optional/opt-in decentralized moderation.

freenet

https://freenetproject.org/ https://github.com/hyphanet/fred https://en.wikipedia.org/wiki/Freenet https://geti2p.net/en/comparison/freenet https://en.wikibooks.org/wiki/The_World_of_Peer-to-Peer_(P2P)/Networks_and_Protocols/Other_Software_Implementations#Freenet

distributed data store

Freenet is a peer-to-peer platform for censorship-resistant, anonymous 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.[4][5]: 151  Both Freenet and some of its associated tools were originally designed by Ian Clarke, who defined Freenet's goal as providing freedom of speech on the Internet with strong anonymity protection.[6][7]

The distributed data store of Freenet is used by many third-party programs and plugins to provide microblogging and media sharing,[8] anonymous and decentralised version tracking,[9] blogging,[10] a generic web of trust for decentralized spam resistance,[11] Shoeshop for using Freenet over sneakernet,[12] and many more.

gnunet

https://www.gnunet.org/en/ https://en.wikipedia.org/wiki/GNUnet https://www.reddit.com/r/ipfs/comments/duqg8e/gnunet_seems_very_similar_to_ipfs_but_they_also/ https://en.wikibooks.org/wiki/The_World_of_Peer-to-Peer_(P2P)/Networks_and_Protocols/Other_Software_Implementations#GNUnet

framework of distributed protocols

GNUnet is a software framework for decentralized, peer-to-peer networking and an official GNU package. The framework offers link encryption, peer discovery, resource allocation, communication over many transports (such as TCP, UDP, HTTP, HTTPS, WLAN and Bluetooth) and various basic peer-to-peer algorithms for routing, multicast and network size estimation.[5][6]

GNUnet's basic network topology is that of a mesh network. GNUnet includes a distributed hash table (DHT) which is a randomized variant of Kademlia that can still efficiently route in small-world networks. GNUnet offers a "F2F topology" option for restricting connections to only the users' trusted friends. The users' friends' own friends (and so on) can then indirectly exchange files with the users' computer, never using its IP address directly.

GNUnet uses Uniform resource identifiers (not approved by IANA, although an application has been made).[when?] GNUnet URIs consist of two major parts: the module and the module specific identifier. A GNUnet URI is of form gnunet://module/identifier where module is the module name and identifier is a module specific string.

secushare

https://secushare.org/

apps based on gnunet

Imagine Facebook, Whatsapp, Gmail and Skype rolled into one, without the centralized surveillance and control. Crazy? Well, it hasn't been tried before, at least not our way. So let's give it a try. secushare employs GNUnet for end-to-end encryption and anonymizing mesh routing (because it has a more suitable architecture than Tor or I2P) and applies PSYC on top (because it performs better than XMPP, JSON or OStatus) to create a distributed social graph. Together, these technologies allow for distributed private social networking including more straightforward and secure e-mail, chat, exchange of content and a private web. It could even work out as a safer choice for the Internet of Things.

The resulting new Internet enjoys the speed of servers that help without knowing much about us, the authenticity of social relationships between users without becoming transparent, the privacy of advanced obfuscation without becoming cumbersome or a threat to society. This way, we can become independent of centralized infrastructure and expect that only the designated recipients can read our communications. Read more about it in the introduction.

https://secushare.org/#source

Currently most components of secushare are integrated with GNUnet. The design is described on the protocol page.

netsukuku

https://github.com/Netsukuku/netsukuku

old project. sounds similar to gnunet

Netsukuku is an alternative to the internet, It will have all of the features of the internet, Such as websites, Instant messaging, File transfers, DNS, Etc. It functions as a mesh network or a p2p net system that generates and sustains itself autonomously. It is designed to handle an unlimited number of nodes with minimal CPU and memory resources.

Thanks to this feature it can be easily used to build a worldwide distributed, anonymous and decentralised network, separated from the Internet, without the support of any servers, ISPs or authorities.

https://en.wikibooks.org/wiki/The_World_of_Peer-to-Peer_(P2P)/Networks_and_Protocols/Other_Software_Implementations#Netsukuku

Netsukuku (http://netsukuku.freaknet.org/) is a p2p (in mesh) network system, originally developed by FreakNet MediaLab, that can generate and sustain itself autonomously. It is designed to handle an unlimited number of nodes with minimal CPU and memory resources. It seems that it can be easily used to build a worldwide distributed, anonymous decentralized network, above the Internet, without the support of any servers, ISPs or authority controls. Netsukuku replaces the network level 3 of the OSI model with another routing protocol. An open source Python implementation was finished in October 2007.

Netsukuku is based on a very simple idea: extending the concept of Wi-Fi mesh networks to a global scale, although not necessarily using that medium. With the use of specialized routing protocols and algorithms, the current Wi-Fi technologies can be exploited to allow the formation of a global P2P wireless network, where every peer (node) is connected to its neighbors.

gun

https://github.com/amark/gun

An open source cybersecurity protocol for syncing decentralized graph data.

GUN is an ecosystem of tools that let you build community run and encrypted applications - like an Open Source Firebase or a Decentralized Dropbox.

The Internet Archive and 100s of other apps run GUN in-production. GUN was also part of Twitter's bluesky initiative!

  • Multiplayer by default with realtime p2p state synchronization!
  • Graph data lets you use key/value, tables, documents, videos, & more!
  • Local-first, offline, and decentralized with end-to-end encryption.

Decentralized alternatives to Zoom, Reddit, Instagram, Slack, YouTube, Stripe, Wikipedia, Facebook Horizon and more have already pushed terabytes of daily P2P traffic on GUN.

croqaz commented 1 year ago

Thank you very very very very much for this awesome list! (and sorry for taking so long to respond) I will update the README with the links you provided!