Filefusion is a decentralized, Web3 file-sharing and storage platform built on Apillon's infrastructure within the Polkadot ecosystem. It leverages blockchain technology to offer enhanced security, privacy, and user control over their data, while providing features similar to WeTransfer and Dropbox.
- ⚙️ Tech Stack
- 🔋 Features
- 🕸️ Snippets
Component | Technology/Service |
---|---|
Authentication | RainbowKit with SIWE and Iron Session |
File Uploads | Apillon SDK Storage |
File Encryption / Decryption | Apillon SDK Computing |
Get Transferred / Uploaded Files | Apillon SDK Storage |
Decrypt encrypted file site | Template forked from Apillon Phala Demo |
Email Sending Functioality | Nodemailer |
Filefusion has three modes.
- Storage Mode - The storage mode works like a basic version of dropbox. Users can upload files and get a shareable link to access their uploaded files
- Transfer Mode - Transfer mode functions as a web3 version of Wetransfer. Files are uploaded and transfered to recipient's email
- Private Mode - Files transferred using private mode are encrypted before they are uploaded and transferred to the recipient. User's get access to a decryption site in their email and only the wallet address with the designated NFT Key can access the file.
- Access all of your files transferred and uploaded using FileFusion
Note: Every dApp that relies on WalletConnect now needs to obtain a projectId (NEXT_PUBLIC_WALLET_CONNECT_PROJECT_ID) from WalletConnect Cloud. This is absolutely free and only takes a few minutes. Once you get the Project ID from WalletConnect Cloud, you can set it as an environment variable in your project.
Iron Session will encrypt the session with the given secret key (NEXT_IRON_PASSWORD)
You can generate a secret key using this code on your terminal
openssl rand -hex 32
or go to https://generate-secret.now.sh/32
NEXT_PUBLIC_WALLET_CONNECT_PROJECT_ID=
APILLON_COMPUTING_CONTRACT_UUID=
APILLON_BUCKET_UUID=
APILLON_API_KEY=
APILLON_API_SECRET=
EMAIL_USER=
EMAIL_PASS=
EMAIL_HOST=
NEXT_IRON_PASSWORD=
git clone https://github.com/Ghost-xDD/FileFusion.git
cd FileFusion
npm install
npm run dev