Plebbit is a selfhosted, opensource, nonprofit social media protocol, this project was created due to wanting to give control of communication and data back to the people.
Plebbit only hosts text. Images from google and other sites can be linked/embedded in posts. This fixes the issue of hosting any nefarious content.
ENS domain are used to name communities.
Plebbit currently offers different UIs. Old reddit and new reddit, 4chanw, andhave a Blog. Plebbit intend to have an app, internet archive, wiki and twitter and Lemmy. Choice is important. The backend/communities are shared across clients.
Great work! I’ve always considered lemmy to be an interim solution as it doesn’t resolve the core issue of mod centralization. How does your solution
differcompare to something like nostr, which is more decentralized than ActivityPub, and not P2P, but also seems to eliminate the mod issue and enable “direct” subscribing to users.Would your goal be to shard/raid data across IPFS nodes at scale? If not, what would the local nodes size be with millions of users and years of history (e.g. Reddit’s scale)?
My next hope is a fully decentralized and distributed internet archive + piratebay using IPFS over I2P.
Plebbit differs from Nostr in that Nostr is federated (using instances), whereas Plebbit is P2P (fully decentralized). Plebbit uses IPFS, which is more similar to BitTorrent, which is pure P2P as well.
The issue with federations is that their instances are not easy to set up, most users don’t have an incentive to do so, and even if they did, they are not censorship resistant at all, because they work like regularly centralized websites. Your Nostr/Lemmy/Mastodon instance can get DDOS’d, deplatformed by the SSL certificate provider, deplatformed by the datacenter, deplatformed by the domain name registrar. The instance admin can get personally doxxed and harassed, they can get personally sued for hosting something a user posted, etc. And instances can block each other.
Whereas running a node on Plebbit is as easy as opening up one of its desktop clients, which automatically run the custom IPFS node in the background, and seed all the protocol data automatically (similarly to how a BitTorrent client seeds torrents). It runs on a raspberry pi, on 4GB of RAM and consumer internet. It scales like torrents, i.e. the more users connect p2p, the faster the network gets. And most importantly, nobody can stop you or block you from connecting to another user, because there’s nobody in between. This means nobody can stop you from connecting to a subplebbit (subreddit clone). If you run your own community, you’re always reachable by any user on plebbit.
Nostr is not really federated because the servers just send data for you. Nobody calls the internet federated because the switches transfer your data
Nifty project. Definitely I could see this being useful for discussing things that would traditionally be censored on other more centralized or semi-decentralized platforms (piracy, anti-authoritarian discussions in an oppressive country, etc).
I gave it a try and the loading times are atrocious, though. I suppose that’s an unfortunate problem with running decentralized.
Text only?
Wait till people start making browser plugins for base64 images.
Links have a character count limit, you can’t link to a base64 image on plebbit.
You wouldn’t need to link base64. Base64 is just ASCII text that would go into the comment. But you can tell a browser or extension that it’s an image and have it decided accordingly. You can see examples of this in the .mht files ie/Firefox makes.
Bad idea.
The closest to a good idea IMHO is NOSTR. By the way, there is a standard for moderated communities for it, I don’t know whether anything implements it yet.
In general, not in fact.
If it is selfhosted, and text only, why use IPFS?
Because this way it has no central server, database, HTTP endpoint or DNS - it is pure peer to peer. Unlike federated instances, which are regular websites that can get deplatformed at any time, plebbit full nodes are customized IPFS Kubo nodes, and running one is as simple as downloading the Seedit client desktop app (available on github) and keeping it open. It runs the node automatically, and seeds content automatically as you browse it. It runs on a raspberry pi, so we expect to see a lot of plebbit users running their own full node.
How do you share data between nodes in a decentralised manner? IPFS is just a DHT so you can’t communicate solely using it?
we use IPNS for mutable data (like upvote counts, reply counts, etc) https://specs.ipfs.tech/ipns/ipns-record/ and gossipsub for an author node to communicate their publication to a community node https://docs.libp2p.io/concepts/pubsub/overview/
So you use IPDS for mutable data, and need to tell people (well software) where you stored it.
Can you tell how this author node works? Is it like that IPFS “CID” (IIRC) ?
Interesting project
deleted by creator
Can we get a link ?
https://seedit.app is a fully decentralized client for the Plebbit protocol, using a old.reddit UI.
You can also try a demo of a much faster version of Seedit, it works via public RPC: https://plebbit.mooo.com/seedit/#/hot (warning: you’re using someone else’s full node to browse fully P2P, so if you create a community it’s in their node, it’s not yours). This version showcases how you can create a community even on mobile device, running a full node remotely. But we have to build user auth for this, it’s in our roadmap.
Curious, I thought IPFS was completely empty. I have the desktop client and there’s just nothing
Lol to the cookie notice on plebbit.com
Sounds interesting
plebbit.com is just a landing page made by a member of the community, to explain the project. To use plebbit, you can check out its clients, like Seedit.
So what is it now, P2P or IPFS?