With growing technologies such as Ceph by Red Hat and the Hadoop Distributed File System, the idea of distributing files over multiple hardware devices has garnered a strong following in recent years. We wanted to spread this rapid expansion with everyday consumers. We hoped to give users a secure and redundant way of managing private files.

What it does

D-Loc allows users to spread their files over multiple devices, increasing file access security. D-Loc spreads out files over a multitude of the user's devices, giving each device a small, encrypted section of the file. Only when all devices join the same network, and log in to the user account, are the pieces able to be put back together, and the original file retrieved.

How we built it

Our stack consists of:

  • Front-end: Electron application built with AngularJS and Firebase which communicates by TCP sockets to the router.
  • Back-end: Node.js server.
  • Tools and Scripts: Compression, encryption, and striping scripts written in Python.

Challenges we ran into

  • Establishing secure socket connections between the client and server.
  • File transferral
  • Integrating Python scripts with an Angular webpage

Accomplishments that we're proud of

  • Building a multi-platform controller that works with very little back-end
  • Custom communication protocols
  • A fully real-time connection to all client devices

What we learned

  • Working with a multitude of different stacks, languages and protocols without conflicts
  • Securely distributing files and user information

What's next for D-Loc

  • Scalability
  • Mechanism that scales to massive
  • Build on top of version control (eg. git) for added security
Share this project: