You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Joop Kiefte b34a1cbd1f
Adjust readme
1 year ago
message Add trim functionality 1 year ago
.gitignore Add gitignore file 1 year ago
LICENSE.md Correct license 1 year ago
README.md Adjust readme 1 year ago
db.go Add trim functionality 1 year ago
go.mod Update go modules 1 year ago
go.sum Update go modules 1 year ago
ipfs.go Spread command over seperate files 1 year ago
localmessages.go Add trim functionality 1 year ago
main.go Add trim functionality 1 year ago
sync.go Cleaning up a bit and making debugging pubsub a bit easier 1 year ago
tags.go Spread command over seperate files 1 year ago

README.md

Infodump

Infodump is a commandline tool that serves as a social network, initially for the neurodivergent community. It is peer-to-peer, and is based on the IPFS distributed file system and written in Go. It is a simple, easy-to-use, and open-source project. It is also an excuse for me to use Github's Copilot feature to write code and documentation, and a means to test and expand my OLN ideas: creating a network that enables topic and location-based communication.

This is accomplished through the PubSub functionality of IPFS, as well as a local database that stores all the information until it is synced up with other peers. It also uses a Hashcash-based proof of work system to enable an ephemeral approach to the network: over time messages will be removed from the network if they are not specifically saved.

Another feature of Infodump is the ability to create and save topics and locations (almost nothing of that is implemented yet). These are used to create an ad-hoc network of people who share a common interest, without the need for user accounts and authentication.

Even though the code is in a VERY early stage, I encourage you to try it out and maybe even contribute to it.

Getting started

You need to have a copy of IPFS and the Go compiler installed, and you need to run IPFS with the --enable-pubsub-experiment flag.

You can get IPFS from the IPFS website and Go from the Go website. If you haven't already, prepare IPFS by running ipfs init and then start the daemon with ipfs daemon --enable-pubsub-experiment.

To install Infodump, run go install git.kiefte.eu/lapingvino/infodump@latest while making sure that the Go bin directory is in your PATH in order to compile the binary and run it.

This is very experimental software, and I am not responsible for any damage that may be caused by using it. Use at your own risk. Please report any bugs you find. I will also be very happy with any code contributions and even forks. I am especially interested in nice looking web GUIs to the network; if you create a proof of concept of such, you are my hero.