Skip to content

A distributed cloud built on top of Aleph, the next generation network of distributed big data applications.

License

Notifications You must be signed in to change notification settings

PoCInnovation/InterPlanetaryCloud

Repository files navigation

InterPlanetaryCloud

A personal file storage and management system built on top of IPFS, protecting your data.

Installation 🔧

1) Install Docker
Follow this official guide to install Docker.
If you want to play a little bit with Docker, you can follow this tutorial or even our workshop !

2) Install IPC

# Get the project
git clone git@github.com:PoCInnovation/InterPlanetaryCloud.git
cd InterPlanetaryCloud

# Build IPC docker image
docker build . -t ipc:latest

Quickstart ⏩

Run IPC 🚀

# Run IPC docker image
docker run -p 3000:3000 ipc:latest

You are now ready to access to your decentralized cloud 💥 !

Features 💫

Home Page

Home Page

Signup Page

Signup Page

Signup Page - Mnemonics given

Signup Page Mnemonics

Login Page

Login Page

Dashboard

Dashboard

Dashboard - Upload a file

Dashboard Upload

Dashboard - Share a file

Dashboard Upload

Dashboard - Files shared

Dashboard Upload

Dashboard - Contacts

Dashboard Upload

Dashboard - Add a contact

Dashboard Upload

Dashboard - Update a contact

Dashboard Upload

Dashboard - User's profile

Dashboard Upload

How ? 🤔

Technologies 🧑‍💻

Database 📁
We use Aleph SDK TS.

Security 🛡️
Every file that you upload will be encrypted thanks to crypto-js.

How it works?

Full overview

  • For each file, a random key is generated and the content of the file is encrypted with this key.
  • The content is pushed into a store message via the aleph network.
  • The hash of the store message and the key are added to the 'Contacts' post message.
Upload a file

  • For each contacts into the 'Post Message - Contacts', the files and contacts are get.
  • An occurrence between the address of the user and the contacts is searched.
  • For each file found, metadata about the files are retrieved.
Load a file

  • The content is retrieved from the aleph network from his hash.
  • The content is decrypt with the key, itself decrypt with the private key of the user.
Download a file

  • The hash and the key are encrypted with the public key of the contact.
  • These infos are added to the list of shared files of the contact.
Share a file

  • One post message, with the list of contacts and the list of shared files for each contacts
  • The post message contains the info about the contact, his name, address, public key and a list of shared files
Post messages

Our PoC team 👌

September 2021 - Today

Developers:


Lucas Louis

Matéo Viel

Project Managers:


Adrien Fort

March 2021 - September 2021

Developers:


Adrien Fort

Diego Rojas

Lorenzo Carneli

Project Managers:


Adina Cazalens

Luca Georges Francois

Reviewers :


Tom Chauveau

Organization

🚀 Don't hesitate to follow us on our different networks, and put a star 🌟 on PoC's repositories