Skip to content

Cloudxtreme/dat

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1,611 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

dat

#dat IRC channel on freenode datproject/discussions

This is the Dat 1.0 Pre-release candidate. We want to make Dat into a data versioning, forking, and syncing tool. The first feature set we are working on is easy file synchronization. Dat embraces the Unix philosophy: a modular design with composable parts. All of the pieces can be replaced with alternative implementations as long as they implement the abstract API.

Key features:

  • easily share large files directly without having to copy them through a central server
  • sync incrementally between machines only the parts of files that change
  • share data in a swarm everyone who downloads data also helps upload to others
  • automatic peer discovery uses peer to peer techniques for finding copies of the data
  • verify data integrity data is verified using strong cryptographic hashes

Please note that previous versions of Dat (alpha, beta) are incompatible with the 1.0 pre-release.

Install

To install the 1.0 Pre-release from npm:

npm install dat -g

If you receive an EACCES error read this guide.

Installing from source

Clone this repository and in a terminal inside of the folder you cloned run this command:

npm link

This should add a dat command line command to your PATH. Now you can run the dat command to try it out.

Build Status

Windows Mac/Linux
Build status Travis

Getting started

Go into a directory and type

$ cd mydata/
$ dat link
Creating share link for 4 files in 1 directories. 18.54 kB total.
dat://9d011b6c9de26e53e9961c8d8ea840d33e0d8408318332c9502bad112cad9989
Serving data on port 3282 (0 connections)

You are now publishing that data from your computer and it will be publicly accessible as long as your terminal is open. Your friend can get that data like this:

$ dat dat://9d011b6c9de26e53e9961c8d8ea840d33e0d8408318332c9502bad112cad9989

It will start downloading the data into the current location. It will also upload that data to others as long as the terminal is open.

Dat uses a built in TCP server to share data. This means at least one of the peers trying to share data will need their dat port open (default port is 3282, DATA on a phone keypad).

For more information, see the full project documentation here.

About

💾 open source peer to peer data sharing

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • JavaScript 100.0%