Weave Code
Code Weaver
Helps Laravel developers discover, compare, and choose open-source packages. See popularity, security, maintainers, and scores at a glance to make better decisions.
Feedback
Share your thoughts, report bugs, or suggest improvements.
Subject
Message

Youtube Downloader Laravel Package

athlon1600/youtube-downloader

Pure-PHP YouTube downloader library that fetches direct stream links (audio-only and combined audio+video) without shelling out to youtube-dl or using JS interpreters. Simple API: getDownloadLinks() and pick the best format URL.

View on GitHub
Deep Wiki
Context7
v4.0.1

Fixed XSS vulnerability issue on our YouTube downloader testing page by upgrading to jQuery 3.5.1.

Full Changelog: https://github.com/Athlon1600/youtube-downloader/compare/v4.0.0...v4.0.1

v4.0.0

Refactored entire project to use type declarations everywhere. Because of that, the minimum supported PHP version is now PHP 7.4.

Complete list of changes: https://github.com/Athlon1600/youtube-downloader/compare/3.x...v4

High Impact Changes

  • Removed VideoDetails class. We use VideoInfo class in its place
  • DownloadOptions::getVideoInfo() will now return VideoInfo class
  • AbstractModel class has been renamed to JsonObject
  • PlayerResponseParser class has been renamed to SignatureLinkParser, and its parseLinks method has a different signature

Low Impact Changes

  • removed SplitStream class
  • removed DownloadOptions::getSplitFormats method
  • SignatureDecoder::parseFunctionName and SignatureDecoder::parseFunctionCode are protected methods now
v3.1.1
v3.1.0
v3.0.2
v3.0.1
v2.1.2
v3.0.0

Lots of code refactoring with many breaking changes, but everything now is much easier to read and understand.
Some of the major changes:

  • Added a new php-curl-file-downloader dependency. Previous Browser class just duplicated a bunch of the same HTTP logic that I wrote for that library anyways.

  • We're no longer passing arrays back and forth everywhere. That's just a bad programming practice in general. Most of those arrays are now objects. For example: getDownloadLinks method which used to return an array of links, now returns a DownloadOptions object where each "option" is also an object (StreamFormat).

  • getDownloadLinks now throws a YouTubeException if something unexpected happens. Previously it just returned an empty array.
    We will be using Exceptions a lot more instead of just returning false or null as we were doing before.

  • Youtube was renamed to YouTube (capitalized twice) everywhere, because that is just how YouTube itself does it: https://developers.google.com/youtube/v3/code_samples/php

v2.1.1
v2.1.0
v2.0.9
  • updated SignatureDecoder class to decrypt video signatures properly.
  • added new Utils class to hold useful functions.
v2.0.8
  • added ability for underlying browser instance to use a proxy server
  • misc bug fixes regarding non-existing array indices
  • added phpstan.neon.dist
v2.0.7
  • Fixed issue #57 that had to do with cypher decryption that broke when youtube changed one of the properties inside its code from cipher to signatureCipher
v2.0.6
v2.0.5
  • fully Heroku compatible
  • fully functional demo that can run locally through php -S
v2.0.4
  • new YouTubeStreamer class for streaming videos directly from the server.
  • PHP 5.6 / PHP 7 requirement is part of composer.json now
v2.0.3
  • support YouTube signature changes [January 2020]
v2.0.2
  • many videos do not need signature decryption. Deal with such videos in a different way.
  • properly handle exceptions in PHP7 - specifically: DivisionByZeroError
v2.0.1

No major changes. Just internal refactoring.

v2.0.0

breaking changes!

  • All is under YouTube namespace now.
v1.0.1

v1.0.1

v1.0.0

First release

Weaver

How can I help you explore Laravel packages today?

Conversation history is not saved when not logged in.
Prompt
Add packages to context
No packages found.
besmartand-pro/php-quality-config
sentix/ai-chatbot
terminal42/code-quality-tools
codifyo/ts-generator-bundle
testo/fiber
mintobit/jobqueue
a4sex/maintenance-bundle
a4sex/entity-date-update
a4sex/client-identifier
a4sex/base-utilites
a4sex/key-value-storage
a4sex/micro-status
chilldev/dependency-injection-extra
datinglibre/datinglibre-app-api
biberltd/corebundle
bricre/symfony-bundle-test
biberltd/logbundle
dominium/http-adapter-bundle
dominium/google-analytics
a4sex/auto-clean-entity