
I posted about this a while back but it was still in the early stages then, I've been working more on my P2P imageboard software, and after the underlying p2p database engine (Peerbit) has undergone some major upgrades, the performance and stability are a lot more robust now. There are also a lot more UX improvements recently based on user feedback. I've attempted to keep the dependencies minimal and make the install process as simple as possible. There are several nodes online to my knowledge but I don't necessarily have a full map or total knowledge of the network. Feel free to try it out and join the swarm lol.
https://gitgud.io/threshold862543/peerchan
For moderation I've kept a totally "flat" architecture where each node is free to delete any content at any time. But this deletion only applies to the node itself by default. If you want to be able to delete things on other user's nodes, they have to subscribe to your node as a moderator, and then when you delete something, that deletion action will be broadcast to others and they will accept it in their own local database. So you can subscribe to other people as moderators if you trust them to be able to delete things for you.
Each board is it's own independently-seeded topic and you can watch (join) or unwatch (leave) a board topic at any time.
There are various config options to customize your experience too.
Posts and file uploads are made under a newly generated temporary identity every time (by default) for the sake of anonymity. If you want to anonyitymax at the networking level I recommend using Whonix to connect, though ideally eventually native integration with Tor can be developed for Peerbit or libp2p itself. That being said, already there is no association between a post and the uploading IP, when you receive a post from another node, the original poster is not known, as posts and files are relayed from node to node without recording the source.
And this is the Peerbit p2p database system it uses which is built on libp2p.
https://peerbit.org/#/

To explain the setup a bit, the default configuration opens a webserver on localhost port 8000 that serves pageviews to you and allows you to browse and post to the p2p database, which connects to other nodes in the background.
If you want to make this into a publicly facing website via nginx or something, there is the option to enable "gateway mode" where you can enable or disable certain features (like the ability to delete posts) for public users accessing it over the internet. Essentially this allows other people to interact with your node over the internet and post using the traditional client-server concept. You can also disable all features when not logged in, making it so only you can browse and post and moderate when logged in (eg. from your phone or another computer elsewhere) but other internet users won't be able to access the content on your node.
I've gotten a node to work and successfully replicate posts and files on Android in the past too, using Termux, so you can also do that as well.

Why is your proxy location set to J$p$n? I think I had seen this project before but I can't seem to remember where exactly did I see it, probably in here, in 4chan, or browing trough some webpage. What even motivated you to work on this project in the first place?
Also two questions:
What's your end goal with it?
Do you believe it will eventually replace the boards we have in the modern era? It's not like imageboards have had any relevance whatsoever except in the eastern asia archipielago, which is where they originated from to begin with. I just think pseudo anonymous websites are the best. Too much anonimity and it is just screaming to the void, and broadcasting your entire persona in a website is detrimental in the long run. Having forums where you go with nicknames are the best imo, although there are uses for anonymous imageboards for sure

>>325720
I posted it here earlier this year when it was still in the earlier stages of development. Now that there have been enough upgrades to Peerbit that I think the system can handle more throughput I'm thinking it's time to post about it again.
The main motivation for me is that I notice how imageboards and online communities often fall to control of rulefags, who often organize offsite to control the experience of the users and manage the content. This ends up stifling the creative freedom of the userbase and leads to the cultural collapse of the community.
I very much value free expression and think that the most interesting memes and ideas are able to develop and emerge in environments of freedom, and this is something I want to facilitate. I think to do this, power should be returned to the individual user, to control the content they wish to replicate. Self sovereignty of data, you can say.
Personally I appreciate the anonymous imageboard format as I think the anonymity is a key factor in being able to express onesself without restriction or hesitation based on social or personal factors. Content is "detached" from the individual poster, and able to stand for itself rather than being linked to an identity.
The client-server model has sort of limited this from reaching it's ideal state however, as on the backend, moderators have access to IP address information that they can use to track individual users and even suppress their expression based on that "backend identity". Such moderators typically communicate off-board using static identities and personas and, and this causes a fundamental misalignment between the interests and mindset of the userbase, and the interests and mindset of the moderators.
My main goals are to to support freedom of expression, memetic evolution, and self-sovereignty in communication; people being able to communicate freely and directly with their peers.

I think the idea of a p2p board is really cool.
Is it fully p2p only though? As in, is all data lost if all nodes go offline?

>>325751
Yeah, if all nodes go offline and you started a node you wouldn't see any of the existing posts or files until one of them goes online again.
But there are at least a few "always online" seed nodes running for several of the boards.