#ticket #decode #uk #barcode #national #mobile #format

bin+lib rsp6-decoder

解码RSP6格式的英国国家铁路移动车票

1 个不稳定版本

0.1.0 2023年1月19日

#611WebAssembly

MIT 许可证

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