Metadisk is a filehost web app, that allows anyone to upload files via a web interface or API. Files are hashed and uploaded to public file hosting. Using the hashes a node can look up the information of where that file was stored using the Datacoin blockchain. This makes a file uploaded to Metadisk accessible through any node in the network.
This project depends on several other projects:
-
cloud-manager contains most of the file handling logic. It keeps track of all the uploaded files, keeps track of the files present in local cache, and handles database serialization.
-
file-encryptor is an encryption package that implements convergent encryption using HMAC-SHA256 and AES128-CTR.
-
metachains-dtc is a wrapper for the Datacoin client, using JSON RPC. It also contains a synchronization class, which allows one to synchronize data from and to the blockchain.
-
plowshare-wrapper provides a python interface to upload and download files from popular file hosting sites. It is a python wrapper of the plowshare tool.
-
web-core is the backend server that powers Metadisk. It provides a JSON API web service, and the daemons to synchronize files to the cloud hosting services and to the blockchain.
Metadisk, this project, provides a web interface to web-core, allowing you to upload files and check the server status regarding bandwidth, disk usage, and synchronization state.
Check INSTALL.md for installation instructions.
All API documentation is contained in Metadisk's web-core repo.