Cooper Quintin
48e73a0a41
revert accidental futures upgrade
2025-06-06 12:44:39 -07:00
Sashanoraa
d36c1f10cd
Switch to the EFF org fork of adb_client
2025-06-05 20:22:43 -04:00
Cooper Quintin
f2b722ad5f
version update
2025-06-04 10:12:08 -07:00
Sashanoraa
d7fb8b9c85
Move most serial commands to usb shared USB claim with adb
2025-06-04 09:11:06 -07:00
Markus Unterwaditzer
2915dea9e9
Remove dead code and default features
2025-05-30 10:21:30 -07:00
Cooper Quintin
5b9dd856a8
version bump
2025-05-30 10:13:34 -07:00
Cooper Quintin
58843413b5
update adb version which fixes adb key missing error. Fixes #330
2025-05-30 10:13:34 -07:00
Cooper Quintin
4ee504fed7
bump version to 0.3.1
2025-05-28 17:31:58 -07:00
Sashanoraa
6cb9a195ed
Add env_logger to installer
...
Some libraries, namely nusb, produce debug logging that we might want to
access in the field.
2025-05-23 10:43:14 -07:00
Cooper Quintin
f2d32512aa
bump installer version
2025-05-16 12:19:03 -07:00
Cooper Quintin
e463d40c07
bump version to 0.3.0
2025-05-16 12:19:03 -07:00
Sashanoraa
1c4e9b8499
Switch to having the rev for adb_client in Cargo.toml
2025-05-16 11:48:23 -07:00
Sashanoraa
6a16ad7f15
Add special case for PermissionDenied on macOS
...
On macOS this can mean the device is busy.
2025-05-16 11:48:23 -07:00
Sashanoraa
ec5bd81a70
Update adb_client, now with usb lib being a feature flag
...
This update also fixes libusb throwing timeouts when it shouldn't
2025-05-16 11:48:23 -07:00
Sashanoraa
fbce9c8b04
Update adb_client to usb libusb on window and macOS
2025-05-16 11:48:23 -07:00
Sashanoraa
4a7452806d
Update adb_client with session fix
2025-05-16 11:48:23 -07:00
Sashanoraa
2e85d4f186
Switch adb_client back to the rayhunter branch
...
We've confirmed nusb works so I've merged it into the rayhunter branch.
2025-05-16 11:48:23 -07:00
Markus Unterwaditzer
e071bc6619
Add basic installer for TP-Link v5
2025-05-16 11:48:23 -07:00
Sashanoraa
894f457751
Update adb_client to remove unneeded deps from tcp
2025-05-16 11:48:23 -07:00
Markus Unterwaditzer
da34c05364
Simplify the tplink installer
...
Found an exploit that requires fewer HTTP requests and can be run
without auth.
2025-05-16 11:48:23 -07:00
Sashanoraa
1f7b7f0f1a
Move serial into the installer in prep for Orbic support
2025-05-16 11:48:23 -07:00
Markus Unterwaditzer
a946ebbe92
remove default features from hyper
2025-05-16 11:48:23 -07:00
Markus Unterwaditzer
4a94545498
Tplink M7350 installer v3 in Rust
...
It does the same thing as https://github.com/EFForg/rayhunter/pull/272
but only installs necessary files. Installation happens entirely over
the network so there is no dependency on ADB.
Currently can be used like this:
1. cargo build --bin rayhunter-daemon --target armv7-unknown-linux-gnueabihf --release --no-default-features --features tplink
2. cp target/armv7-unknown-linux-gnueabihf/release/rayhunter-daemon dist/rayhunter-daemon-tplink
3. cargo run --bin installer -- install-tplink
2025-05-16 11:48:23 -07:00
Markus Unterwaditzer
32b67df55d
Fix clippy lints and upgrade deku
...
Old version of deku was throwing clippy lints in generated code
2025-04-25 11:57:33 -07:00
Cooper Quintin
941ea59e11
I forgot rootshell and telecom parser
2025-04-22 11:04:42 -07:00
Cooper Quintin
8082e013f4
bump version
2025-04-22 11:04:42 -07:00
Cooper Quintin
1b29cf0dee
Merge branch 'main' into build-features
2025-04-11 10:38:49 -07:00
Markus Unterwaditzer
aafd83d636
Upgrade axum to reduce binary size
...
For some reason upgrading axum to 0.8 reduces the binary size by 300kB
2025-04-11 10:32:02 -07:00
Markus Unterwaditzer
bccdcf36e1
Merge remote-tracking branch 'origin/main' into build-features
2025-04-08 21:16:08 +02:00
dependabot[bot]
775468f037
Bump tokio from 1.44.1 to 1.44.2
...
Bumps [tokio](https://github.com/tokio-rs/tokio ) from 1.44.1 to 1.44.2.
- [Release notes](https://github.com/tokio-rs/tokio/releases )
- [Commits](https://github.com/tokio-rs/tokio/compare/tokio-1.44.1...tokio-1.44.2 )
---
updated-dependencies:
- dependency-name: tokio
dependency-version: 1.44.2
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com >
2025-04-08 08:44:46 -07:00
Markus Unterwaditzer
499b86aca6
Add build features for multiple device types
...
The bin crate now has two features, one for each supported device.
* The IOCTL change from #142 is compiled in conditionally.
* Tp-link display is supported & tested for HW rev 3 and HW rev 5.
The release tarballs now contain two rayhunter-daemon binaries, for
orbic and tplink. An installer for tplink is not yet included.
Co-authored-by: m0veax <m0veax@chaospott.de >
2025-04-07 21:15:32 +02:00
Sashanoraa
7b897c335d
Remove unneeded image dependencies
...
This removes a bunch of dependencies we aren't using and reduces the
binary size by 0.7 MB.
2025-04-04 12:30:57 -07:00
oopsbagel
3c0716c877
feat(serial): replace all panics with error handling from anyhow
...
Support -h and --help arguments.
Print a better error message when the Orbic device is not found.
Replace every panic! with anyhow::bail!
Replace .expect() with .context()?
Wraps all function returns with anyhow::Result
2025-04-01 13:40:01 -07:00
Sashanoraa
b7243dae62
Add missing Cargo.lock updates from 0.2.6 version bump
2025-03-26 10:40:26 -07:00
Sashanoraa
0c4a0123aa
Add missing Cargo.lock changes from 9af8e00
2025-03-26 10:40:26 -07:00
oopsbagel
e841e22774
refactor(serial): replace rusb with nusb
...
nusb is a pure Rust library providing the same low level access to USB devices
that rusb/libusb provide.
This commit removes rusb (and thus the dependence on libusb) and replaces it
with nusb in the serial utility.
The only functional change is that nusb does not support timeouts for bulk data
commands. nusb is async. This commit contains a naïve implementation that simply
blocks on bulk reads and writes in send_command().
2025-03-25 16:46:35 -07:00
oopsbagel
f2b5aa2743
feat: show rayhunter version/os/arch in pcap, ndjson, qmdl manifest
...
Create a util mod to provide information about the rayhunter binary and
system.
2025-03-19 11:48:54 -07:00
oopsbagel
b785a7f21c
feat(qmdl): add rayhunter version and os to manifest.toml
2025-03-19 11:48:54 -07:00
oopsbagel
09d35ccec7
feat(pcap): add operating system kernel name and release
...
Display the uname sysname and release as the OS option in the pcap Section
Header Block, falling back on just the std::env::consts::OS name ("linux") in
the case of runtime errors.
Co-authored-by: Nat Budin <natbudin@gmail.com >
2025-03-19 11:48:54 -07:00
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