| Port details |
- py-yt-dlp-ejs JavaScript challenge solver for yt-dlp
- 0.5.0 www
=2 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
 - 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.
¦ ¦ ¦ ¦ 
- 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>)
- 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
Packages (timestamps in pop-ups are UTC):
- Dependencies
- NOTE: FreshPorts displays only information on required and default dependencies. Optional dependencies are not covered.
- Build dependencies:
-
- deno : www/deno
- npm : www/npm
- py311-hatch-vcs>=0 : devel/py-hatch-vcs@py311
- py311-hatchling>0 : devel/py-hatchling@py311
- python3.11 : lang/python311
- py311-build>=0 : devel/py-build@py311
- py311-installer>=0 : devel/py-installer@py311
- Test dependencies:
-
- py311-pytest>=7,1 : devel/py-pytest@py311
- python3.11 : lang/python311
- Runtime dependencies:
-
- deno : www/deno
- python3.11 : lang/python311
- Fetch dependencies:
-
- npm : www/npm
- ca-root-nss.crt : security/ca_root_nss
- This port is required by:
- for Build
-
- www/yt-dlp
- for Run
-
- www/py-yt-dlp
- 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:
|
| Commit History - (may be incomplete: for full details, see links to repositories near top of page) |
| Commit | Credits | Log message |
0.5.0 10 Mar 2026 01:56:54
    |
Yuri Victorovich (yuri)  |
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
    |
Yuri Victorovich (yuri)  |
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
    |
Yuri Victorovich (yuri)  |
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
    |
Mathieu Arnold (mat)  |
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
    |
Yuri Victorovich (yuri)  |
www/py-yt-dlp-ejs: Fix fetch |
0.5.0 01 Mar 2026 22:06:47
    |
Yuri Victorovich (yuri)  |
www/py-yt-dlp-ejs: New port: JavaScript challenge solver for yt-dlp |