Commit Graph

30 Commits

Author SHA1 Message Date
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