Skip to content

mpiton/vortex-mod-containers

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

vortex-mod-containers

WASM plugin for Vortex — decrypts the JDownloader-era link containers and parses the Metalink standard.

Supported formats

Format Extension(s) Spec / source Status
DLC .dlc JDownloader v1, AES-128-CBC, embedded historic key
CCF .ccf Cryptload v1, AES-128-CBC, magic CCF1\n
RSDF .rsdf RapidShare legacy, AES-128-CBC, hex line per URL
Metalink .metalink, .meta4 RFC 5854 (v4) + community v3

See docs/ADR-001-container-keys.md for the rationale behind embedded keys and the explicit choice to not call out to service.jdownloader.org.

Plugin contract

The host invokes three exports after the user drops a file in the Link Grabber:

Export Input Output
can_decrypt bytes "true" / "false"
detect bytes JSON { "format": "dlc" | "ccf" | "rsdf" | "metalink" | null }
decrypt bytes JSON { "format", "links": [{url, filename?, sizeBytes?, mirrors[], checksums[]}] }

The plugin owns no networking — it transforms bytes into a structured link list. The host then routes each ContainerLink through the regular hoster pipeline.

Build

rustup target add wasm32-wasip1
cargo build --target wasm32-wasip1 --release

# Output:
#   target/wasm32-wasip1/release/vortex_mod_containers.wasm
sha256sum target/wasm32-wasip1/release/vortex_mod_containers.wasm

Test

cargo test            # native — 60+ unit + integration tests
cargo clippy --all-targets -- -D warnings

The integration suite (tests/synthetic_corpus.rs) generates a 20-container fixture covering all four formats and round-trips them through the public decrypt() API.

License

GPL-3.0 — see LICENSE.

About

Vortex plugin — decrypt DLC/CCF/RSDF link containers + parse Metalink (RFC 5854); privacy-first WASM/Extism with no third-party network calls

Topics

Resources

License

Contributing

Security policy

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages