diff --git a/README.md b/README.md index 958db61..57975ab 100644 --- a/README.md +++ b/README.md @@ -141,8 +141,7 @@ let's show the match (assuming the project ID from the status command is `1`) crossfire-client show 1 ``` -aaaaand yeah that's all for now. smp is not supported yet. stdio mode is also not supported yet. -lots of stuff still probably broken tbh +aaaaand yeah that's all for now. lots of stuff still probably broken tbh contributions welcome,,,, ## status @@ -153,15 +152,15 @@ contributions welcome,,,, - ✅ basic manipulation functions - ✅ representation of input space as a flat integer - ✅ #lang for configuration/definitions - - (input) mode - - stdio: user program gets input by stdio, integers separated by space, one per line - - callback: input generator compiled into user program, user main calls `crossfire_main` + - ✅ (input) mode + - ✅ stdio: user program gets input by stdio, integers separated by space, one per line + - ✅ callback: input generator compiled into user program, user main calls `crossfire_main` with callback function that returns true or false - other modes?? - - SMP: performed by crossfire or performed by the user code + - ✅ SMP: performed by crossfire or performed by the user code - "performed by user code" can also mean GPU, for example -- 🚧 codegen for input generator (in C) - - 🚧 stdio mode +- ✅ codegen for input generator (in C) + - ✅ stdio mode - ✅ callback mode - ✅ success reporting mechanism - low priority: configurable "character" type -- currently a "character" is a uint64\_t @@ -171,7 +170,7 @@ contributions welcome,,,, - ✅ dynamic slicing and scheduling based on agents' reported work rate - low priority: randomized input space distribution - low priority: store common configuration templates for clients -- low priority: track upload/download progress +- ✅ low priority: track upload/download progress - ✅ streaming interface for file transfers - ✅ accept submitted projects (with client-compiled input generator) and distribute to agents - ✅ low priority: support for multiple architectures @@ -181,17 +180,17 @@ contributions welcome,,,, ### agent: accept and run jobs - ✅ securely connect to server - ✅ retrieve assigned tasks -- handle smp correctly +- ✅ handle smp correctly - ✅ report completions - 🚧 report errors + - errors are reported but detailed output is not currently uploaded - ✅ report successes - low priority: defer to external brute force program (eg, hashcat on GPU) - this could be implemented on top of the existing project format -- low priority: support finding _all_ matching inputs for a project, rather than just the first one - - the architecture currently doesn't stop on the first match so it could be a thing +- ✅ low priority: support finding _all_ matching inputs for a project, rather than just the first one ### client: submit jobs and view progress -- ✅securely connect to server +- ✅ securely connect to server - command line interface - ✅ `crossfire new`: create new crossfire project - ✅ `crossfire generate`: updates autogenerated files in a project