Reputation: 1
I sincerely apologize if I'm in the wrong place with this question.
I'm hoping someone out there might know what kind of encoding is used here? It's google flights..
https://www.google.com/travel/flights/search?tfs=CBwQAhpCagcIARID WVVMagcIARIDWUhNEgoyMDIxLTA4LTExcgcIARIDRE9IcgcIARIDVEJTcgcIARIDQVVIcgcIARIDRFhCGkJqBwgBEgNET0hqBwgBEgNUQlNqBwgBEgNBVUhqBwgBEgNEWEISCjIwMjEtMDgtMTVyBwgBEgNZVUxyBwgBEgNZSE1wAYIBCwj___________8BQAFIA5gBAQ
I've been running parts of it through a Base64 decoder all day but I just can't see (perhaps I just don't understand) how this is Base64 entirely.
Parts seem like it's just Base64 but then others not, same with Base64 URL encoding.
Does anyone have any clue what kind of beast this is or can anyone offer any pointers as to what else it could be?
Upvotes: 0
Views: 338
Reputation: 11
I ran into the same issue today, and I thought it was some Base64-encoded Protobuf data.
I put the encoded string after ?tfs=
to a Protobuf Decoder, and yes, it did return valid contents including the dates, flight codes, and more!
I wrote a simple .proto
file on a Protobuf editor, and came up with this:
syntax = "proto3";
message Airport {
string airport = 2;
}
message FlightData {
string date = 2;
Airport from_flight = 13;
Airport to_flight = 14;
}
message Info {
repeated FlightData data = 3;
// (a = 1, b = -1) round trip
// (a = 2, b = 1) one-way
uint32 seed_a = 19;
sint32 seed_b = 20;
}
This is my first time working with Protobuf, so I read some code examples and came up with this. If you have a Protobuf implementation in any language, you can encode or decode it as you wish!
P.S. The .proto
code does not apply to the 2021 version of Google Flights but to the latest one.
P.P.S. I know it's been three years since someone ran into the same issue, but I want to share my findings with the community :)
Upvotes: 1