Commit Graph

130 Commits

Author SHA1 Message Date
Vecna 62448a4b03 Clean up 2024-05-06 17:36:21 -04:00
Vecna 91422e0179 Correct logic for tracking connection results 2024-05-06 17:30:10 -04:00
Vecna ba9c2bdc14 Test all of the user's bridges 2024-05-06 17:25:53 -04:00
Vecna b50f40fe8a Add noise when necessary to build distribution 2024-05-04 14:26:18 -04:00
Vecna 606156c8b0 Make extra_infos_server but not other simulation code available to tests 2024-05-04 14:07:33 -04:00
Vecna 455452d64b Clean up 2024-04-30 02:01:02 -04:00
Vecna dbf7dfe929 Fix selection of user's country 2024-04-30 01:48:53 -04:00
Vecna b6a80c9b7d First iteration of users for simulation
I think this is designed in a way that will make it very hard to parallelize later. I should fix that when I can.
2024-04-30 01:30:37 -04:00
Vecna 552db21ce1 Add mock server to serve extra-infos for tests and simulation 2024-04-29 11:51:54 -04:00
Vecna 45a6339c4c Start testing simulated extra-infos 2024-04-27 17:28:33 -04:00
Vecna c38b182cb7 Remove unused import 2024-04-27 14:32:26 -04:00
Vecna e2b1f9aa7d Start stage 3 based on actual observation of a positive report
Also track how much historical data we have on a per-country basis
2024-04-27 13:20:05 -04:00
Vecna eef9e5164e Upgrade time 2024-04-27 13:18:15 -04:00
Vecna a504e8aef2 Update country codes list 2024-04-26 19:39:49 -04:00
Vecna 12519a344b Use different databases for tests
This prevents an issue where the extra_infos test would have a lock on the database, preventing the positive and negative reports tests from using it.
2024-04-26 15:32:41 -04:00
Vecna 10ff088b5a Resolve some TODOs 2024-04-26 15:25:56 -04:00
Vecna ec4dc5ca29 Re-evaluate past days in case we got new reports since last evaluation
It would be better to track which bridges got new reports and only re-evaluate those.
2024-04-26 15:11:31 -04:00
Vecna 31b27a291a Model both accessible bridge and blocked bridge in analysis 2024-04-26 15:09:30 -04:00
Vecna b2eb244757 cargo-fmt 2024-04-26 13:11:32 -04:00
Vecna 273aaab38d Don't scale bridge IPs in analysis 2024-04-26 12:58:03 -04:00
Vecna e889cba878 Remove info print statements 2024-04-19 01:34:24 -04:00
Vecna f0133ce0dc The updater can just shut down with the main function 2024-04-18 23:50:37 -04:00
Vecna 851686cf94 Mark unused variable bridge_ips in stage one analysis 2024-04-18 22:42:27 -04:00
Vecna 36395181d3 Improve analysis
We seem to get better results when we scale bridge IPs down to multiples of 1 instead of 8 and only mark bridges as blocked if they differ in the 'bad' direction by at least one standard deviation from the mean.
2024-04-18 22:27:57 -04:00
Vecna 7d58c220ca Fix a comment 2024-04-16 01:12:39 -04:00
Vecna 43228e18c9 Encrypt negative reports 2024-04-16 01:11:47 -04:00
Vecna bd4bc1b7b8 Test stage 1 analysis 2024-04-15 15:34:29 -04:00
Vecna 45e71f32e8 Pass date for analysis, compute age correctly 2024-04-15 15:21:35 -04:00
Vecna 1a8b64080d Refactor Analyzer trait 2024-04-15 13:19:56 -04:00
Vecna b9abc83d36 Check in updated config for multivariable normal analysis 2024-04-15 13:10:54 -04:00
Vecna f2626eb800 Add analyzer which evaluates data as multivariate normal distribution 2024-04-15 03:09:14 -04:00
Vecna cba8aea553 Pass confidence to analyzer 2024-04-12 12:52:30 -04:00
Vecna 5c6a076289 Begin work on cleaning up old nonces 2024-04-12 12:50:40 -04:00
Vecna 158512f427 Operator supplies updater schedule in config 2024-04-12 12:32:01 -04:00
Vecna c5a05be6d8 Test dropping NRs with repeated nonces and DB storage before processing 2024-04-12 12:26:36 -04:00
Vecna c82e604e3d Include nonce in negative reports 2024-04-12 02:38:35 -04:00
Vecna e1588aac0e Don't persist extra-infos files to disk, just process and store results 2024-04-06 12:02:53 -04:00
Vecna a679c13e4f Store bridge data by fingerprint and store set of fingerprints
We had been storing all the data as a huge map under the key 'bridges' so that we could iterate over all keys in the map as a way of iterating over all bridges. This caused the database to grow way too big, so we don't do that anymore. Now, we store each bridge's data with the bridge fingerprint as the key, and we store a set of bridge fingerprints under the key 'bridges'.
2024-04-06 01:09:43 -04:00
Vecna b915aea094 Add date to proof of bridge knowledge in negative reports 2024-04-04 22:55:07 -04:00
Vecna 90071c3e1d Test-only dependencies 2024-03-29 16:17:38 -04:00
Vecna 63ed7b2951 cargo-fmt and include new dependencies for tests 2024-03-29 16:14:11 -04:00
Vecna bc35163084 Add tests for reports 2024-03-29 16:12:48 -04:00
Vecna 15ed2a04bc Handle error if user tries to create invalid lox_proof in PR 2024-03-29 16:11:44 -04:00
Vecna 4390716ebf Fix PR verification 2024-03-29 15:25:42 -04:00
Vecna d933b3b94b Run updater daily 2024-03-25 20:41:34 -04:00
Vecna 32d68893a7 Remove dependency 'select' 2024-03-25 19:40:25 -04:00
Vecna 7481fe10f9 Add command to update data and report blockages 2024-03-25 19:37:00 -04:00
Vecna 1ccd676e5c Store bridge data with key 'bridges', guess and report blockages 2024-03-23 23:16:20 -04:00
Vecna 12e699f979 Track bridge info by country first, then date 2024-03-23 21:40:00 -04:00
Vecna 3ef9c04141 Add functions to verify reports, update db 2024-03-23 17:43:18 -04:00