Datagram Open Discovery Index is a decentralized discovery database for datagrams. Non-logging public service available at datagram.network
- ๐ก What is Datagram Open Discovery Index?
- ๐ Getting started
- โ๏ธ Roadmap
- ๐ The team
- ๐ License
Open Discovery Index is an integral part of the Datagram project which enables you to create secure shared databases and data structures with anyone. Open Discovery Index, ODI for short, is the system that enables you and other users to find each other on the internet.
When you share your datagram with someone, their computer needs to know your computer's Internet address. ODI is a database for storing and finding this information.
ODI is a decentralized and distributed database. Anyone can participate in hosting ODI to help to keep it decentralized and become "a node" in datagram.network. This means that when you search for a datagram, your request will be routed to the nearest node. This means faster connection times, but it also means that the node host can see your IP address and which datagram address you searched for.
We are constantly evaluating more private ways to build ODI. In the meantime, we are doing everything we can to preserve users' privacy.
For example, the node host can see what you search for, but because the data in ODI is encrypted, they can't read the datagram you searched for.
If the user is willing to run their own node, they can set their datagram searches to go to their own node. If the node is hosted on a 3rd party server, it will act as a proxy for all datagram searches.
Machian Collective offers a free, non-logging and non-censored public ODI at odi.datagram.network. We don't keep any logs of searches, and we don't censor who can utilize odi.datagram.network.
The fastest way to get started is to go with the pre-built Docker image. Please note that you need to specify port mapping -p 10000:10000/udp
or Docker fails to bind the port.
Note that
LOGGING=1
is optional and added to show how to use options with Docker.
$ docker run -e LOGGING=1 -p 10000:10000/udp -it machian/datagram-odi
-> Datagram Open Discovery Index Server instance listening on 10000...
-> Datagram Open Discovery Index Database started and listening for connections...
You can start ODI via npm scripts.
Note that
LOGGING=1
is optional and added to show how to use options with Node.js.
$ LOGGING=1 npm start
-> Datagram Open Discovery Index Server instance listening on 10000...
-> Datagram Open Discovery Index Database started and listening for connections...
ODI has few options you can set via environment variables.
LOGGING = 1 // enable logging IPs and action types
PORT = 10000 // which port to listen
MODE = full|server // server mode starts only the server
Please refer to Docker and Node.js examples above how to use variables.
Currently, Datagram Open Discovery Index uses a Kademlia based distributed hash table.
Kademlia was chosen due to mature implementations available, but the next steps in ODI projects should focus on research & development of more privacy-friendly solutions.
Datagram Open Discovery Index is a user-driven project maintained by Machian Collective, an open-source collective focused on solving human digitalization.
Current primary maintainer is Marko Polojรคrvi. Significant direct and indirect contributions have come from Mathias Buus and Paul Frazee.
If you are interested in working with peer-to-peer technologies and solving the hardest & most fascinating issues with digital privacy and security, contact Marko Polojรคrvi.
We consider Datagram Open Discovery Index as a public utility project and public utilities should be available to all regardless of their status, skills or resources.
All Datagram Open Discovery Index code is licensed under AGPL v3.0 (AGPL-3.0-or-later).