metadb-core

2.0.0 • Public • Published

metadb-core

metadb is a peer-to-peer media file metadata database and file-sharing program. Peers can extract information about their media files and replicate this data with other peers, to build a searchable distributed database of all known files.

This module contains the core functionality - the distributed index and file transfer.

Related modules

  • metadb - The top-level module. Provides an HTTP API, and a limited command-line client
  • metadb-ui a web front end using choo
  • metadata-extract - pulls metadata from media files

Description of files in ./lib

./lib
├── config.js - load and save yaml config
├── crypto.js - crypto operations with sodium-native
├── file-transfer
│   ├── client.js
│   ├── hash-pieces.js
│   ├── messages.js - created by the protobuf compiler
│   ├── peer.js
│   ├── request.js - process requests for files
│   ├── schema.proto - protobuf message schemas for file transfer
│   └── server.js
├── messages.js - created by the protobuf compiler
├── scan-files - for indexing local media files
│   ├── fs-walk.js - recursive directory tree walk
│   ├── ignore.js - for ignoring certain files when indexing
│   └── index.js ├── schema.proto - protobuf schemas for feed messages
├── swarm.js - connect / disconnect from 'swarms'
├── util.js - utility functions
└── views
. ├── addFileMessage.js process addFile messages
. ├── fileCommentMessage.js process fileComment messages
. ├── files.js - files database view
. ├── index.js - indexing with kappa-core
. ├── peers.js - peers database view
. ├── rmFilesMessage.js process rmFiles messages
. └── wall-messages.js - wall-messages database view

Key dependencies

Configuration

  • ~/.metadb/config.yml can be used to manually set the download directory and other settings
  • ~/.metadb/ignore is a list of patterns to ignore when indexing files (like .gitignore)

Versions

Current Tags

  • Version
    Downloads (Last 7 Days)
    • Tag
  • 2.0.0
    9
    • latest

Version History

  • Version
    Downloads (Last 7 Days)
    • Published
  • 2.0.0
    9
  • 1.2.2
    0
  • 1.2.1
    0
  • 1.2.0
    0

Package Sidebar

Install

npm i metadb-core

Weekly Downloads

9

Version

2.0.0

License

AGPL-3.0-only

Unpacked Size

357 kB

Total Files

36

Last publish

Collaborators

  • ameba23