Commit Graph

95 Commits

Author SHA1 Message Date
Vecna 895623a2a2 Set up daily updater to be controlled by simulation 2024-05-24 21:35:05 -04:00
Vecna 1cc9f7797b Implement daily behavior for bridges and censors 2024-05-24 20:09:24 -04:00
Vecna 690019f4c5 Censor user gives bridges and creds to censor 2024-05-24 18:16:30 -04:00
Vecna 62bb11ed30 Add config variable for whether censors share info 2024-05-24 17:34:37 -04:00
Vecna 9e8a0c8fca Start adding censors, behavior for connecting to bridges 2024-05-24 17:32:10 -04:00
Vecna 659b8fa16c Refactor analysis for efficiency 2024-05-22 16:04:52 -04:00
Vecna 6b6836dbae Simulation: Give user chance to use bridges each day 2024-05-21 22:35:42 -04:00
Vecna d9aa616d77 Use estimated multivariate CDF when we have positive reports 2024-05-21 19:30:09 -04:00
Vecna 3512adc425 Stage 2: Model as two distributions, handle 0 standard deviation 2024-05-21 17:16:26 -04:00
Vecna 97d4622cd4 Use CDF, not PDF with artificial 'blocked' data
TODO: Figure out proper multivariate CDF
2024-05-20 20:54:28 -04:00
Vecna 22163cc030 Only re-evaluate new data, analyze based on user-defined interval 2024-05-20 20:38:06 -04:00
Vecna 72103f95af Fake time for simulation 2024-05-15 20:58:42 -04:00
Vecna 88914084e3 Clean up 2024-05-15 20:56:05 -04:00
Vecna 457acc6344 Refactor: Move tests to separate files 2024-05-15 18:33:00 -04:00
Vecna 33fde0cbf4 Simulation: Have users get negative report keys from TP 2024-05-06 18:25:44 -04:00
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