Commit Graph

29 Commits

Author SHA1 Message Date
Will Greenberg 16f705f29c Add the test analyzer entirely via daemon flags
Also consolidate the duplicate AnalysisWriter implementation
2024-10-08 14:58:46 -07:00
Will Greenberg df84faa1f9 On-demand analysis of past recordings
* rayhunter-daemon: API for triggering and reading analysis
* rayhunter-daemon: rename readonly mode to debug mode
* rayhunter-daemon: debug mode allows live-loading frontend files
* rayhunter-check: rework to handle directories
* rayhunter-check: better output
* CI: build rayhunter-check
2024-10-08 14:58:46 -07:00
Cooper Quintin c59fb7c013 Fix UI and add more logging (#61)
* add some more logging

* WIP attempt to fix async on update_ui

* fix async for update_ui
2024-10-03 13:32:59 -07:00
Cooper Quintin ca4f49b15f Framebuffer update (#60)
* first pass at changing the UI color based on state

* adding flag to qmdl metadata for when hueristic is triggered

* update style for web page to match UI and have color alert on heuristic trigger

* add test analyzer

* rename example_analyzer to test_analyzer

* refactor ui update to not depend on server

* refactor to pass around color instead of display state for framebuffer channel

* add debug feature flag for test analyzer

* remove warning status from qmdl manifest

* dont keep has warning around
2024-10-03 10:41:59 -07:00
Will Greenberg 861aaedd47 rayhunter-check improvements 2024-08-19 16:49:01 -07:00
Will Greenberg bc93c01890 bin: rm deprecated tempdir crate 2024-08-05 09:57:09 -07:00
Cooper Quintin 60cbdefb29 minor fixes 2024-06-17 16:18:55 -07:00
Cooper Quintin ebdd32ad5f Update bin/src/daemon.rs
Co-authored-by: Will Greenberg <willg@eff.org>
2024-06-17 15:32:42 -07:00
Cooper Quintin a9842fcadb Apply suggestions from code review
Co-authored-by: Will Greenberg <willg@eff.org>
2024-06-17 11:46:01 -07:00
Cooper Quintin aa730f3c18 add EFF logo as an option 2024-06-14 14:15:41 -07:00
Cooper Quintin 54dd952ebd refactor display code 2024-06-14 14:00:46 -07:00
Cooper Quintin e31bccb229 draw_line method added to framebuffer 2024-06-13 17:20:25 -07:00
Cooper Quintin 8365cb5706 send bytes to framebuffer instead of image 2024-06-12 17:04:47 -07:00
Cooper Quintin 31233560cc Update bin/src/framebuffer.rs
Co-authored-by: Will Greenberg <willg@eff.org>
2024-06-12 14:51:41 -07:00
Cooper Quintin b2d8b7d5f3 Update bin/src/framebuffer.rs
Co-authored-by: Will Greenberg <willg@eff.org>
2024-06-12 14:51:32 -07:00
Cooper Quintin de8cf51649 add config and read files from binary 2024-06-11 16:46:47 -07:00
Cooper Quintin 81f545e90e respect ctrl c in image display loop 2024-06-10 13:28:36 -07:00
Cooper Quintin 46cd8a9af0 poc of image drawing 2024-06-07 16:30:22 -07:00
Cooper Quintin 2ab48875ba make framebuffer crate and call it 2024-06-07 13:30:33 -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 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 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
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
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 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 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