3 Commits

Author SHA1 Message Date
2ro 5c6ae5c290 gp-server: interactive setup wizard + path-prefix hosting
- `gp-server setup` subcommand (manual argv branch, no clap): the five-question
  flow (till URL, shop URL, seed generate-or-paste, currencies, grin1 toggle),
  auto-generates all secrets, creates the encrypted wallet, probes the curated
  node list with fallback, writes /etc/goblinpay.env (0640) + the 0400
  wallet-password credential, and prints the WooCommerce paste block plus a
  reverse-proxy hint. Re-run safe (--reconfigure keeps the existing seed and
  password); non-TTY prints guidance unless --batch. Flags: --reconfigure,
  --prefix, --node, --batch. Tested against a temp dir with the dev seed.

- Path-prefix hosting: the till URL now accepts either a subdomain OR a
  reverse-proxied path on the shop's existing domain (zero new DNS records).
  The pay/result/landing/admin pages emit a {base}-prefixed asset/link path
  derived from GP_PUBLIC_URL, so a prefix-stripping proxy lines up with the
  app's root routes. manual_slatepack refactored to build its result once.
2026-07-05 01:02:16 -04:00
2ro 33c5ee568f chore: retire the dormant Nym client (Nym → Tor migration cleanup)
ci / fmt / clippy / test (push) Has been cancelled
Production has run GP_NYM=off for over a day: GoblinPay already reaches its
relays over clearnet, which is the end state the ecosystem's Nym → Tor move
aims for. This removes the now-dead ported Nym client and its plumbing. Pure
subtraction — the code path that remains is exactly the one already running
live, so there is no behavior change beyond "GoblinPay still boots and still
moves money." Per TOR-MIGRATION-PLAN.md.

Removed:
- crates/gp-nostr/src/nym/ (mod, transport, nymproc, dns — 599 lines).
- smolmix + hickory-proto (and the nym-only rand) deps from gp-nostr, and
  their transitive tree from Cargo.lock.
- GP_NYM config plumbing (gp-core config: field, parse, default, summary),
  the opts.nym service branch, the main.rs warm-up wiring, and the admin
  dashboard Nym row.
- The nym leg of the CI sibling-checkout gate (.github + .gitea), the
  `COPY nym` / sibling mentions in Dockerfile/compose/install.sh, and the
  GP_NYM copy in README, .env.example, and the three connector docs.

GoblinPay does not gain a Tor transport of its own: it is receive-only
infrastructure, and the sender privacy that matters rides the paying
customer's own Goblin Wallet. Content encryption (NIP-44 in a NIP-59
gift-wrap) and the slatepack (grin1) path are untouched. The optional
onion-dialing and relay-list trim the plan flags are left for the owner.
2026-07-04 06:31:18 -04:00
2ro bd67bfc92e GoblinPay: receive-only Grin payment server
A self-hostable Grin payment server for shops, creators, and sites: show a
code, Grin lands in your wallet, with a verifiable Grin payment proof on
receive. Workspace crates (gp-core / gp-nostr / gp-server / gp-wallet /
gp-goblin-sender), a WooCommerce connector, a hosted /pay/<token> checkout,
and NIP-44 v3 gift-wrapped payment DMs carried over the Nym mixnet. All
secrets are read from the environment; none are committed.
2026-07-02 04:29:54 -04:00