#!/bin/bash
DAY=0
# https://github.com/corona-warn-app/cwa-server/blob/master/services/distribution/src/test/java/app/coronawarn/server/services/distribution/objectstore/publish/PublishedFileSetTest.java
URL="https://svc90.main.px.t-online.de/version/v1/diagnosis-keys"
while true ; do
DAY=$(expr $DAY + 86400)
DATE=$(date -r $(expr $(date +%s) - $DAY) +%Y-%m-%d)
# https://github.com/corona-warn-app/cwa-server/blob/master/services/distribution/api_v1.json#L229
for HOUR in $(curl --silent "$URL/country/DE/date/$DATE/hour" | egrep -o "[0-9]+") ; do
FILENAME="diagnosis_keys_DE_$DATE_$HOUR"
# https://github.com/corona-warn-app/cwa-server/blob/master/services/distribution/api_v1.json#L289
curl --silent "$URL/country/DE/date/$DATE/hour/$HOUR" --output "$FILENAME.zip"
unzip -q "$FILENAME.zip"
rm "$FILENAME.zip"
# https://github.com/google/exposure-notifications-server/tree/main/examples/export#inspecting-an-export
tail +17c < export.bin | protoc --decode=TemporaryExposureKeyExport TemporaryExposureKeyExport.proto > "$FILENAME.txt"
rm export.*
# https://developers.google.com/android/exposure-notifications/exposure-key-file-format
head -20 "$FILENAME.txt"
echo "..."
echo
done
done
start_timestamp: 1596517200
end_timestamp: 1596520800
region: "DE"
batch_num: 1
batch_size: 1
signature_infos {
verification_key_version: "v1"
verification_key_id: "262"
signature_algorithm: "1.2.840.10045.4.3.2"
1: "de.rki.coronawarnapp"
}
keys {
key_data: "\002\306\311\0249\"0ya\275\017\2548\233\022\275"
transmission_risk_level: 8
rolling_start_interval_number: 2660400
rolling_period: 144
}
keys {
key_data: "\004X4o\321^r:\344\343\222)\222Df\177"
transmission_risk_level: 6
...