# Lox Lox is a reputation-based bridge distribution system that provides privacy protection to users and their social graph and is open to all users. Lox is written in rust and requires `cargo` to test. [Install Rust](https://www.rust-lang.org/tools/install) ### To use the docker environment to build the package: ``` ./build-lox.sh ./run-lox.sh ``` ### To run the tests used for our experimental results run: ``` cargo test --release -- --nocapture TESTNAME ``` Where `TESTNAME` is one of: ``` stats_test_trust_levels stats_test_invitations stats_test_percent_blockage_migration_05 stats_test_percent_blockage_migration_010 stats_test_percent_blockage_migration_15 stats_test_percent_blockage_migration_20 stats_test_percent_blockage_migration_25 stats_test_percent_blockage_migration_30 stats_test_percent_blockage_migration_35 stats_test_percent_blockage_migration_40 stats_test_percent_blockage_migration_45 stats_test_percent_blockage_migration_50 stats_test_percent_blockage_migration_55 stats_test_percent_blockage_migration_60 stats_test_percent_blockage_migration_65 stats_test_percent_blockage_migration_70 stats_test_percent_blockage_migration_75 stats_test_percent_blockage_migration_80 stats_test_percent_blockage_migration_85 stats_test_percent_blockage_migration_90 stats_test_percent_blockage_migration_95 stats_test_percent_blockage_migration_100 ``` Each test takes approximately 20-30 hours to run. Note that: our implementation is coded such that the reachability certificate expires at 00:00 UTC. A workaround has been included in each test to pause if it is too close to this time so the request won't fail. In reality, if the bucket is still reachable, a user could simply request a new reachability token if their request fails for this reason (a new certificate should be available prior to the outdated certificate expiring).