EFForg / EFForg/rayhunter

Persist device metadata for recordings

Open
#1,133 0 comments 0 reactions 0 assignees View on GitHub
enhancement Research Questions
Dominant language
Rust
Stars
5.8k
Forks
490
Avg merge
3d 10h
Merged PRs (30d)
23

Description

For each recording, we should persist information about the device. This can be yet another file or crammed into some header object.

Values wishlist:

* The inferred home PLMN from `generic_at.rs`. This value should be both persisted and read back into the analyzer on replay. See https://github.com/EFForg/rayhunter/pull/1101 for context.
* The device type. Ideally we would be able to get TP-Link hardware version, regional SKU, things like that.
* Maybe we can record the device time, both system clock and modem clock, and whether we applied drift correction. (Can't remember what we record for drift right now) Potentially record jumps in the system clock as well. Have to be mindful of filesize. See https://github.com/EFForg/rayhunter/pull/1107
* Disk space free, RAM free? Just everything we see in the UI about the system today?
* If we end up having wifi heuristics, maybe we should start recording wifi settings/internal state too.

Contributor guide

Open the contributing guide

Research direction

Start by reading generic_at.rs and the recording/replay analyzer entry points, then review the linked pull requests for context on PLMN, clock drift, and device metadata. Before implementation, define which metadata is in scope and how it should be persisted and restored; done means the agreed values survive recording and are available to the analyzer during replay.

Written by the indexing model from the issue text.

Assessment

Tech stack
rust
Domain
backend, data
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Active
Clarity
Needs clarification
Newbie friendliness
32/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.