notbugAs an Amazon Associate I earn from qualifying purchases.
Want a good read? Try FreeBSD Mastery: Jails (IT Mastery Book 15)
Want a good monitor light? See my photosAll times are UTC
Ukraine
Port details
py-yt-dlp-ejs JavaScript challenge solver for yt-dlp
0.5.0 wwwnew! on this many watch lists=2 search for ports that depend on this port Find issues related to this port Report an issue related to this port View this port on Repology. pkg-fallout Package not present on quarterly.This port was created during this quarter. It will be in the next quarterly branch but not the current one.
Maintainer: yuri@FreeBSD.org search for ports maintained by this maintainer
Port Added: 2026-03-01 22:09:06
Last Update: 2026-03-10 01:56:54
Commit Hash: ae001a7
People watching this port, also watch:: zbar, pciutils, libinotify, fusefs-sshfs, cpu-microcode-intel
License: UNLICENSE
WWW:
https://github.com/yt-dlp/yt-dlp-ejs
Description:
yt-dlp-ejs provides the external JavaScript (EJS) scripts that yt-dlp uses to interact with YouTube's player logic. These scripts enable full support for YouTube by solving JavaScript-based challenges, such as signature and throttle parameter decryption. A JavaScript runtime is required at runtime to execute these scripts. Supported runtimes include Deno, Node.js, Bun, and QuickJS.
Homepage    cgit ¦ Codeberg ¦ GitHub ¦ GitLab ¦ SVNWeb - no subversion history for this port

Manual pages:
FreshPorts has no man page information for this port.
pkg-plist: as obtained via: make generate-plist
There is no configure plist information for this port.
USE_RC_SUBR (Service Scripts)
  • no SUBR information found for this port
Dependency lines:
  • ${PYTHON_PKGNAMEPREFIX}yt-dlp-ejs>0:www/py-yt-dlp-ejs@${PY_FLAVOR}
To install the port:
cd /usr/ports/www/py-yt-dlp-ejs/ && make install clean
To add the package, run one of these commands:
  • pkg install www/py-yt-dlp-ejs
  • pkg install py311-yt-dlp-ejs
NOTE: If this package has multiple flavors (see below), then use one of them instead of the name specified above.
NOTE: This is a Python port. Instead of py311-yt-dlp-ejs listed in the above command, you can pick from the names under the Packages section.
PKGNAME: py311-yt-dlp-ejs
Package flavors (<flavor>: <package>)
  • py311: py311-yt-dlp-ejs
distinfo:
TIMESTAMP = 1772466774 SHA256 (yt-dlp-ejs/yt_dlp_ejs-0.5.0.tar.gz) = 8dfae59e418232f485253dcf8e197fefa232423c3af7824fe19e4517b173293b SIZE (yt-dlp-ejs/yt_dlp_ejs-0.5.0.tar.gz) = 98925

Expand this list (2 items)

Collapse this list.

SHA256 (yt-dlp-ejs/yt-dlp-ejs-node-modules-0.5.0.tar.gz) = 9412c22a67a2218a168e2feceb4b42cbb06574cfdebc9ef1a9bc8d981e7f6631 SIZE (yt-dlp-ejs/yt-dlp-ejs-node-modules-0.5.0.tar.gz) = 15397650

Collapse this list.


Packages (timestamps in pop-ups are UTC):
py311-yt-dlp-ejs
ABIaarch64amd64armv6armv7i386powerpcpowerpc64powerpc64le
FreeBSD:13:latest-0.5.0---n/an/an/a
FreeBSD:13:quarterly-----n/an/an/a
FreeBSD:14:latest-0.5.0------
FreeBSD:14:quarterly--------
FreeBSD:15:latest-0.5.0n/a-n/an/a--
FreeBSD:15:quarterly--n/a-n/an/a--
FreeBSD:16:latest-0.5.0n/a-n/an/a--
Dependencies
NOTE: FreshPorts displays only information on required and default dependencies. Optional dependencies are not covered.
Build dependencies:
  1. deno : www/deno
  2. npm : www/npm
  3. py311-hatch-vcs>=0 : devel/py-hatch-vcs@py311
  4. py311-hatchling>0 : devel/py-hatchling@py311
  5. python3.11 : lang/python311
  6. py311-build>=0 : devel/py-build@py311
  7. py311-installer>=0 : devel/py-installer@py311
Test dependencies:
  1. py311-pytest>=7,1 : devel/py-pytest@py311
  2. python3.11 : lang/python311
Runtime dependencies:
  1. deno : www/deno
  2. python3.11 : lang/python311
Fetch dependencies:
  1. npm : www/npm
  2. ca-root-nss.crt : security/ca_root_nss
This port is required by:
for Build
  1. www/yt-dlp
for Run
  1. www/py-yt-dlp
  2. www/yt-dlp

Configuration Options:
No options to configure
Options name:
www_py-yt-dlp-ejs
USES:
python
FreshPorts was unable to extract/find any pkg message
Master Sites:
Expand this list (2 items)
Collapse this list.
  1. https://files.pythonhosted.org/packages/source/y/yt_dlp_ejs/
  2. https://pypi.org/packages/source/y/yt_dlp_ejs/
Collapse this list.

Number of commits found: 6

Commit History - (may be incomplete: for full details, see links to repositories near top of page)
CommitCreditsLog message
0.5.0
10 Mar 2026 01:56:54
commit hash: ae001a7a25a6b245575c5138a7f085fa9917da30commit hash: ae001a7a25a6b245575c5138a7f085fa9917da30commit hash: ae001a7a25a6b245575c5138a7f085fa9917da30commit hash: ae001a7a25a6b245575c5138a7f085fa9917da30 files touched by this commit
Yuri Victorovich (yuri) search for other commits by this committer
Mk/Uses: Remove certs.mk

It was a useful shorthand for the security/ca_root_nss dependency.
However, several people disagreed.

Can anybody explain why libedit.mk is there? It is also a one string
substitution. Same with libarchive.mk.
0.5.0
09 Mar 2026 16:13:25
commit hash: b5694e0fce8add0f2aff607f1ef701d74dd68988commit hash: b5694e0fce8add0f2aff607f1ef701d74dd68988commit hash: b5694e0fce8add0f2aff607f1ef701d74dd68988commit hash: b5694e0fce8add0f2aff607f1ef701d74dd68988 files touched by this commit
Yuri Victorovich (yuri) search for other commits by this committer
www/py-yt-dlp-ejs: Add USES=certs:fetch

npm requires this for some users/systems and not for others.
It's not clear what the differentiating factor is.
See details in the bug report.

PR:		268638
Reported by:	James TD Smith
0.5.0
04 Mar 2026 04:20:02
commit hash: e5b951b54dd4277d96262f7e21dc1720ad4fd529commit hash: e5b951b54dd4277d96262f7e21dc1720ad4fd529commit hash: e5b951b54dd4277d96262f7e21dc1720ad4fd529commit hash: e5b951b54dd4277d96262f7e21dc1720ad4fd529 files touched by this commit
Yuri Victorovich (yuri) search for other commits by this committer
www/py-yt-dlp-ejs: Remove the IGNORE line

This do-fetch target does not repackage anything.
It fetches the tarball, extracts it, then fetches NodeJS dependencies
into the same folder, and packages this folder as a final tarball
used during build.

AFAIK there is nothing wrong with this port the way it is now.

This can't be done in post-extract due to internet access that is
required.
0.5.0
02 Mar 2026 17:20:46
commit hash: 073694902a75bc96e8342c6a07ad397edf994239commit hash: 073694902a75bc96e8342c6a07ad397edf994239commit hash: 073694902a75bc96e8342c6a07ad397edf994239commit hash: 073694902a75bc96e8342c6a07ad397edf994239 files touched by this commit
Mathieu Arnold (mat) search for other commits by this committer
www/py-yt-dlp-ejs: mark as IGNORE

You cannot repack your distfile in do-fetch.

If you need to extract things and move things around, do it in
post-extract.

With hat:	portmgr
0.5.0
02 Mar 2026 17:09:55
commit hash: 525663e831cc4a7c6feb037944efc8a5a96ec34dcommit hash: 525663e831cc4a7c6feb037944efc8a5a96ec34dcommit hash: 525663e831cc4a7c6feb037944efc8a5a96ec34dcommit hash: 525663e831cc4a7c6feb037944efc8a5a96ec34d files touched by this commit
Yuri Victorovich (yuri) search for other commits by this committer
www/py-yt-dlp-ejs: Fix fetch
0.5.0
01 Mar 2026 22:06:47
commit hash: 1e0296f943062559f148ca8eebc9b472874dd9c1commit hash: 1e0296f943062559f148ca8eebc9b472874dd9c1commit hash: 1e0296f943062559f148ca8eebc9b472874dd9c1commit hash: 1e0296f943062559f148ca8eebc9b472874dd9c1 files touched by this commit
Yuri Victorovich (yuri) search for other commits by this committer
www/py-yt-dlp-ejs: New port: JavaScript challenge solver for yt-dlp

Number of commits found: 6