Skip to content
πŸ“‘ Datagram is an open-source data platform that you can use to build secured & shareable p2p databases with anyone.
Branch: master
Clone or download
Type Name Latest commit message Commit time
Failed to load latest commit information.
docs stream tests passing Feb 28, 2019
src missing key Apr 4, 2019
test test for authorization Apr 2, 2019
.babelrc crushing small bugs Mar 27, 2019
.gitignore crushing small bugs Mar 27, 2019
.npmignore crushing small bugs Mar 27, 2019
.npmrc stream tests passing Feb 28, 2019
.travis.yml added code of conduct Jan 27, 2019 how to contribute guide Jan 27, 2019 ... Feb 10, 2019
LICENSE ... Jan 25, 2019 added link Apr 2, 2019
cli.js fixed things for Windows Apr 4, 2019
jsconfig.json cleaning up Feb 22, 2019
package-lock.json 0.9.0 rc1 Mar 27, 2019
package.json fixed things for Windows Apr 4, 2019
yarn.lock crushing small bugs Mar 27, 2019

Datagram, the free data platform

Datagram is an open-source data platform that you can use to build secure shared databases and data structures with anyone. Datagram helps you to organize, share and download your data in a decentralized and peer-to-peer manner.

license FOSSA Status js-standardx-style web-datagram twitter-machianists

πŸ’‘ What is Datagram

Datagram is an easy-to-use library to build any sort of database or data structure on top of truly private and secure peer-to-peer internet.

Whether you want to send a simple text file from computer to computer or create a peer-to-peer key/value database for whatever you are building, Datagram can help you.

πŸ”Œ The types of data can you send

  • any type of file
  • text and numbers
  • lists
  • spreadsheets
  • streaming video and audio
  • streaming binary

You can send as much data as you want in one datagram.

πŸ”’ Everything encrypted from A to Z

Everything you send is automatically encrypted. Everything you receive is automatically verified. Everything from your data to internet connections Datagram makes is secured with the cryptographic best practices.

πŸ˜† Pricing

There is no pricing. Everything is free. This is peer-to-peer which means that your data goes directly to the receiver. If there's nobody in the middle, why would there be fees?

🎁 Get started

Let's create a new datagram, put a file in and share it.

// Generate Datagram user file
$ npx datagram user foo

// Create new datagram
$ npx datagram create -u foo my_datagram

// Add a file
$ npx datagram add -u foo -d my_datagram cat.jpg

// Check that file is there
$ npx datagram list -u foo -d my_datagram

// Share your datagram
$ npx datagram share -u foo -d my_datagram
-> you get a sharelink

Your datagram is now available only to anyone who knows the sharelink.

Please note that multi-user support is underway but right now Datagram doesn't support multiple users. When you want to access your datagram on another device, you need to copy your user file to the other device.

// List the contents of remote datagram
$ npx datagram list -u foo -l [sharelink]

// Export a file from remote datagram
$ npx datagram export cat.jpg exported-cat.jpg -u foo -l [sharelink]

More documentation at

🏎 Performance

Performance is good enough to power any modern consumer javascript application. If you need to store, analyze and serve "big data", Datagram might not be your choice.

πŸ”¬ Running tests

# Install dependencies and test tooling
npm install

# Run tests
npm test

# or run tests with debug logging
DEBUG=*datagram* npm test

πŸ›  The team

Datagram 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. Major direct and indirect contributions have come from Mathias Buus, Stephen Whitmore, Paul Frazee, Benjamin Forster, Martin Heidegger, Lars-Magnus Skog, Alexander Cobleigh and Tony Ivanov.

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 right now.

πŸ“ License

We consider Datagram as a public utility and public utilities should be available to all regardless of their status, skills or resources. Therefore we set no restrictions on the usage of this code. The only restriction Datagram as a project sets is the use of the name Datagram for commercial purposes without asking us first.

All Datagram code is licensed under Apache License 2.0 (Apache-2.0)

You can’t perform that action at this time.