Share and sync data.

Dat is a command line peer-to-peer file sharing tool, which allows datasets to be retrieved and synced across networks. Due to this distribution system, the more widely a dataset is shared, the faster collaboration becomes.

The ultimate goal behind Dat is to streamline file distribution, and with this in mind its key features include the ability to:

  • Distribute large files without copying data to a central server
  • Intelligently sync by deduplicating data between versions
  • Swarm data by connecting those who want data with those who already have it
  • Verify data integrity using strong cryptographic hashes
  • Work everywhere, including in the browser, on the desktop, as well as in R and [python

Built in Node.js, Dat works in four phases:

  1. Source Discovery: Finding the IP address and port of online sources that have a copy of the requested data
  2. Source Connections: Creating a peer-to-peer connection with these sources
  3. Data Exchange: Determining if the peer connections contain the relevant sections of data, and downloading the correction portions of file
  4. Data Archiving: Serving up copies of data for others to discover, connect with, and exchange


Visit the Dat webpage here or its GitHub page here.