NCDownloader is broken on Nextcloud 33 due to deprecated API calls. I've fixed the compatibility issues for Youtube-dl

NCDownloader is broken on Nextcloud 33 due to deprecated API calls. I’ve fixed the compatibility issues and published a working fork at https://github.com/wolfravenous/ncdownloader — tested on Ubuntu 22, PHP 8.3, Nextcloud 33.

This code is tested to work for Youtube-DL and m4a. files. I have not tested anything to do with Aria2, HTTP/MAGNET, or Search Torrents, as I do not use those features of the app. Any one is welcome to download and test and provide feedback. Also, I had to manually install the youtube-dl binary using the commands below:

mkdir -p /var/www/nextcloud/apps/ncdownloader/bin

wget -O /var/www/nextcloud/apps/ncdownloader/bin/yt-dlp https://github.com/yt-dlp/yt-dlp/releases/latest/download/yt-dlp

chmod 755 /var/www/nextcloud/apps/ncdownloader/bin/yt-dlp

sudo chown www-data:www-data /var/www/nextcloud/apps/ncdownloader/bin/yt-dlp

ls -la /var/www/nextcloud/apps/ncdownloader/bin/

Hi,

I’m interested in using your fork! Im still on Nextcloud 32 but I’d like to think ahead.
How can i set this up? Do i install the normal ncdownloader first?

Im not sure how i can install a fork directly.

Thanks in advance!

Hi @iewl , First let me state there might be other ways than how I do things. But below is what I would do, I am also going to update the ReadMe file on my Github fork with the below instructions.

Here’s a clean install guide for your fork:


Installing wolfravenous/ncdownloader on Nextcloud 33

Requirements

  • Nextcloud 33

  • Ubuntu 22.04

  • PHP 8.3

  • Command line access with sudo

Installation

1. Navigate to your Nextcloud apps directory and clone the fork:

cd /var/www/nextcloud/apps
sudo git clone https://github.com/wolfravenous/ncdownloader.git

2. Set correct ownership:

sudo chown -R www-data:www-data /var/www/nextcloud/apps/ncdownloader

3. Create the bin directory and download yt-dlp:

sudo mkdir -p /var/www/nextcloud/apps/ncdownloader/bin
sudo wget -O /var/www/nextcloud/apps/ncdownloader/bin/yt-dlp https://github.com/yt-dlp/yt-dlp/releases/latest/download/yt-dlp
sudo chmod 755 /var/www/nextcloud/apps/ncdownloader/bin/yt-dlp
sudo chown www-data:www-data /var/www/nextcloud/apps/ncdownloader/bin/yt-dlp

4. Install Node.js if not already installed:

curl -fsSL https://deb.nodesource.com/setup_20.x | sudo -E bash -
sudo apt install -y nodejs

5. Build the frontend assets:

cd /var/www/nextcloud/apps/ncdownloader
sudo npm install
sudo npm run build

6. Enable the app:

sudo -u www-data php8.3 /var/www/nextcloud/occ app:enable ncdownloader

Scanning downloaded files

After downloading files, run this to make them visible in Nextcloud — replace yourusername and the path with your own:

sudo -u www-data php8.3 /var/www/nextcloud/occ files:scan yourusername --path="/yourusername/files/Music"

Updating yt-dlp manually

If the in-app update button doesn’t work, update yt-dlp manually:

sudo wget -O /var/www/nextcloud/apps/ncdownloader/bin/yt-dlp https://github.com/yt-dlp/yt-dlp/releases/latest/download/yt-dlp
sudo chmod 755 /var/www/nextcloud/apps/ncdownloader/bin/yt-dlp
sudo chown www-data:www-data /var/www/nextcloud/apps/ncdownloader/bin/yt-dlp