https://github.com/netzulo/vipfs-protocol
Blockchain Cypher for Video Uploader to IPFS
https://github.com/netzulo/vipfs-protocol
blockchain cypher ipfs typescript uploader video
Last synced: 2 months ago
JSON representation
Blockchain Cypher for Video Uploader to IPFS
- Host: GitHub
- URL: https://github.com/netzulo/vipfs-protocol
- Owner: netzulo
- License: mit
- Created: 2025-06-01T17:49:01.000Z (8 months ago)
- Default Branch: main
- Last Pushed: 2025-06-01T19:48:38.000Z (8 months ago)
- Last Synced: 2025-06-02T05:01:52.717Z (8 months ago)
- Topics: blockchain, cypher, ipfs, typescript, uploader, video
- Language: TypeScript
- Homepage:
- Size: 16.6 MB
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
- Code of conduct: CODE_OF_CONDUCT.md
Awesome Lists containing this project
README
# VIPFS-Protocol

[](https://www.npmjs.com/package/vipfs-protocol)


A robust TypeScript library for fragmenting, encrypting and uploading large video files to IPFS, using Ethereum-derived keys for security. Generates a JSON index to ensure video can be safely reassembled and decrypted later.
---
## ๐ Features
- ๐ Fragmentation and encryption of videos with Ethereum-derived keys
- ๐งฉ IPFS upload and index generation for decentralized storage
- โป๏ธ Retry and resiliency system for reliable uploads
- โก TypeScript-first, fully type-safe API
- ๐งช Modular design with unit tests for each step
---
## ๐ฆ Installation
```bash
npm install vipfs
```
or
```bash
yarn add vipfs-protocol
```
---
## ๐งช Usage
```tsx
import {
// helpers
// hooks
// services
VideoEncryptionManager,
} from 'vipfs-protocol'
const manager = new VideoEncryptionManager(myEthereumWallet)
const indexJson = await manager.encryptAndUpload('/path/to/video.mp4')
// Later, to reassemble the video:
const videoBuffer = await manager.downloadAndDecrypt(indexJson)
```
๐ For our website, visit [Github](https://github.com/netzulo/vipfs-protocol)
๐ For full documentation, visit [Github](https://github.com/netzulo/vipfs-protocol)
---
## ๐ ๏ธ Development
### Setup
```bash
npm install
```
### Run dev server
```bash
npm run dev
```
### Full build & lint cycle
```bash
npm run ci
```
or
```bash
yarn ci
```
**โ ๏ธ Reminder**: Clean up unused CSS classes in `public/output.css` after changes. Tailwind can generate many unused classes.
---
## ๐ NPM Scripts
| Script | Description |
|-----------------|--------------------------------------------------------------------------------------------------|
| `dev` | Starts the development server |
| `css` | Builds the CSS |
| `css:dev` | Builds CSS in watch/dev mode |
| `test` | Runs tests with coverage |
| `lint` | Runs ESLint |
| `lint:fix` | Fixes lint errors |
| `format` | Formats code using Prettier |
| `build` | Builds for production |
| `preview` | Previews the production build locally |
| `ci` | Runs tests, lint, and formatting |
| `clean` | Cleans `dist`, `node_modules`, `package-lock.json`, etc. |
---
## ๐งฉ Components / Modules
Each module has dedicated tests to ensure reliability and to simplify future extensions.
- **VideoFragmenter** โ Splits video files into fixed-size binary chunks
- **FragmentEncryptor** โ Encrypts/decrypts each chunk using Ethereum wallet-derived keys
- **IPFSUploader** โ Uploads/downloads each encrypted chunk to/from IPFS
- **IndexManager** โ Generates and updates the JSON index file with fragment metadata
- **EthereumWallet** โ Derives secure keys from an Ethereum wallet for encryption
---
## ๐ฅ Contributing
We welcome contributions! Please read our [contributing guide](CONTRIBUTING.md) and follow the code style defined in `.eslintrc`.
### Coverage
Coverage is generated in `.coverage/index.html`, and you can view it in your browser. To generate coverage, run:
```bash
yarn test
```
This is an example of the coverage report:

---
## ๐ License
[MIT](./LICENSE)
---
## ๐ฌ Contact Us
For questions, feedback, or business inquiries:
**โ๏ธ Email**: [netzuleando@gmail.com](mailto:netzuleando@gmail.com)
**๐ Website**: [Github](https://github.com/netzulo/vipfs-protocol)
---
## ๐จโ๐ป Authors
Made with โค๏ธ by the [@Netzulo](https://github.com/netzulo)