Skip to content

Latest commit

 

History

3 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

NF Downloader

A fast, modern desktop application for downloading media from YouTube and various online platforms as MP3 or MP4 files, built on the powerful yt-dlp command-line engine. Developed in Java with a beautiful, responsive local Web UI.

This project is specifically designed with features to ensure robust and seamless operation for NetFree filtered networks.

🚀 Key Features (Updated for v3.1.0)

  • Universal Browser Extension (New in v3.1.0): The companion browser extension has been expanded to sniff and download video/audio media from almost any site across the web, going beyond YouTube.

  • Extension Customization & Cookies (New in v3.1.0): Adjust the look of the download button directly under YouTube videos (Classic, Official YT, or Floating) and export Netscape-compatible cookies with a single click.

  • Advanced Subtitle Integration (New in v3.1.0): Download video subtitles as selectable embedded tracks (CC), burn/hardcode them directly into the video stream, or save them as separate .srt files.

  • Advanced Playlist Management: Easily select specific tracks from large playlists using a Live Search bar and sticky action controls.

  • Bilingual UI: Fully translated interface supporting both English and Hebrew (with automatic RTL/LTR layout switching).

  • Customizable Interface: Change background colors, set custom background images (saved locally via IndexedDB), and adjust UI scaling.

  • Browser Integration: Launch the application and initiate downloads directly from your browser using a custom protocol (nfmp3downloader://).

  • Ultimate NetFree Compatibility & Stability:

    • Bypasses certificate validation (--no-check-certificates) to work seamlessly with NetFree's filtering.
    • Fallback Metadata: Intelligently fetches video titles and thumbnails safely even if the main download is initially blocked.
    • Robust background process cleanup ensuring no hanging ffmpeg or yt-dlp tasks remain active on cancellation.

Building from Source

If you want to build the project yourself, follow these steps.

Prerequisites

  • JDK 11 or newer (must include jpackage).
  • Apache Maven.
  • (For building the installer) Inno Setup.

Build Steps

  1. Get the Source Code: Clone the repository using Git:

    git clone https://github.com/mps435/NFmp3Downloader.git
    cd NFmp3Downloader
  2. Binaries (yt-dlp & ffmpeg): For a quick and easy build, this repository includes the required yt-dlp.exe and ffmpeg.exe binaries in the src/main/resources/bin directory.

For security reasons, you can download these files yourself from their official sources:

  • Delete the existing .exe files from src/main/resources/bin.
  • Download the latest versions from the links below and place them in this directory.
  1. Build the Executable JAR using Maven: Compile and package the code into a single, executable "fat JAR" in the target directory:

    mvn clean package
  2. Create the Self-Contained Application Image: Use jpackage to bundle the JAR with a minimal Java runtime. This creates a directory (release\NF Downloader) containing an .exe and all necessary files, making the application independent of any installed Java on the user's machine. Run the following command from the project's root directory:

    jpackage --type app-image --dest release --input target --name "NF Downloader" --main-class com.mps.App --main-jar NFmp3Downloader-3.1.0.jar --java-options "-Dfile.encoding=UTF-8" --icon icon.ico --app-version 3.1.0 --vendor "mps" --copyright "Copyright (c) 2026 mps

About

A simple desktop application for downloading YouTube videos as MP3 or MP4 files, built with Java and a web UI with compatibility for NetFree users.

Topics

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Used by

Contributors

Languages