-
Notifications
You must be signed in to change notification settings - Fork 58
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Too many reports received (startDate and/or endDate ignored?) #7
Comments
Odd stuff. I never tinkered with this, but I noticed now receiving reports from 12 days ago with these default values. |
Well, no matter what I put in startDate and endDate (I tried using cocoa timestamps instead of unix timestamps, seconds instead of microseconds, nanoseconds instead of seconds, 0, etc.) I always get back all the available reports. |
Leaving them out completely will result in a lot less reports (40 for me atm).. |
I think I tried that too, let me check.... |
it's actually max 20 per tag if you leave out the date fields I see now. In my last test there were 2 tags with reports. |
Mmh, 2383 reports received with StartDate/EndDate, 1688 without. |
Are there any tags in your batch of 100 that have more than 20 reports, when calling without the startDate/endDate? |
Scratch that, my virtual mac still thinks it's monday 😉 |
Since I rotate the key every hour usually I get far less than 20 reports per tag. |
In any case the StartDate/EndDate values must be wrong, since even with those present I get many reports before the StartDate |
i.e., now that my mac is on the correct time, with -H 1 I (and StartDate/EndDate) I get 2380 reports, 0 used (my tag has been off since yesterday night). |
Yeah it's about time the OpenHaystack people came back to work, the academic year started two weeks ago lazy bums. @dakhnod asked there as well a while ago seemoo-lab/openhaystack#137 but they don't seem to have answered to issues all summer. |
I tried:
and I always get the same number of reports and they are more than if I leave the StartDate field out altogether. |
If I'm looking at the right file file it seems that openhaystack is using a unix timestamp multiplied by 1000 (I don't know if the format modifier %lli adds some zeroes), I tried it too (the "1000" multiplier was missing from my last round of tests) but the result is the same. |
Haha well spotted, that does not make much sense indeed.. |
Please don't forget that apple is using 1.1.2001 as second 0 for some timestamps in the AirTags |
Yes, that's taken into account by using 978307200 at various places in request_reports.py, but that code in OpenHaystack is using |
Is there something like a limit parameter? So something like limit=1 only gives one report max? Also, is there a limit to how many hashes we can request per request? |
I don't know of a limit parameter or anything besides what the OpenHaystack people found. |
Thanks mate. Apologies for the double up. |
The |
@biemster damn, that's big. I'll test it out. |
Allright I jumped the gun here a bit. I noticed that |
Has anyone made progress on this? Right now with only 3 tags I'm getting around ~3000 reports per query when I'm only searching for a few. I'm worried about requesting too much and getting blocked. Has anyone had issues with too many queries? |
Just remove start and end date you will get the newest 20. |
I could not figure out what the new syntax for the start-endDate is you were trying. Can you please elaborate? |
@aircable if I remember correctly I just tried what's already in the current code (maybe switched to seconds, or microseconds, or that weird Cocoa epoch), that's all. It was just a red herring, didn't work. |
No matter the value I put in startDate (I first removed the *7 to get just one day, then I tried 3600000, i.e. an hour) I seem to receive always all the reports.
(I mean, I changed
data = '{"search": [{"endDate": %d, "startDate": %d, "ids": %s}]}' % (unixEpoch *1000, (unixEpoch *1000) -(86400000 *7), ids.keys())
first to
data = '{"search": [{"endDate": %d, "startDate": %d, "ids": %s}]}' % (unixEpoch *1000, (unixEpoch *1000) -(86400000), ids.keys())
then to
data = '{"search": [{"endDate": %d, "startDate": %d, "ids": %s}]}' % (unixEpoch *1000, (unixEpoch *1000) -3600000, ids.keys())
)
I don't know if it's a problem with apple servers or the parameters aren't properly formatted, I checked and apparently it's the same format used in the mobile application of openhaystack.
The text was updated successfully, but these errors were encountered: