SkillAgentSearch skills...

Hako

📦 Hako (or "box" in Japanese) is a super secure decentralized file sharing application powered by Web 3.0 Unlike other file sharing services such as Dropbox and Google Drive. A project for the NuCypher + Coinlist Hackathon March 2019 https://coinlist.co/build/nucypher.

Install / Use

/learn @drbh/Hako
About this skill

Quality Score

0/100

Supported Platforms

Zed

README

Hako

Python 3.6 License

Welcome to Hako

login

Hako (or "box" in Japanese) is a super secure decentralized file sharing application powered by Web 3.0

Unlike other file sharing services such as Dropbox and Google Drive, Hako does not place your keys in the hands of a large companies. The user is always in control of your keys and your data.

img

Hako leverages Web 3.0 peer to peer protocols so users can directly share data, as well as access to a distributed network layer or a trusted federated re encryption network. Hako has no single point of failure and allow non-trusted 3rd parties to delegate access to data - while never being able to decipher the original message.

Resources

https://medium.com/@david.richard.holtz/hako-3825c3a033d7

https://www.youtube.com/watch?v=_0Jl836ETLo

https://github.com/drbh/ncipfs

Concepts

NUCID

We introduce a new concept of a NUCID all a NUCID is, is a combination of a NuCypher policy and a IPFS CID. A NUCID specifices alot of information in not tooooo many characters. It have the access policy, the signing key, the humanreadble label and the CID (location and sig of encrypted data)

This all lets you create NUCID's or download data via NUCID's. You can alwayws request a NUCID you don't have access too - you just won't be able to decrypt it. If the policy allows you access, your Bob keys will allow yout to decrypt.

Futari

We introduce a new concept of a Futari (or "two people" in Japanese)

Viewing files

Once your all setup and either you've uploaded a file, or someone has shared a NUCID with you, simply click on the 📖 to view the decrypted file contents.

try to view this image (without permission) from IPFS here

Install

git clone https://github.com/drbh/hako.git
cd hako

now we grab all the deps

pipenv install --skip-lock --pre

Run App

pipenv shell
python app.py 

Note

you may have to edit the local IP address in app/src/App.vue and in app.py to your computers local IP (if running in offline mode) otherwise change the IPs accordingly to the networks you want to connect to.

you should see

(hako) bash-3.2$ python app.py 
Automatic Mode A Public Gateway will be used as a fallback
 * Serving Flask app "app" (lazy loading)
 * Environment: production
   WARNING: Do not use the development server in a production environment.
   Use a production WSGI server instead.
 * Debug mode: off
 * Running on http://0.0.0.0:5000/ (Press CTRL+C to quit)

Endpoints

/data POST 
/create_user POST
/allow_access POST
/decrypt_message POST
/my_public_keys POST

Related Skills

View on GitHub
GitHub Stars8
CategoryDevelopment
Updated3y ago
Forks3

Languages

Vue

Security Score

55/100

Audited on Nov 28, 2022

No findings