1 个不稳定版本
0.1.0 | 2023年1月19日 |
---|
#611 在 WebAssembly
295KB
845 行
rsp6-decoder
这是一个解码英国国家铁路电子车票条码的工具集,特别是RSP6格式,如博客文章"逆向英国移动铁路车票"中所述。
如果您对演示版本感兴趣,请查看托管版本eta.st/tickets/。
本仓库包含什么内容?
- 本仓库主要是一个Rust crate,可以解码这些车票,给定一个扫描的条码字符串(以
06...
开头)。查看decode_ticket
函数作为主要入口点。 - 一个嵌入crate以供演示目的的网站(提供托管版本)位于
rsp6-webshite/
。- 这需要使用
wasm-pack build ---features wasm
编译主crate以生成WASM。 - 如果在运行时解码出错,可能需要将
pkg/rsp6_decoder_bg.js
中的wbindgen_realloc
引用替换为undefined。不清楚为什么会出现这种情况。
- 这需要使用
spec.pdf
有一个显示解码车票中所有字段的表格。spec.ods
是用于制作此表的表格。
keys.json
包含截至2023年1月的所有车票公钥副本。decode.py
是一个Python脚本的即兴之作,用于将这些从我在某个地方找到的一些二进制plist中制作出来。您可以忽略它。
许可证
这些都是MIT。请继续前进,并使用它们来制作您自己的车票内容!
给未来的eta的部署说明
开发
$ npm run start
部署
$ npm run build -- --mode=production && scp -r dist/* [redacted]:/www/tickets/
依赖项
~2.8–4MB
~85K SLoC