Commit Graph

31 Commits

Author SHA1 Message Date
Will Greenberg 3e26e61b05 check: don't count informational events as warnings, better logging 2025-01-28 11:02:19 -08:00
Will Greenberg bc93c01890 bin: rm deprecated tempdir crate 2024-08-05 09:57:09 -07:00
Will Greenberg 8e256b6455 rootshell: use seteuid/setegid instead
This is also what sshell does.
2024-08-02 12:42:32 -07:00
Will Greenberg 3cafb97833 Merge pull request #48 from EFForg/dependabot/cargo/h2-0.4.5
Bump h2 from 0.4.2 to 0.4.5
2024-07-10 20:29:41 -07:00
dependabot[bot] d6b421030f Bump mio from 0.8.10 to 0.8.11
Bumps [mio](https://github.com/tokio-rs/mio) from 0.8.10 to 0.8.11.
- [Release notes](https://github.com/tokio-rs/mio/releases)
- [Changelog](https://github.com/tokio-rs/mio/blob/master/CHANGELOG.md)
- [Commits](https://github.com/tokio-rs/mio/compare/v0.8.10...v0.8.11)

---
updated-dependencies:
- dependency-name: mio
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-06-18 01:13:42 +00:00
dependabot[bot] 80942064a2 Bump h2 from 0.4.2 to 0.4.5
Bumps [h2](https://github.com/hyperium/h2) from 0.4.2 to 0.4.5.
- [Release notes](https://github.com/hyperium/h2/releases)
- [Changelog](https://github.com/hyperium/h2/blob/master/CHANGELOG.md)
- [Commits](https://github.com/hyperium/h2/compare/v0.4.2...v0.4.5)

---
updated-dependencies:
- dependency-name: h2
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-06-18 01:13:37 +00:00
Cooper Quintin 2ab48875ba make framebuffer crate and call it 2024-06-07 13:30:33 -07:00
Will Greenberg 531c10cf29 Add rayhunter-check, a utility for running QMDL heuristics 2024-03-11 18:21:52 -07:00
Will Greenberg 775cbcda1e Transition to async I/O for most things
Mixing async and sync I/O leads to a multitude of complications, and
generally speaking it's much more convenient to stick to one paradigm
or the other. Since axum (and many other HTTP servers) use async,
and since async is a convenient model for performing operations like
"handle an MPSC message or file read, whichever happens first", let's
commit to an async interface.
2024-02-22 19:28:58 -08:00
Will Greenberg 5d7caba1a6 Minimal version of the LTE downgrade analyzer
This also renames the lte_parser crate to telcom_parser, since it'll
handle any 2G or 3G parsing going forward.
2024-02-13 17:03:06 -08:00
Will Greenberg 7e4511fdde lib: add lte-parser crate support
This'll let us convert a Gsmtap message into a fully parsed LTE
message.
2024-02-13 17:03:06 -08:00
Will Greenberg 97678bf8ca lte-parser: add autogenerated parser for LTE RRC messages
This crate's code is nearly entirely autogenerated using an ASN.1
parsing tool called hampi. The code in src/lte_rrc.rs shouldn't be
manually modified, and should only be regenerated using hampi (or a
similar tool).
2024-02-13 17:03:06 -08:00
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