I did.
Turns out JFF is only using a rather weak DRM called Clearkey. And luckily someone just released a tool to extract decryption key from Clearkey last week.
[https://forum.videohelp.com/threads/414140-[Release]-Widevine-L3-Guesser-Extension-Works-in-2024-Firefox-Chrome-All-OS/page12]So here's the steps:
Download the encrypted media files using The stream detector extension and yt-dlp.
stream detector.PNG
cmd.PNG
(After copying download command in cmd, you need to add --allow-unplayable option, otherwise yt-dlp will only download audio file.)
Using Widevine L3 Guesser Extension to acquire Clearkey decryption key pair. (You don't need to setup CDM to use the extension, since it's not about Widevine.)
guesser.PNG
(If the extension didn't detect clearkey, you can also find the entry in browser's web console in dev tools)
dev tool.PNG
Using ffmpeg and decryption key to decrypt and merge file. (Although MP4Decrypt is also a tool you can use, it outputs corrupted audio file when decrypting. No idea why.)
ffmpeg.PNG
In the future, if JFF switches to other strong DRM like Widevine, the second process of acquiring decryption key will be somewhat more complicated. But the steps to download DRM content should be the same.
Widevine L3 Guesser
Useful resources
OF-Scapper (OF uses Widevine)
https://of-scraper.gitbook.io/of-scraper/cdm-options
CDRM project guide
https://cdm-project.com/How-To/Downloading-Video-and-Audio
https://cdm-project.com/How-To/Decrypting-Video-and-Audio
https://cdm-project.com/How-To/Merging-Decrypted-Video-and-Audio