refactor.md 1.2 KB

Keybase Satelite Services

  • Server/persistent JSON-RPC interface
    • Unix Domain sockets
    • Named pipes on Windows
    • And localhost loopback with some credentials
  • Command-line
    • pty when possible, stdin when not
    • prompting in general
    • calls out to pinentry
    • streams for stdin/stdout (data)
    • environment variables
    • command-line args
    • stderr for error display
    • stdout or some sort of status updates
  • configuration and state
    • config.json (or something like it)
    • session.json (or something like it)
    • depends on Command-line flags and environemnt
  • local DB
    • put/get/lookup/remove/unlink
  • request / HTTPs/HTTP client
    • proxy support
    • CA support
    • Tor
  • keychain access
    • either via GPG or direct
    • put/get/search functionality needed
    • trustdb manipulations? maybe
    • maybe shared with GPG or maybe distinct
  • checker proofs
    • HTML-parsing service
    • DOM-awareness for chosen sites
    • DNS resolver
  • software update?
    • actually replace all of the above with newer versions;
    • maybe this is best left for a different version

Everything else is in the core. The core will have access to these optional objects and potentially pass them to one another as they require it.