Securely Store Files with IPFS-Encrypted

Securely Store Files with IPFS-Encrypted

Are you tired of storing your private files on centralized cloud services that can be hacked or censored? Do you want to ensure that your data remains secure and accessible to you and your authorized peers only? If so, you might be interested in IPFS-Encrypted, a Node.js module that allows you to upload and download encrypted folders to/from IPFS using AES-256-CBC encryption.

How it Works

IPFS-Encrypted leverages the InterPlanetary File System (IPFS), a peer-to-peer network that provides a decentralized, content-addressed storage and retrieval system. IPFS allows you to store and share files by assigning them a unique Content ID (CID) that is based on their content, rather than their location or name. This means that you can access your files from any IPFS node, without having to worry about their physical location or availability. IPFS also provides built-in versioning, deduplication, and caching mechanisms that can reduce the storage and bandwidth costs of distributing and sharing large files.

However, while IPFS is great for storing and sharing public files, it does not provide built-in encryption or access control mechanisms. This means that anyone who knows the CID of your files can access them, regardless of whether they have the right to do so. To address this limitation, IPFS-Encrypted uses AES-256-CBC encryption to encrypt the contents of your folders with a password that only you and your authorized peers know. This way, even if someone obtains the CID of your encrypted folder, they won’t be able to access its contents without the password.

IPFS-Encrypted also integrates with Web3 Storage, a decentralized storage platform that provides enterprise-grade reliability, security, and performance to IPFS. Web3 Storage allows you to authenticate your requests to the IPFS network using a token that you can obtain by signing up for their service. By using Web3 Storage, you can ensure that your files are stored in a secure and redundant network of nodes that are protected against data loss, censorship, and other attacks.

Website

We used the IPFS-encrypted Node.js module, and built a website where users can upload/retrieve files to IPFS. All files uploaded to our website are encrypted, ensuring the security and privacy of our users’ data. To try out our website, please visit the link: https://ipfs-encrypt-web.vercel.app/

Uploading encrypted files to ipfs with password

Downloading encrypted files with ipfs

Requirements

To use ipfs-encrypted, you need to have the following:

  • Node.js installed on your computer. You can download it from the official Node.js website.

  • A Web3 Storage token to authenticate your requests to the IPFS network. You can obtain a token by signing up for Web3 Storage.

Installation

You can install ipfs-encrypted using npm by running the following command

npm install ipfs-encrypted

Requirements

To use ipfs-encrypted, you need to have the following:

  • Node.js installed on your computer. You can download it from the official Node.js website.

  • A Web3 Storage token to authenticate your requests to the IPFS network. You can obtain a token by signing up for Web3 Storage.

How to Use IPFS-Encrypted

Using IPFS-Encrypt is easy and straightforward. Here are some of the main functions that you can use: DOCS

  • uploadEncryptionIpfs(Web3Storagetoken, folderPath, password): Uploads a folder to IPFS and encrypts its contents using a password.

  • decryptFolderIpfs(Web3Storagetoken, cid, password, downloadLocation): Retrieves an encrypted folder from IPFS and decrypts its contents using a password.

  • uploadToIpfs(Web3Storagetoken, folderLocation): Uploads a folder to IPFS without encryption.

  • downloadFile(Web3Storagetoken, cid, downloadLocation): Downloads a file from IPFS to the current directory.

We would greatly appreciate any feedback you have on our website and IPFS-encrypted Package. Your input will help us improve and make even better. Please don’t hesitate to share any thoughts or suggestions you may have. You can reach out to us through via email at vikasrushi@outlook.com. Thank you for taking the time to try our website,