fix(cuprate): front the restricted RPC port with a Tor onion
The restricted-RPC port (18090) was `auth: none`, which the app gate treats as fully exempt — no onion, no takeover, LAN/Tailscale IP only. Flip it to `auth: open`: the gate still binds the external addresses and fronts a Tor onion for the port, just without a dashboard login challenge, since Monero wallet clients (Feather, monero-wallet-rpc, GUI) speak plain HTTP JSON-RPC and can't hold a session cookie. P2P (18183) stays `none` — no reason to Tor-front raw gossip. Regenerated releases/app-catalog.json (unsigned) to embed the updated manifest; needs scripts/sign-catalog.sh before it takes effect on any node, since origin (catalog) wins over disk for catalog-covered apps. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01NZnsiMtyJxiJBuvv7yLPUF
This commit is contained in:
@@ -87,17 +87,21 @@ app:
|
|||||||
# bind without an explicit i_know_what_im_doing override.
|
# bind without an explicit i_know_what_im_doing override.
|
||||||
# Restricted RPC: Monero's own purpose-built safe-for-public subset —
|
# Restricted RPC: Monero's own purpose-built safe-for-public subset —
|
||||||
# what wallets use when connecting to a "remote node". Disabled by
|
# what wallets use when connecting to a "remote node". Disabled by
|
||||||
# cuprated's own default; enabled via files[] below. A dashboard login
|
# cuprated's own default; enabled via files[] below. `open`, not `gated`:
|
||||||
# would break wallet clients connecting programmatically, same
|
# the gate still takes the port over (loopback pin, external binds,
|
||||||
# reasoning as electrumx's port. The daemon still uses its canonical
|
# fronts the Tor onion) but skips the dashboard login challenge, same
|
||||||
# container port 18089, but Penpot already owns host port 18089, so this
|
# reasoning as electrumx's port — wallet clients (Feather,
|
||||||
# maps the public host port to the free 18090 instead.
|
# monero-wallet-rpc, GUI) speak plain HTTP JSON-RPC programmatically and
|
||||||
|
# cannot complete a browser login or hold a session cookie. The daemon
|
||||||
|
# still uses its canonical container port 18089, but Penpot already owns
|
||||||
|
# host port 18089, so this maps the public host port to the free 18090
|
||||||
|
# instead.
|
||||||
- host: 18090
|
- host: 18090
|
||||||
container: 18089
|
container: 18089
|
||||||
protocol: tcp
|
protocol: tcp
|
||||||
auth: none
|
auth: open
|
||||||
auth_rationale: >-
|
auth_rationale: >-
|
||||||
Monero restricted RPC — the subset upstream considers safe for public/remote-node use. Wallets (Feather, monero-wallet-rpc, GUI) connect directly over plain HTTP JSON-RPC and cannot hold a dashboard session cookie.
|
Monero restricted RPC — the subset upstream considers safe for public/remote-node use. Wallets (Feather, monero-wallet-rpc, GUI) connect directly over plain HTTP JSON-RPC and cannot complete a browser login or hold a dashboard session cookie.
|
||||||
|
|
||||||
volumes:
|
volumes:
|
||||||
- type: bind
|
- type: bind
|
||||||
|
|||||||
+3187
-3189
File diff suppressed because one or more lines are too long
Reference in New Issue
Block a user