Store extremely large files on Discord
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
Lamp 20fe05d1f9 Simplify; allow download without token 2 years ago
.gitignore ignore .DS_Store 2 years ago
README.md Simplify; allow download without token 2 years ago
dlfs.js Simplify; allow download without token 2 years ago
package-lock.json init 2 years ago
package.json Simplify; allow download without token 2 years ago

README.md

Discord LFS

A utility that uploads a file as large as you want, to Discord. It works by splitting the file into 8MB chunks and uploading them as attachments to separate channels on a guild so it's not affected by rate limits. The information of each attachment is collected and saved to a compressed file which anyone can use with this program to download the original file.

Warning

THIS IS API ABUSE! You may get in trouble if you upload ridiculously large amounts of data.

Setup

Node.js 12.9 or newer is required.

wget https://github.com/ledlamp/discord-lfs/archive/master.zip -O discord-lfs.zip
unzip discord-lfs.zip
cd discord-lfs
npm ci
chmod a+x dlfs.js

Unless you only need to download, create a Discord bot and copy its token. Create a file named .env, type TOKEN= and paste the token after it.

Usage

Open terminal in the folder.

./dlfs.js upload <path-to-file>

When this is finished a .dlfs.gz file will be saved in the working directory. Anyone can use that metadata file with this program to download the original file.

./dlfs.js download <path or http url of .dlfs.gz file>

This will download the original file, represented by the metadata (.dlfs.gz) file, into the working directory. This does not require a bot token.

If you want to delete the file from Discord's servers:

./dlfs.js delete <path or http url of .dlfs.gz file>

(On Windows you may have to use node dlfs.js instead of ./dlfs.js.)