CUBE Contact — beta evaluation build (Linux x86_64)
====================================================

WHAT THIS IS
  CUBE Contact is the first application built on the CUBELinux substrate:
  sealed peer-to-peer messaging and signed, publishable pages between two
  machines, with no account, no directory, and no company in the middle.
  This is a TIME-LIMITED evaluation build. It refuses to run after
  2027-01-18. It is not a finished product and not licensed for
  production use. Read LICENSE-BETA.txt before you run it.

WHAT YOU NEED
  Linux x86_64 with:
    - libwebkit2gtk-4.1-0   (the window; on Debian/Ubuntu:
                             sudo apt install libwebkit2gtk-4.1-0)
    - libgtk-3-0
  Everything else is in this archive. The build prints
  "evaluation build — licence expires 2027-01-18" every time it starts.

RUN IT
  ./cube-contact              # opens the window (chat by default)
  ./cube-contact --headless   # no window; prints a local URL + token

  Options:
    --store DIR               where this instance keeps its store
                              (default: ~/.local/share/cube-contact)
    --handle NAME             what this instance is called (default: workhorse)
    --port N                  local HTTP port (default: random)
    --ctp HOST:PORT           listen for sealed-channel connections here
    --allow PUBKEYHEX         allow that peer key (repeat the flag per peer)
    --class N                 store class for pages (default: 7)
    --start PATH              open the window at a route (e.g. /publish, /search)

  First run: the app creates its identity key inside the store and prints
  "pubkey: ..." (headless) or shows it in the window's identity line.
  That public key is what the other machine must put in its --allow list.

TWO MACHINES
  On each machine run:
    ./cube-contact --headless --store ./store-a --handle alice \
        --ctp 0.0.0.0:9100 --allow <BOB'S PUBKEY HEX>
  and on the other:
    ./cube-contact --headless --store ./store-b --handle bob \
        --ctp 0.0.0.0:9101 --allow <ALICE'S PUBKEY HEX>
  Then open the printed URL in a browser, or run the windowed build.
  To message: open /compose or the chat composer — recipient handle,
  the peer's host:port, and its pinned pubkey (which must match
  whatever the other side reports). Received messages are records in
  your own store; "delivered" means the other store wrote the record —
  not that a human read it.

HONEST LIMITS
  Linux-first (Android is the next phase). No group conversations. One
  message per channel session at this layer. The transport is v0:
  hybrid key exchange and signatures now; forward secrecy is the next
  slice. Client-side date enforcement can be bypassed by editing the
  binary — the licence is the promise, not the lock. Do not trust this
  build with anything you cannot lose.

SOURCES / CONTACT
  This archive contains a compiled binary only. The source tree lives
  in the CUBELinux repository and is under the licence it states there.
  Feedback and questions: through cubelinux.com.
