Commit Graph

1101 Commits

Author SHA1 Message Date
Will Greenberg
8a514e4e70 CI: change target branch to main 2024-05-22 14:03:03 -07:00
Will Greenberg
166f946772 Update README for new build process 2024-05-22 14:03:03 -07:00
Will Greenberg
b5cd3d3911 CI: add release workflow 2024-05-22 14:03:03 -07:00
Will Greenberg
67cb1bfb98 CI: rename rust.yml to check-and-test.yml 2024-05-22 10:41:17 -07:00
Will Greenberg
bfc688ad21 daemon: switch to writing heuristics output to ND-JSON
ND-JSON (newline-delimited JSON) is just a file with a list of JSON
objects separated by newlines. This way, as the analyzer harness
processes new packets, it can simply append JSON-serialized results
to a file without parsing the entire thing first.

Also simplifies the analysis stuff to all operate in the diag thread.
2024-05-09 14:46:41 -07:00
Will Greenberg
4a5bede4ee lib: fix overzealous regex 2024-05-08 15:00:24 -07:00
Will Greenberg
3c932f0ce9 daemon: run analysis in realtime
Currently we just show the results of analysis as a <pre> tagged
JSON blob, but eventually we can make some actual UI
2024-05-08 14:58:14 -07:00
Will Greenberg
e8231ad142 Merge pull request #42 from EFForg/installer-fixes
Installer fixes
2024-05-08 14:37:52 -07:00
Will Greenberg
ea7c3a1467 fix installer script
Our build config's changed since this was written, also updated the
cargo commands to be a bit more portable.
2024-04-30 17:45:48 -07:00
Will Greenberg
c883cdf7c6 daemon: bind to 0.0.0.0
127.0.0.1 is loopback, so rayhunter wasn't accessible via wifi
before.
2024-04-30 17:45:16 -07:00
Cooper Quintin
0d0cad2be6 remove extra restart 2024-03-13 13:40:15 -07:00
Cooper Quintin
5dc717ae4e Merge pull request #41 from EFForg/run-heuristics
Add rayhunter-check, a basic tool for running QMDL heuristics
2024-03-13 12:50:08 -07:00
Will Greenberg
531c10cf29 Add rayhunter-check, a utility for running QMDL heuristics 2024-03-11 18:21:52 -07:00
Will Greenberg
f19506b415 daemon: rename entrypoint from main.rs to daemon.rs 2024-03-11 18:21:10 -07:00
Cooper Quintin
63e9c53dd4 server listen publicly 2024-02-29 15:19:25 -08:00
Cooper Quintin
924b7c9302 Merge branch 'main' into documentation 2024-02-29 12:06:30 -08:00
Cooper Quintin
68ce770626 Merge pull request #39 from EFForg/fix-asyncio
lib: ignore WriteZero for flush as well
2024-02-29 09:56:47 -08:00
Will Greenberg
fa5f72dd52 lib: ignore WriteZero for flush as well 2024-02-29 09:53:56 -08:00
Cooper Quintin
6be208698b merge 2024-02-28 16:05:46 -08:00
Cooper Quintin
958e67059d Merge branch 'main' into documentation 2024-02-28 16:02:53 -08:00
Cooper Quintin
67773727f1 Merge pull request #38 from EFForg/various-fixups
Various fixups
2024-02-28 10:24:50 -08:00
Will Greenberg
36c09e1dbc diag_device: rm unused initialization tracker 2024-02-23 10:54:51 -08:00
Will Greenberg
0b6c06c7e6 appease clippy 2024-02-22 19:29:52 -08: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
abd3b98cff diag_device: remove unnecessarily public function 2024-02-22 19:10:31 -08:00
Will Greenberg
df651fe334 qmdl_store: replace end_time with last_message_time
This way, even if the program exits unexpectedly, there's a reasonable
value for the "end time" of a log.
2024-02-22 19:10:31 -08:00
Will Greenberg
de00c60c4f rm vscode settings 2024-02-22 19:10:31 -08:00
Cooper Quintin
5f4ac7d292 Merge pull request #36 from EFForg/lte-parsing
Add LTE parsing, an Analyzer trait, and an implementation of one analyzer
2024-02-16 12:31:19 -08:00
Will Greenberg
d4ee48827c lint fixes 2024-02-13 17:03:06 -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
d570ad3cb1 lib: add Analyzer trait
This trait will be implemented by all of our heuristics, giving
us a uniform interface for collecting events and displaying them
to the user.
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
Will Greenberg
25e3d16e9f fix github workflows w/ new build config 2024-02-13 16:58:02 -08:00
Will Greenberg
a644620eaa Build x86-64 by default, fix make script to build for ARM 2024-02-13 16:56:49 -08:00
Will Greenberg
dbd6063b8c rayhunter_daemon: use updated rayhunter binary name 2024-02-13 13:50:11 -08:00
Will Greenberg
d8879c357f make.sh: use updated binary name 2024-02-13 13:48:21 -08:00
Will Greenberg
923d1c1e35 rename binary to rayhunter-daemon 2024-02-13 11:09:15 -08:00
Cooper Quintin
0ad60ef8bb starting docs 2024-02-02 16:31:24 -08:00
Will Greenberg
fd3931f024 Merge pull request #30 from EFForg/bootstrap
Add bootstrapping support
2024-02-01 13:04:16 -08:00
Cooper Quintin
c869353e05 updating readme with new install instructions 2024-01-31 22:16:49 -08:00
Cooper Quintin
b6a0ad6bdc fixing bugs in install script 2024-01-31 22:00:25 -08:00
Cooper Quintin
71d7b90dd9 update installer 2024-01-31 18:18:42 -08:00
Cooper Quintin
42ddb7cbff merge main 2024-01-31 17:52:49 -08:00
Cooper Quintin
b495c5b5a4 Merge pull request #35 from EFForg/generic-dirs
Generic dirs
2024-01-30 10:22:24 -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
Will Greenberg
87f18c0c8b Rename directories (again) 2024-01-30 09:58:05 -08:00
Will Greenberg
c3d9fb742e Merge pull request #34 from EFForg/heuristics
Heuristics
2024-01-30 09:46:43 -08:00
Cooper Quintin
a23fc55dbc the great rename 2024-01-29 17:09:41 -08:00
Cooper Quintin
6194c27968 directory move 2024-01-29 17:06:15 -08:00