pytubepp-helper logo

pytubepp-helper neosubhamoy

Use this command to install pytubepp-helper:
winget install --id=neosubhamoy.pytubepp-helper -e

A Helper App for PytubePP Extension/Addon to Communicate with Pytube Post Processor CLI

README

PytubePPHelper

PytubePP Helper

A Helper App for PytubePP Extension/Addon to Communicate with Pytube Post Processor CLI

status github tag PRs

> 🄰 Liked this project? Please consider giving it a Star (🌟) on github to show us your appreciation and help the algorythm recommend this project to even more awesome people like you!

šŸ’» Supported Platforms

  • Windows 10 (v1803 or later) / 11
  • Linux (Debian / Fedora / Arch Linux base)
  • MacOS (v10.13 or later)

šŸ“Ž Pre-Requirements

  • These requirements can be installed using PytubePP Helper (post installation) if WinGet (for Windows users) / Homebrew (for MacOS users) is installed in your system

ā¬‡ļø Download and Installation

  1. Download the latest PytubePP Helper release based on your OS and CPU Architecture then install it or install it directly from an available distribution channel
Arch\OSWindowsLinuxMacOS
x86_64āœ… Downloadāœ… Downloadāœ… Download
ARM64āŒ N/AāŒ N/Aāœ… Download
PlatformDistribution ChannelInstallation Command / Instruction
Windows x86_64WinGetwinget install pytubepp-helper
Linux x86_64 (Arch)AURyay -S pytubepp-helper
  1. Install all pre-requirements and PytubePP Extension (follow next instructions based on your OS)

> NOTE: You can install the pre-requirements from PytubePP Helper app GUI or manually running the commands in your system's terminal / command prompt, for manual installation follow this guide.

  • 🪟 WINDOWS:

    1. If you don't have any Pre-Requirements installed first install WinGet. Then restart your Computer.

    2. Now open PytubePP Helper, you will see (blue) 'install' buttons. First click on the install button on the right side of 'Python', a cmd window will popup to install Python. after the installation is finished then close the cmd window and now install 'FFmpeg' by clicking on the next install button. after the installation is finished close the cmd window and restart your Computer (do same for Node.js).

    3. Again open PytubePP Helper and install PytubePP at the end. after it finishes you can close the cmd window. Now click on the 'Refresh' button and you will see the 'Ready' message. Then close PytubePP Helper

    4. You can now add the PytubePP Extension in your browser and it should work properly with PytubePP

    5. Pro Tips:

    • Make sure PytubePP Helper is always running in the background (system tray) otherwise PytubePP Extension will not work properly.
    • PytubePP Helper by default always autostarts itself when Windows starts. Make sure autostart is not disabled for PytubePP Helper in Task Manager (Startup apps tab)
  • 🐧 LINUX:

    > āš ļø NOTE: Most of the Debian / Fedora / Arch based distros are supported. Tested on: debian (v12), ubuntu (v24.04 LTS), fedora (v41), arch linux (latest rolling). If your distro is not in the tested list it doesn't mean that 'the app will not run at all', so, test it yourself and if it doesn't work then you can request us to add support for your distro via creating a github issue.

    > āš ļø Sandboxed Browsers may not work properly (eg: Flatpak, Snaps) (have issue with: Browser NativeMessaging API read here) (But, still try it yourself to see if it works)

    1. For linux users Pre-Requirements are mostly fulfilled as 'Python' is pre installed in most linux distros and 'FFmpeg', 'Node.js' are auto installed as a dependency while installing the .deb / .rpm package. You just need to install 'PytubePP' manually by clicking the blue 'install' button opening pytubepp-helper. Now click on the 'Refresh' button and you will see the 'Ready' message. Then close PytubePP Helper.

    > Always make sure your system packages are up-to-date (you may face issues otherwise, the app may not open at all)

    > If you are facing issues with installing 'libwebkit2gtk-4.0' as dependency of pytubepp-helper in Ubuntu 24.04 LTS follow this guide (* this issue is fixed in the latest version - v2 of tauri, this dependency is no longer required in the latest versions)

    > 'AppIndicator' feature must be enabled for seemless experiance with pytubepp-helper. If your distro doesn't support this by default (eg: fedora) then you need to enable it for your GNOME desktop environment manually, using a GNOME shell extension: AppIndicator and KStatusNotifierItem Support

    1. You can now add the PytubePP Extension in your browser and it should work properly with PytubePP

    2. Pro Tips:

    • Make sure PytubePP Helper is always running in the background (Appindicator) otherwise PytubePP Extension will not work properly.
    • PytubePP Helper by default always autostarts itself when Linux Distro starts. Make sure autostart is not disabled for PytubePP Helper in your distro's Startup Manager / Applications
  • šŸŽ MAC OS:

    1. If you don't have any Pre-Requirements installed first install Homebrew

    2. Python mostly comes pre-installed in MacOS, But on the case if you are running Python version older than 3.8 upgrade it to a newer version using Homebrew command: brew upgrade python

    3. Now, open PytubePP Helper app and click on the (blue) install button on the right side of 'FFmpeg' to install it. Also, install 'Node.js' and 'PytubePP' following the same step.

    4. Then, click on the 'register to mac' icon on the top right corner to register 'PytubePP Helper' in your system and also add it to your system's autostart entry. If you see a MacOS notification saying 'pytubepp-helper' is added as a startup app then it's perfectly done.

    5. Now click on the 'Refresh' button and you will see the 'Ready' message. Then close PytubePP Helper.

    6. You can now add the PytubePP Extension in your browser and it should work properly with PytubePP

    7. Pro Tips:

    • Make sure PytubePP Helper is always running in the background (top bar) otherwise PytubePP Extension will not work properly.
    • Always allow all the MacOS security popups if it's from 'pytubepp-helper' otherwise it will not function properly.
    • Don't quit 'pytubepp-helper' from the dock otherwise it will stop working (always use the close button to just hide the app window not fully quit it)
    • PytubePP Helper by default always autostarts itself when MacOS starts. Make sure autostart is not disabled for PytubePP Helper in Settings (General > Login Apps)

šŸ¤” How It Works

  • PytubePP Helper is an intermediate communicator between PytubePP Extension and Pytube Post Processor CLI interface. It is used as a bridge to estblish communication between the System Shell / CMD and Browser Extension(as Browser Extensions can't directly talk, execute commands with System Shell / CMD for security reasons they are isolated from the system) The only way a browser extension can communicate with the system (native app) is Browser nativeMessaging API (Available on Chrome, Firefox etc.). So, PytubePP Helper uses that API to communicate with the PytubePP Browser Extension (PytubePP Helper recives PytubePP Extension's requests then processes the request using PytubePP CLI and returns back the response to the Extension) For further understanding view the system design diagram of PytubePP Helper app below:

PytubePPHelperDiagram

⚔ Technologies Used

Tauri Rust React TypeScript ShadCnUi

šŸ› ļø Contributing / Building from Source

Want to be part of this? Feel free to contribute...!! Pull Requests are always welcome...!! (^_^) Follow these simple steps to start building:

  • Make sure to install Rust, Node.js and Git before proceeding.
  • Install tauri Prerequisites for your OS / platform
  1. Fork this repo in your github account.
  2. Git clone the forked repo in your local machine.
  3. Install node dependencies
npm install
  1. Run development / build process > Make sure to run the build command once before running the dev command to avoid errors
npm run tauri dev
npm run tauri build
  1. Do the changes, Send a Pull Request with proper Description (NOTE: Pull Requests Without Proper Description will be Rejected)

ā­• Noticed any Bugs or Want to give us some suggetions? Always feel free to open a GitHub Issue. We would love to hear from you...!!

šŸ“ License

PytubePP Helper is Licensed under the MIT license. Anyone can view, modify, use (personal and commercial) or distribute it's sources without any attribution and extra permissions.

āš–ļø NOTE: YouTube is a trademark of Google LLC. Use of this trademark is subject to Google Permissions. Downloading and using Copyrighted YouTube Content for Commercial pourposes are not allowed by YouTube Terms without proper Permissions from the Creator. We don't promote this kinds of activity, You should use the downloaded contents wisely and at your own responsibility.

Versions
0.8.0
0.7.0
Website
License