Skip to content
CAI
Software that uses CAICheck a score

nilaoda/N_m3u8DL-CLI

37.8

Weak · 22 September 2026

6.6k

lines of production code

C#

with JavaScript

5

measurements over time

CAI band scale
CAI trend line
CAI lens gauges

What this system is

N\_m3u8DL-CLI is a command-line tool designed for downloading and merging M3U8 video streams. It supports various decryption methods, including AES-128-CBC and ChaCha20, to handle encrypted content from multiple streaming platforms. The system also facilitates protocol-based invocation via m3u8dl:// links and manages dependencies for network, parsing, and execution tasks.

Features

Added support for ChaCha20 decryption and new site-specific key decoders

The application now supports ChaCha20 decryption for media segments, enabled via new \EnableChaCha20\, \ChaCha20KeyBase64\, and \ChaCha20NonceBase64\ properties in the downloader. Additionally, new decryption modules have been added for specific video platforms: 51Cto, Cdeledu, Ddyun, Huke88, Imooc, and Nfmovies. These additions allow the tool to handle encrypted content from these services, expanding the range of supported streaming sources.

_N\m3u8DL-CLI · high confidence

Initial release of N\_m3u8DL-CLI with m3u8dl:// protocol support

The repository is initialized with the N\_m3u8DL-CLI project, including the solution file, license, and documentation. The tool supports downloading m3u8 streams with features like AES-128-CBC decryption, multi-threaded downloads, and automatic merging. A key addition is support for the \m3u8dl://\ URL protocol, allowing users to invoke the CLI via web links, alongside options to register or unregister this protocol.

(repo-wide) · high confidence

Behavioural changes

N\_m3u8DL-CLI version updated to 3.0.2

The assembly metadata in N\_m3u8DL-CLI/Properties/AssemblyInfo.cs has been updated to version 3.0.2. This updates the version numbers embedded in the compiled binary, which may be used by the application or external tools to identify the current release.

_N\m3u8DL-CLI/Properties · high confidence

Dependencies

Update .NET 4.6 project and NuGet dependencies

The N\_m3u8DL-CLI project file and packages.config have been updated to target .NET 4.6 and include dependencies for Brotli decompression (BrotliSharpLib 0.3.3), command-line parsing (CommandLineParser 2.8.0), assembly merging (Costura.Fody 4.1.0, Fody 6.0.0), HTTP-to-SOCKS5 proxying (HttpToSocks5Proxy 1.4.0), JSON handling (Newtonsoft.Json 13.0.1), JavaScript execution (NiL.JS 2.5.1428), resource embedding (Resource.Embedder 2.1.1), unsafe memory access (System.Runtime.CompilerServices.Unsafe 4.5.2), task scheduling (TaskScheduler 2.8.7), and UAC helper (UACHelper 1.3.0.5).

(dependencies) · high confidence

Written by watchdog.canine.dev from the codebase's own history, inside the signed delivery this page is composed from.

How this codebase got here

This is the PUBLIC form of this artifact. Findings are listed in full, but the details of SECURITY findings — which rule fired, in which file, on which line, and how to fix it — are deliberately withheld, and any secret-scanner results are excluded entirely. Where detail is absent here it was REMOVED FOR PUBLICATION; it is not missing from the analysis. The complete artifact is available from the repository owner.

Score

  • CAI 45 → 38 (-7.1)
  • Rubric changed (rubric-2026.08.19 → rubric-2026.09.15) — scores are not directly comparable.

Lenses

  • Code Health 60 → 54 (-5.6)
  • Architecture 100 → 100 (+0.0)
  • Maturity 42 → 30 (-12.3)
  • Readiness 31 → 31 (+0.0)
  • Security 77 → 48 (-28.9)

Resolved (23)

  • Build did not complete in the analyzer
  • Duplicated block (10 lines × 2) (N_m3u8DL-CLI/Watcher.cs)
  • Duplicated block (11 lines × 2) (N_m3u8DL-CLI/Global.cs)
  • Duplicated block (18 lines × 2) (N_m3u8DL-CLI/DownloadManager.cs)
  • Duplicated block (5 lines × 2) (N_m3u8DL-CLI/CSChaCha20.cs)
  • Duplicated block (5 lines × 2) (N_m3u8DL-CLI/Global.cs)
  • Duplicated block (7 lines × 2) (N_m3u8DL-CLI/DownloadManager.cs)
  • Duplicated block (7 lines × 2) (N_m3u8DL-CLI/FFmpeg.cs)
  • Duplicated block (7 lines × 2) (N_m3u8DL-CLI/MPDParser.cs)
  • Duplicated block (8 lines × 2) (N_m3u8DL-CLI/Decode51CtoKey.cs)
  • Duplicated block (8 lines × 2) (N_m3u8DL-CLI/DownloadManager.cs)
  • Duplicated block (8 lines × 2) (N_m3u8DL-CLI/IqJsonParser.cs)
  • High: security finding (details withheld)
  • High: security finding (details withheld)
  • High: security finding (details withheld)
  • High: security finding (details withheld)
  • Inconsistent naming for download-related properties in the DownloadManager class. Some use 'Download' prefix (e.g. DownDir, DownName) while others use 'Download' or no prefix. Specifically, 'TimeOut' is inconsistent with 'Timeout' (common spelling) and 'ToDO' vs 'ToDo' casing.
  • LLM evaluation failed
  • No exposed public API
  • The README claims a simple CLI but gives no usage example or command-line option list for the actual tool. (README.md)
  • …and 3 more

New (42)

  • CommentedOutCode (N_m3u8DL-CLI/Parser.cs)
  • CommentedOutCode (N_m3u8DL-CLI/Parser.cs)
  • Documentation: no installation or build instructions (README.md)
  • Documentation: no usage examples (README.md)
  • Duplicated block (12 lines × 3) (N_m3u8DL-CLI/Global.cs)
  • Duplicated block (13 lines × 2) (N_m3u8DL-CLI/IqJsonParser.cs)
  • Duplicated block (14 lines × 2) (N_m3u8DL-CLI/Decrypter.cs)
  • Duplicated block (14 lines × 2) (N_m3u8DL-CLI/DownloadManager.cs)
  • Duplicated block (15 lines × 3) (N_m3u8DL-CLI/Watcher.cs)
  • Duplicated block (19 lines × 2) (N_m3u8DL-CLI/DownloadManager.cs)
  • Duplicated block (19 lines × 2) (N_m3u8DL-CLI/Global.cs)
  • Duplicated block (20 lines × 2) (N_m3u8DL-CLI/Parser.cs)
  • Duplicated block (4–5 lines × 3) (N_m3u8DL-CLI/Global.cs)
  • Duplicated block (5 lines × 2) (N_m3u8DL-CLI/CSChaCha20.cs)
  • Duplicated block (68 lines × 2) (N_m3u8DL-CLI/DownloadManager.cs)
  • Duplicated block (7 lines × 2) (N_m3u8DL-CLI/MPDParser.cs)
  • Duplicated block (8 lines × 2) (N_m3u8DL-CLI/Decode51CtoKey.cs)
  • Duplicated block (8 lines × 2) (N_m3u8DL-CLI/IqJsonParser.cs)
  • Duplicated block (9 lines × 2) (N_m3u8DL-CLI/FFmpeg.cs)
  • EmptyCatchBlock (N_m3u8DL-CLI/DownloadManager.cs)
  • …and 22 more

Architecture

  • Unchanged — 1 containers · 0 contexts · 0 edges

Written by watchdog.canine.dev from the codebase's own history, inside the signed delivery this page is composed from.

Survey your own repository

nilaoda/N_m3u8DL-CLI was measured the same way every project in this corpus was: the same rubric, at a pinned commit, with the result published in full. Point a surveyor at a repository you know and see whether you agree with it.

About this page

  • The score is its most recent published measurement, taken on 22 September 2026 at a pinned commit. It is not a live figure and does not change until the project is measured again.
  • Measured at commit 985f6e57c33de552561edd8f7b141a69bd75484c — the exact code this score is about.
  • Scored under rubric-2026.09.15 — the same rubric and the same method as every other entry in this index.
  • Measured by watchdog.canine.dev using codehealth-analyzer preprod-0849c4f988a8.