Commit Graph

19 Commits

Author SHA1 Message Date
Cooper Quintin
42ddb7cbff merge main 2024-01-31 17:52:49 -08:00
Will Greenberg
ed9d2b41d7 Renamed library crate to rayhunter, binary to rayhunter-daemon
The produced binary is still called rayhunter though!
2024-01-30 10:18:38 -08:00
Cooper Quintin
6194c27968 directory move 2024-01-29 17:06:15 -08:00
Matthew Garrett
01f65cdc13 Merge remote-tracking branch 'origin/main' 2024-01-10 20:30:40 -08:00
Will Greenberg
7b972ef5e4 wavehunter: add QMDL storage
Instead of reading/writing to a single QMDL file, we now can manage
a directory of several files, and have the ability to start/stop writing
to them on the fly.

This commit also adds graceful exiting to the server, so we can perform
cleanup steps when the server's exiting.
2024-01-10 16:37:17 -08:00
Matthew Garrett
4d39248bf9 Add bootstrapping support
Add tools for launching a root shell on the device, and for sending
serial commands to the device. Extend the make.sh script to push those
and configure a root shell. Commands can now be executed as root via:

adb shell rootshell -c \"touch /tmp/test\"

allowing automatic configuration of the tooling.
2024-01-07 19:45:15 -08:00
Will Greenberg
fe0e84ba18 wavehunter: adds static server, system stats
This commit does a couple things:

1. breaks out the pcap streaming logic into its own module
2. bundles wavehunter/static files into the binary for easy distribution
3. serves those static files
4. serves dynamic json representing system and diag stats

I also threw together the world's ugliest website to display all this.
2024-01-04 19:41:19 -08:00
Will Greenberg
7037928a6e wavehunter: add route to serve qmdl file
This is easier than pulling files via adb
2024-01-03 11:29:58 -08:00
Will Greenberg
e20fe92213 Refactor lib/binary into separate crates 2024-01-03 11:29:58 -08:00
Will Greenberg
51fc9eba56 wavehunter: implement HTTP server
The server streams a pcap file to the user in small chunks, so
the memory overhead is extremely small.
2024-01-03 11:29:58 -08:00
Will Greenberg
0f2e4676e5 Refactor error types and add config file parsing
1. Main binary now parses a config toml and uses its paths for the
   output pcap and qmdl files
2. Previously we were relying on DiagDeviceError for several things
   that aren't a diag device. This modularizes that error in a way
   that both improves the error descriptions, and also allows for
   better separation of concerns.
2024-01-03 11:29:58 -08:00
Will Greenberg
557de415d7 More reorganization, renamed to Wave Hunter 2023-12-13 16:51:55 -08:00
Will Greenberg
9617ec3023 add logging crates 2023-12-07 16:29:05 -08:00
Will Greenberg
e6fab5c27d log parsing 2023-12-04 16:47:42 -08:00
Will Greenberg
7d55716104 logging enabled without qcsuper 2023-12-02 23:43:02 -08:00
Will Greenberg
f2bcda0342 update deps 2023-11-14 19:20:50 -08:00
Will Greenberg
05cc2839ce add tokio 2023-11-09 18:43:31 -08:00
Will Greenberg
5da9aad0a8 refactor into a struct to prepare for tcp server 2023-11-09 15:06:21 -08:00
Cooper Quintin
52c715f5f2 first commit 2023-11-08 15:19:47 -08:00