Update readme
It would be good to have a clearer description of what bitmask-core is in the readme beyond "bitmask-core
is a library to handle bootstrap for a LEAP provider in an unified way."
Here is some notes from the architectural design doc, this is a sloppy still, but can be edited down and added to the readme.
Bitmask-core will be code shared by desktop and mobile apps that will unify the discovery process. (android/ios bindings will be needed). The major architectural change in bitmask-core is that it generates clients automatically from the OpenAPI spec generated by latest menshen. [what does clients mean here?]
Bitmask-core implements a local key-value store to persist configuration (private bridges, etc). An interface to replace native stores will be needed.
It should gradually replace any bonafide implementation in desktop or android.
- Documentation for this API is publicly accessible, for debugging & allowing other clients.
new concepts
These are new concepts still subject to some discussion.
-
bitmask-core tries different tactics to communicate with the public API.
- By default, it uses parroting (uTLS) and DoH resolvers.
-
Other circumvention techniques can be integrated (like the dnstt integration).
-
A client can (should) now request load info in the background, by passing a country code (“cc”) argument which represents the clients location to the API call.