Description

This project combines IPFS/FileCoin and a youtube-dl binary to mirror downloads onto a IPFS via FileCoin (via web3.storage), while keeping redundant bandwidth usage to a minimum. web3.storage is accessed via the go w3s library, and uses mostly default settings to upload and download files.

ytdl-ipfs-archiver showcase

How it's made

This is one of my first projects for a hackathon, and I was still not sure about the technologies or the languages the libraries were written in. As such, usage of filecoin is handled by web3.storage's API, which also handled the IPFS get functions. A few particularly hacky things include the use of exec to run the youtube-dl binary, thus making this project partly depend on Python, as well as the workaround to "detect" when youtube-dl merges into an unexpected filename by simply globbing the file extension. Overall, I am impressed that it worked so quickly, however hacky it was.