Fabio Manganiello on Nostr: Lately I have noticed that when you purchase a ticket you don't get a static PDF/PNG ...
Lately I have noticed that when you purchase a ticket you don't get a static PDF/PNG anymore.
Increasingly often, you get a .pkpass file, which is supposed to be opened in wallet apps (like Google Wallet or any 3rd-party wallet app).
Since I don't like to share information about the events I attend with strangers on the Internet, I have decided to take a closer look at these .pkpass files.
They are just zip files that contain a background image, an icon and a pass.json with the actual information about the ticket. Nothing that can't be handled by a script rather than a 3rd-party 100 MB mobile app.
I have thus put together a simple #shell script that does exactly that.
Dependencies:
- `jq`
- `zint`
- `magick`
- `unzip`
- `curl` or `wget`
https://gist.manganiello.tech/fabio/pkpass2pngUsage:
```
pkpass2png
https://domain.tld/myticket.pkpass ticket.png
```
Published at
2025-12-24 11:21:37 UTCEvent JSON
{
"id": "004b28780cd6882fbce1fa0ecfa0170e7be3fa74f4509ff7c193a1a761cedba7",
"pubkey": "338a4d1b5dd306c04cf4f91fc5dd5067db34d730d9a746e615fac356921a52b7",
"created_at": 1766575297,
"kind": 1,
"tags": [
[
"t",
"shell"
],
[
"proxy",
"https://manganiello.eu/objects/128bcc1b-8afc-4232-98e6-6aaaeeca5ab8",
"activitypub"
],
[
"L",
"pink.momostr"
],
[
"l",
"pink.momostr.activitypub:https://manganiello.eu/objects/128bcc1b-8afc-4232-98e6-6aaaeeca5ab8",
"pink.momostr"
],
[
"-"
]
],
"content": "Lately I have noticed that when you purchase a ticket you don't get a static PDF/PNG anymore.\n\nIncreasingly often, you get a .pkpass file, which is supposed to be opened in wallet apps (like Google Wallet or any 3rd-party wallet app).\n\nSince I don't like to share information about the events I attend with strangers on the Internet, I have decided to take a closer look at these .pkpass files.\n\nThey are just zip files that contain a background image, an icon and a pass.json with the actual information about the ticket. Nothing that can't be handled by a script rather than a 3rd-party 100 MB mobile app.\n\nI have thus put together a simple #shell script that does exactly that.\n\nDependencies:\n\n- `jq`\n- `zint`\n- `magick`\n- `unzip`\n- `curl` or `wget`\n\nhttps://gist.manganiello.tech/fabio/pkpass2png\n\nUsage:\n\n\n```\npkpass2png https://domain.tld/myticket.pkpass ticket.png\n```",
"sig": "42a927c82830c03a15c5b76cb78729715bf7649264d50c5b41a9a431ee557c687f46350df98e6de2072768e3c0f4074649c030fd902780491002f3f5edd6b44e"
}