a dat archiving server that you can push data to
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.
.gitignore initial dev Aug 5, 2016
cli.js add basic events and cli output Oct 19, 2016
collaborators.md add collabs Aug 5, 2016
readme.md add basic events and cli output Oct 19, 2016


Dat Archiver

Server for archiving files via Dat. Upload files with dat-push.

Runs a peer network server and archives files using hypercore-archiver.


npm install -g dat-archiver


On a server run:

dat-archiver my-backup-server --dir=archive_directory

Creates a dat-archiver server with name, with the server key my-backup-server. If key is not set, a 16 digit string will be generated. Dats files are saved to the current directory or --dir option.

On your local computer with Dat files:

dat-push my-backup-server --dir=directory_to_backup

This will push the files to your server over peer to peer networks.


var archiver = Archiver(opts)

Create an archiver, options include:

  dir: 'dats' // directory to store hypercore archives


Create a new peer-network server with name, serverKey. serverKey can be any string. It will be used to tell where dat-push should connect to.


archiver.on('connection', serverKey)

New connection on serverKey

archiver.on('key received', archiveKey)

Key received from dat-push. Emitted immediately before getArchive(key) is called.

archiver.on('replication started', archiveKey)

Archive replication starting for archiveKey.

archiver.on('replication ended', archiveKey)

Archive replication ended for archiveKey. Note: this could be a successful replication, or the client may have disconnected.