mirror of
https://github.com/rommapp/romm.git
synced 2026-01-21 03:23:09 +08:00
This change installs and configures the `mod_zip` nginx module [1], which allows nginx to stream ZIP files directly. It includes a workaround needed to correctly calculate CRC-32 values for included files, by including a new `server` section listening at port 8081, only used for the file requests to be upstream subrequests that correctly trigger the CRC-32 calculation logic. Also, to be able to provide a `m3u` file generated on the fly, we add a `/decode` endpoint fully implemented in nginx using NJS, which receives a `value` URL param, and decodes it using base64. The decoded value is returned as the response. That way, the contents of the `m3u` file is base64-encoded, and set as part of the response, for `mod_zip` to include it in the ZIP file. [1] https://github.com/evanmiller/mod_zip