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 Florincoin blockchain. This makes a file uploaded to MetaDisk accessible through any node in the network.
This project depends on several other projects:
accounts (Optional) - Library for managing bandwidth on shared MetaDisk nodes. Allows users to buy, earn, or receive their bandwidth.
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 is a wrapper for the Florincoin 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.
All API documentation is contained in MetaDisk's web-core repo.