curiousdannii/parchment

Allow the proxy server to open zip files and return a single file

dfabulich opened this issue · 5 comments

There are a number of games on IFDB that don't have a "Play On-line" button because their primary game link points to a ZIP file on IF Archive.

https://ifdb.org/viewgame?id=yutkd9u0oeog4br1
https://ifdb.org/viewgame?id=1aliwzro4e48mdlt
https://ifdb.org/viewgame?id=u6wzkckne4zsafyl

Note that IFDB even knows the name of the game file within the ZIP.

I think it would be a bit excessive to have the Parchment client-side code include an unzip tool, but it would be cool if the proxy server could accept certain URL parameters to download a zip, extract it, and return the file within.

Maybe something like this:
https://proxy.iplayif.com/proxy/?url=https://ifarchive.org/if-archive/games/competition2017/Eat%20Me/Eat%20Me/Gblorb.zip&game=Eat_Me.gblorb

Then IFDB could link to:
https://iplayif.com/?story=https%3A//proxy.iplayif.com/proxy/%3Furl%3Dhttps%3A//ifarchive.org/if-archive/games/competition2017/Eat%2520Me/Eat%2520Me/Gblorb.zip%26game%3DEat_Me.gblorb

I've thought about this before. The current plan is for it to be implement on the archive's side though.

@erkyrath can you comment on IF Archive support for unzipping files on the archive's side? I'm prepared to write some code here to fix my IFDB issue, if someone can point me at the right repo.

Dannii has a plan for that but we've been backburnering it for over a year now. Is it time to get it moving? I'd love to see this happen.

(The plan would also encompass zip files with directly playable games, such as Twine or Parchment-included zips.)

Somebody tell me the plan and I'll tell you how/if I can help!

This is handled by the Unboxer: https://unbox.ifarchive.org/