# dat-ecosystem/dat

**Attribution required: if you use, quote, or summarise this content, you must credit and link back to [awesome-repositories.com](https://awesome-repositories.com/repository/dat-ecosystem-dat).**

8,231 stars · 447 forks · JavaScript · BSD-3-Clause

## Links

- GitHub: https://github.com/dat-ecosystem/dat
- Homepage: https://dat.foundation
- awesome-repositories: https://awesome-repositories.com/repository/dat-ecosystem-dat.md

## Topics

`command-line` `dat` `dat-node` `dat-protocol`

## Description

Dat is a peer-to-peer file synchronization tool that combines an append-only, hash-addressed log with Merkle tree verification, cryptographic access keys, live streaming replication, and swarm networking for sparse, versioned file sharing. It stores file data and metadata in a cryptographically signed, versioned append-only log where each entry is identified by its hash, and uses public-key cryptography to secure archives with separate read and write keys.

The tool enables live streaming replication of data between peers as entries are appended, with Merkle tree integrity verification that supports sparse replication of only requested data chunks. It discovers and connects to peers through distributed hash tables and local network discovery for direct data exchange, and downloads only the specific file ranges needed rather than entire archives. Dat provides HTTP-based file serving with live reloading and version history browsing, and supports cloning remote archives to local storage with automatic resumption of interrupted transfers.

The platform handles large dataset transfers by splitting and distributing data across the network, and allows sharing and accessing data without persistent connectivity, syncing when connectivity is restored. It transfers file updates in real time over a secure peer-to-peer network to keep all connected copies current, and distributes files across multiple peers so data remains available even when the original uploader is offline. Dat also automates live file replication to external drives or remote hosts for continuous data preservation, and tracks file changes automatically with version history for rollback and audit of any folder on disk.

The tool includes network diagnostics for running connectivity tests between peers to identify and troubleshoot issues blocking data transfer.

## Tags

### Networking & Communication

- [Decentralized Content Distribution](https://awesome-repositories.com/f/networking-communication/decentralized-content-distribution.md) — Distributes data across multiple peers, ensuring availability even when the original uploader is offline.
- [Append-Only Log Storage](https://awesome-repositories.com/f/networking-communication/data-streaming/append-only-log-storage.md) — Records every file change as a new entry in an immutable log, preserving full history without overwriting.
- [Peer-to-Peer File Sharing](https://awesome-repositories.com/f/networking-communication/distributed-systems-p2p/peer-to-peer-networking/peer-to-peer-file-sharing.md) — Distributes data across multiple peers so files remain available even when the original uploader is offline. ([source](https://docs.dat.foundation/))
- [Live Sync Tools](https://awesome-repositories.com/f/networking-communication/distributed-systems-p2p/peer-to-peer-networking/peer-to-peer-file-sharing/live-sync-tools.md) — Provides live synchronization and sharing of files across a peer-to-peer network with version history.
- [Encrypted P2P Transfers](https://awesome-repositories.com/f/networking-communication/file-transfer-clients/encrypted-p2p-transfers.md) — Secures file transfers with cryptography requiring unique read and write keys for access control.
- [Peer-to-Peer Networking](https://awesome-repositories.com/f/networking-communication/peer-to-peer-networking.md) — Discovers and connects to peers via distributed hash tables and local network discovery for direct data exchange.
- [Resumable Archive Cloners](https://awesome-repositories.com/f/networking-communication/archive-downloaders/resumable-archive-cloners.md) — Clones remote dat archives to local folders, resuming interrupted transfers on reconnection. ([source](https://cdn.jsdelivr.net/gh/dat-ecosystem/dat@master/README.md))
- [Live Reloading Servers](https://awesome-repositories.com/f/networking-communication/byte-range-requesting/http-range-request-handlers/static-file-http-servers/live-reloading-servers.md) — Serves shared files over a local HTTP server with live reloading and version history browsing. ([source](https://cdn.jsdelivr.net/gh/dat-ecosystem/dat@master/README.md))
- [Offline Connectivity](https://awesome-repositories.com/f/networking-communication/peer-to-peer-networking/offline-connectivity.md) — Shares and accesses data without a persistent internet connection, syncing when connectivity is restored. ([source](https://docs.dat.foundation/))
- [Resumable Transfers](https://awesome-repositories.com/f/networking-communication/resumable-downloads/resumable-transfers.md) — Efficiently moves large amounts of data across the network with the ability to resume interrupted transfers on reconnection.

### Data & Databases

- [Offline-First Persistence](https://awesome-repositories.com/f/data-databases/offline-first-persistence.md) — Enables data sharing and access without persistent internet, syncing when connectivity is restored.
- [Sparse Replication](https://awesome-repositories.com/f/data-databases/replication-protocols/sparse-replication.md) — Downloads only specific file ranges needed rather than entire archives, enabling efficient partial replication.
- [Append-Only Log Feeds](https://awesome-repositories.com/f/data-databases/storage-abstraction/content-addressable-stores/append-only-log-feeds.md) — Provides a cryptographically signed, append-only log where each entry is identified by its content hash.
- [Network-Split Transfers](https://awesome-repositories.com/f/data-databases/large-file-transfer-optimizers/large-file-transfers/network-split-transfers.md) — Handles large amounts of data efficiently by splitting and sharing it across the network. ([source](https://docs.dat.foundation/))

### Development Tools & Productivity

- [Versioned File History](https://awesome-repositories.com/f/development-tools-productivity/automatic-file-tracking/versioned-file-history.md) — Automatically saves old versions of files with each update, allowing users to revert or archive changes. ([source](https://docs.dat.foundation/docs/intro))
- [Full-History Synchronizers](https://awesome-repositories.com/f/development-tools-productivity/version-control-sync/full-history-synchronizers.md) — Adds or modifies files while preserving a full history of every change, enabling rollback and audit. ([source](https://docs.dat.foundation/))

### DevOps & Infrastructure

- [Live File Synchronization](https://awesome-repositories.com/f/devops-infrastructure/deployment-management/container-orchestration-tools/container-deployment-updaters/live-file-synchronization.md) — Keeps file copies on multiple devices automatically updated in real time over a peer-to-peer network.
- [Secure File Transfer](https://awesome-repositories.com/f/devops-infrastructure/secure-file-transfer.md) — Protects file transfers with cryptography requiring unique read and write keys for access control.

### Security & Cryptography

- [Public-Key Access Control](https://awesome-repositories.com/f/security-cryptography/public-key-authentication/public-key-access-control.md) — Secures archives with public-key cryptography, requiring separate read and write keys for access control.

### Software Engineering & Architecture

- [Live Entry Streamers](https://awesome-repositories.com/f/software-engineering-architecture/software-architecture/architectural-patterns/reactive-messaging/reactive-event-driven-systems/asynchronous-data-processing/asynchronous-log-streaming/stream-replicators/live-entry-streamers.md) — Transfers data in real time by streaming hypercore feed entries between peers as they are appended.
- [Merkle-Tree Data Integrity](https://awesome-repositories.com/f/software-engineering-architecture/string-processing-algorithms/tree-based-storage/merkle-tree-storage-engines/merkle-tree-data-integrity.md) — Uses a Merkle tree structure to verify file integrity and enable sparse replication of data chunks.

### System Administration & Monitoring

- [Automatic File Versioning](https://awesome-repositories.com/f/system-administration-monitoring/file-version-auditing/automatic-file-versioning.md) — Automatically tracks every file change with full history, enabling rollback and audit of any folder on disk.
- [Automatic Version Trackers](https://awesome-repositories.com/f/system-administration-monitoring/file-version-auditing/automatic-version-trackers.md) — Tracks file changes automatically and stores version history, enabling rollback and audit of any folder on disk. ([source](https://cdn.jsdelivr.net/gh/dat-ecosystem/dat@master/README.md))
- [Live Replication Automators](https://awesome-repositories.com/f/system-administration-monitoring/remote-data-synchronization/live-replication-automators.md) — Automates live file replication to external drives or remote hosts for continuous data preservation. ([source](https://cdn.jsdelivr.net/gh/dat-ecosystem/dat@master/README.md))

### Web Development

- [Live Peer Synchronizers](https://awesome-repositories.com/f/web-development/peer-to-peer-transfer-engines/encrypted-peer-to-peer-transfers/live-peer-synchronizers.md) — Transfers file updates in real time over a secure peer-to-peer network, keeping all connected copies current. ([source](https://cdn.jsdelivr.net/gh/dat-ecosystem/dat@master/README.md))
