Seedit is a selfhosted peer-to-peer Reddit Alternative using IPFS
doesn’t rely on any servers or instances .
We mainly use 3 technologies, which each have several protocols and specifications:
IPFS (for content-addressed, immutable content, similar to bittorrent) https://docs.ipfs.tech/ https://specs.ipfs.tech/
IPNS (for mutable content, public key addressed)
https://docs.ipfs.tech/concepts/ipns/
Libp2p Gossipsub (for publishing content and votes p2p)
https://docs.libp2p.io/concepts/pubsub/overview/
They also have a youtube channel where they cover how most of their tech works:
https://www.youtube.com/c/IPFSbot
the problem with federated social media is that each federated instance is just a regular centralized sites. They can censor each other, they can get taken down at any moment, and they are hard to run and manage. Whereas on p2p tech like bittorrent or bitcoin or plebbit, the p2p nodes don’t require domains, they just work straight out of the box. On plebbit, you open the app, and you’re instantly receiving p2p connections right away, just like a bittorrent client, no domain or server required. Users connect to your node directly, p2p, and nobody can stop you. P2P also scales infinitely, which is the reverse of centralized websites like federated instances: the more users there are, the faster it gets. And it’s impossible to censor at scale.
Seedit is not Nostr
nostr isnt p2p, the relays can censor you, the relays can run out of money and shut down, the relays can get DDOSed, they earn no money to serve your content.
the people running the relays are probably legally obligated to censor you by their jurisdiction. for example in the UK you go to jail for mean tweets. the person running the relay with mean content would probably go to jail if they set foot in the UK.
CP
-
the protocol is text only, to embed media, you need to host it on the regular ( Centralized ) internet, and then you link to it like https://example.com/image.jpg, and the host will stop hosting that image and report your IP.
-
the community creator can assign mods, mods can remove posts from that community. if a community is badly moderated, the user will never see it, it wont be recommended to him. the user can visit bad communities directly just like you can visit a bad website directly, but it’s not recommended to you so it’s safe to use.
it’s the same as bittorrent , this p2p tech can’r prevent people from sharing stuff, but on seedit you can’t share media, it’s text-only so the liability falls to the centralized provider of the embedded media from the link the user shares as text. Also being p2p, seedit is not private, so it can’t really be used for illegal activity
About ActivityPub
the problem with federated social media is that each federated instance is just a regular centralized sites. They can censor each other, they can get taken down at any moment, and they are hard to run and manage. Whereas on p2p tech like bittorrent, p2p nodes don’t require domains, they just work straight out of the box. On seedit, you open the app, and you’re instantly receiving p2p connections right away, just like a bittorrent client, no domain or server required. Users connect to your node directly, p2p, and nobody can stop you. P2P also scales infinitely, which is the reverse of centralized websites like federated instances: the more users there are, the faster it gets. And it’s impossible to censor at scale.
Also the code is fully open source
The most important thing about social media is the first word : it’s social.
This sounds like a technically impressive medium, but if it fails to get a healthy community (which means, not just 4chan bros) then it will die.
I agree, this is a problem we haven’t addressed yet. We’re working on it, soon Seedit will have its own communities specific to a reddit-like user experience. All the 4chan-like communities will be transferred to the Plebchan client. I’m talking about “default communities”, i.e. those recommended by the app when first opening it (when the user isn’t subscribed to any subplebbit address yet), but of course nobody can stop users from connecting p2p to any community, no matter from which client.
doesn’t rely on any servers or instances .
Yet is hosted on Github and presumably requires a working DNS and HTTPS system to download.
Users connect to your node directly, p2p, and nobody can stop you.
Except your ISP and/or government.
the protocol is text only, to embed media, you need to host it on the regular ( Centralized ) internet, and then you link to it like https://example.com/image.jpg, and the host will stop hosting that image and report your IP.
So your supposedly non-centralized project requires external hosting? It’s like NFTs where the images were just worthless links. :P Also, uh, base64 encoding is a thing and clients will absolutely start supporting it.
the community creator can assign mods, mods can remove posts from that community.
… Isn’t this what you’ve been trying to avoid?
if a community is badly moderated, the user will never see it, it wont be recommended to him.
Finally, a mention of content discovery. How is your recommendation system implemented? What decides whether a community is worth being recommended?
Also being p2p, seedit is not private, so it can’t really be used for illegal activity
Wait… Isn’t your whole pitch that it was censorship resistant? Can you clarify your threat model here, who are you actually worried about censoring your platform?
[ActivityPub servers] are hard to run and manage.
And using a completely unknown new service and protocol isn’t? I’m sure there’s tons of documentation out there for hosting Mostodon or Lemmy servers.
the problem with federated social media is that each federated instance is just a regular centralized sites.
I agree with this, but not for the reasons you’ve stated.
P2P also scales infinitely, which is the reverse of centralized websites like federated instances: the more users there are, the faster it gets.
P2P scales much worse than centralized systems. Centralized systems scale at N connections per node, while P2P systems scale at N^2 connections per node.
You know what, I don’t mind this project. We need a place for far right people to go to to avoid “censorship” (getting banned from a subreddit for doing nothing but throwing slurs at people) and collaborate on their “plans” (killing minorities) on a platform that is “private” (easily traceable, unencrypted and linked to your IP address).
Yet is hosted on Github and presumably requires a working DNS and HTTPS system to download.
Incorrect, Seedit works similarly to a BitTorrent client, you just open the app and you’re connected p2p to the communities, similarly to how you connect p2p to torrent seeders.
Except your ISP and/or government.
Your ISP and/or government can’t stop you. Just like they can’t stop you from downloading a torrent or using Bitcoin with a full node. They can make you life harder, tracking you, sending you to jail etc but they can’t prevent the initial p2p connection.
So your supposedly non-centralized project requires external hosting? It’s like NFTs where the images were just worthless links. :P Also, uh, base64 encoding is a thing and clients will absolutely start supporting it.
Posting images isn’t required. Why would you want to decentralize media hosting anyway (which is impossible)? To share CSAM? Not sure why you’d want to do that. Also, no, base64 encoding isn’t allowed in the protocol, you literally can’t publish it to the p2p network because there are character limits.
… Isn’t this what you’ve been trying to avoid?
Nope, how would that make any sense? A community is such if it’s moderated. If it’s unmoderated, it’s not even a community, it would be fully unusable because of spam.
Finally, a mention of content discovery. How is your recommendation system implemented? What decides whether a community is worth being recommended?
Our clients use https://github.com/plebbit/temporary-default-subplebbits also you can query the ethereum and solana blockchains for .eth and .sol domains respectively with text records/subdomains of value “subplebbit-address” (see: https://dune.com/plebbit/plebbit-protocol) and we’ll support more decentralized domain systems later.
Wait… Isn’t your whole pitch that it was censorship resistant? Can you clarify your threat model here, who are you actually worried about censoring your platform?
Again, it works like torrents. Torrents are censorship resistant, yet torrents aren’t private because your IP address is in the p2p swarm. Law enforcement can use expensive fingerprinting software to catch the big fish, for very illegal content sharing.
And using a completely unknown new service and protocol isn’t? I’m sure there’s tons of documentation out there for hosting Mostodon or Lemmy servers.
Well, which is harder in your opinion, opening a reddit-like app and create a sub (and that’s it, it runs a p2p full node automatically for the sub) or: buy a domain with ssl, set up the server, pay for the server, set up moderation for the whole instance, get censored, get sued, get defederated by other instances, prevent spam, etc.
I agree with this, but not for the reasons you’ve stated.
You’ll see the light.
P2P scales much worse than centralized systems. Centralized systems scale at N connections per node, while P2P systems scale at N^2 connections per node.
Wrong. Real-world P2P systems don’t use full mesh and don’t require O(N²) connections. They typically scale with far fewer connections per node (e.g. O(log N)), while centralized systems hit bottlenecks at O(N) connections to a single server.
You know what, I don’t mind this project. We need a place for far right people to go to to avoid “censorship” (getting banned from a subreddit for doing nothing but throwing slurs at people) and collaborate on their “plans” (killing minorities) on a platform that is “private” (easily traceable, unencrypted and linked to your IP address).
Plebbit is neutral, anyone can use it (left wing, right wing, apolitical etc), nobody can stop anyone from using it. And it can’t get taken down nor shut down, it’s eternal.
Incorrect
Uhh… No, your link is to Github. If Microsoft decide they don’t like something you’re doing, they can wipe your app off the surface of the planet. At least mirror it to Codeberg or something.
Same thing for Google and Apple by the way, if you want to make a mobile app. They don’t like you, you’re gone from their platform.
They can make you life harder, tracking you, sending you to jail etc but they can’t prevent the initial p2p connection.
Honestly, if I were doing anything that required a uncensorable network connection, “avoiding going to jail” feels like it’d be one of my top priorities…
Also, no, base64 encoding isn’t allowed in the protocol, you literally can’t publish it to the p2p network because there are character limits.
What are you going to do? Ask people politely to not do it?
Nope, how would that make any sense? A community is such if it’s moderated. If it’s unmoderated, it’s not even a community, it would be fully unusable because of spam.
Every time Plebbit has been shilled here, the advertising has always criticized “power-tripping” Reddit and Lemmy[sic] mods and tries to place itself as a “free speech” platform.
Our clients use https://github.com/plebbit/temporary-default-subplebbits
So your decentralised peer to peer platform has a list of curated nodes that must have nearly 100% uptime.
you can query the ethereum and solana blockchains for .eth and .sol domains respectively with text records/subdomains of value “subplebbit-address” (see: https://dune.com/plebbit/plebbit-protocol) and we’ll support more decentralized domain systems later.
Just copy ATProto and use did identifiers with DNS. No need to use blockchain for name lookups.
Okay, this project has consumed too much of my time so… I’m probably just going to leave it here. However I do have some last thoughts.
I agree that ActivityPub does have centralization problems. It’s mostly decentralized, but has problems with having many small kingdoms that tend to not always get along. I think that’s something that ATProto gets right; your name and “instance” are decoupled so it’s trivial to hop from one to another. And honestly, I think a Lemmy-like built on top of ATProto could work really well, and may even be better than AP based ones.
But… This project seems to be reinventing the wheel for no good reason. It ignores existing technologies in favour of venture capitalist scams. It has a very muddled set of priorities. The project management is sending out massive red flags. I don’t have trust that this project will solve the problems with Lemmy and Reddit.
I’m going to post it again.
For anyone else looking for a reason to stay away from plebbit- uh, look at their X account https://x.com/getplebbit It’s 4chan crypto hashwash
the problem with federated social media is that each federated instance is just a regular centralized sites. They can censor each other,
Also, this is a feature. This is intentional.
I’m concerned about the large amount of low quality, vaporware/crypto applications built on IPFS which is the same core technology used here. It’s concerning how many clicks it takes to get technical specs for the underlying work, like libp2p for the network layer, which itself espouses only vague ideas on its main website that seems to focus a lot more on presentation than technical merit. Even the GitHub admits that the spec that most of these apps are relying upon is, well, unspecified.
Your project source downloads and runs an executable. That’s a little bit SUS; it would be much better if you compiled/built this core code as part of your build process, else, it’s not much in the way of source code, no? But, it works. It seems to delegate just fine, and few understand how to actually talk IPFS directly. But, this is the most important part!
I think the biggest tell that IPFS borders on vaporware is that there’s very little discussion about concrete specifications and the main problem faced by all DHTs: how you get your data to actually stay hosted on the network over time. These ideas are not new, and you may be better served building your app on technology that has spent vastly more time understanding the fundamental problems.
This is how you write a spec without actually writing a spec. And I’ve written a lot of specs.
This is how you write a spec. Excruciating detail of what actually gets sent over the wire at different levels of the design starting from the very bottom.
Anyway, just my 2c. It’s cool you’ve got functionality at this level and that’s commendable, but I feel it’s built on shoddy foundation of an immature technology. At least it should be easy to migrate to something else in the future as the distributed technology is offload to a separate binary anyway.
Note: Various edits for clarification and to ensure I focus on the code and not the human.
Peers can connect to your subplebbit using any plebbit client, such as Plebchan or Seedit. They only need the subplebbit’s address, which is not stored in any central database, as plebbit is a pure peer-to-peer protocol.
Do I need a new plumbus or will my existing one work?
the protocol is text only, to embed media, you need to host it on the regular ( Centralized ) internet
except we already figured out how to encode images (or any file) as text when E-Mail was created. That is how images in E-Mails, attachment or embedded, are done. I can easily imagine a userJS script that will render them in the browser, but even if not you just copy the text and decode.
if a community is badly moderated, the user will never see it, it wont be recommended to him. the user can visit bad communities directly just like you can visit a bad website directly, but it’s not recommended to you so it’s safe to use.
Ah… so you’re guaranteed to have a dark CSAM subculture on there at some point.
being p2p, seedit is not private, so it can’t really be used for illegal activity
As if that has ever stopped anybody. See all the people that got caught for sharing it on the clearnet. Or on Signal, Telegram or similar, where you have to enter your phone number, which is personally tied to you.
All in all - Great way to adress the concerns, by admitting they are in fact possible. “Hurray crypto” or whatever.
This seems kinda harsh.
CSAM distribution is possible on pretty much any platform.
As long as the platform isn’t obfuscating a user’s IP address then I don’t see how it’s any worse than any other platform.
A few weeks ago everyone in this community was fawning over some dev’s new anonymous zero-knowledge file sharing platform and no one seemed to care that it would be overrun with CSAM.
They claimed there will be no CSAM because of the given reasons.
I wanted to highlight that those reasons do not actually prevent it.
My tone might be harsh (the sarcasm at the end definitely is) because I see this as a marketing push for their crypto platform. “marketing” - as in they will be making money from users, so it is in their interest to tell lies or ignorant half-truths, to make more users come over.
Any normal platform tackles this problem with proper moderation. Platforms that make money, often hire moderators.
Sure ok. If this is some crypto BS then that’s reason enough to avoid the platform.
I just didn’t think the CSAM angle is much of a criticism, even if they did try to minimise it.
If it’s not obfuscating your IP address, then you’re open to getting targeted by anyone you interact with on a reddit-like platform. That sounds like a circle of hell I’d rather not visit.
you can’t encode base64 images on seedit, each fiels has a character limit. Obviously centralized links, from which media is embedded, will be taken down by the relative centralized website.
Kids… You ever wonder how “rar” came about?
Usenet had limits on its text only post size as well.
Then use decentralized links or hashes, which is what IPFS uses to identify content. A character limit doesn’t solve this problem fundamentally. Indeed, it’s been a tough problem to solve for decentralized services.
So it’ll be distributed more like Usenet as I understand it
I am really impressed. Thanks! I will be having a deeper look.
Side note: lemmy.world people are irrationally triggered by some stuff you mentioned: blockchain and cryptocurrencies (this is the same as being triggered by ssh 🤣), or religion, … Keep that in mind while you read 'the feedback" here.
I don’t think anyone is triggered by blockchain on its own (although reading the room would suggested making blockchain a part of your product is dumb).
But calling blockchain and crypto “p2p” is like saying highways are social hangouts just because there are lots of people on them at any one time. There is no equivalence there, because the makers of this product are not making a social platform.
Sharpen your scam-detecting skills, my friend, for your own safety.
I fail to understand how a technology can be a scam. How is Blockchain a scam? nosql is also a scam? what does a scam mean when talking about a technology?
Try to keep an open mind, some things might not work for you, but somebody else will find it great.
I see a similar sentiment with being anti AI (they mean anti LLMs), like what are they against? the transformer architecture? kinda weird, like declaring I am anti math or anti electricity or electronics… I don’t get it.
I do like the idea of a P2P system. I used to be on ZeroNet but there were just too few people and too little content to stick with it. I hope something like this takes off.
deleted by creator