Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
A new approach to file systems
Erlang Python C Shell
branch: master

This branch is even with peerdrive:master

Fetching latest commit…

Cannot retrieve the latest commit at this time

Failed to load latest commit information.
client
doc
server
.gitignore
COPYING
Makefile
README.md

README.md

PeerDrive is a open source file system to securely store, organize, share and sync your files from everywhere. It is built on a purely distributed peer-to-peer data model and will be a perfect solution when you need your data on different devices in different locations without relying on a permanent network connection or central infrastructure.

For an introduction into PeerDrive's features see peerdrive.org, the Wiki on the project home and the doc/ directory.

Resources:

Current status

Currently PeerDrive is in the early alpha stage and hence (unless you're really brave) not ready for production. The basic design is settled and there is a prototype implementation of the file system in Erlang. Mounting via FUSE/Dokan, network transparency and automatic synchronization/replication are roughly working. Additionally some small GUI applications exist to demonstrate the full feature set.

Requirements

Try it out

Currently there is no installation needed. Do the following steps to try it out. It is assumed that Erlang, Rebar and Python are all in your path.

  1. Clone the git repository: git clone git://github.com/peerdrive/peerdrive.git
  2. Open two terminals
  3. Type in the 1st terminal:
    • make
    • cd server
    • ./peerdrive.sh or on Windows: peerdrive.bat
    • This will start the PeerDrive server in the foreground. To gracefully shut down the server type q()..
    • The stores will be mounted to ./vfs by default (assuming fuserl resp. erldokan are installed)
  4. In the 2nd terminal type:
    • cd client
    • export PEERDRIVE=tcp://127.0.0.1:4567/
    • ./peerdrive-applet.py

Initially no stores are mounted. Use ./mount.py <dir> <name> to mount a store as label in directory

.

Something went wrong with that request. Please try again.