# Community nodes Members can donate a little of their internet connection to the DevPlace community. A donated **node** is a small program on the member's own machine that dials out to DevPlace and, when asked, fetches a public page from a short list of allowed websites on DevPlace's behalf. This is how search reaches sites that block data-centre addresses. - **Opt-in only.** Nobody is enrolled by default. Donating needs an explicit consent that only the account holder can grant or withdraw. - **Not an open proxy.** A node refuses everything that is not on the published allowlist, every port except 80 and 443, and every private or local address. The refusal is enforced on the donor's machine as well as on the server. - **Counted and visible.** Requests and bytes relayed are counted by the server and shown to the donor. The wire protocol, every limit and the allowlist are published as one machine-readable document at `/nodes/spec.json` and rendered on the [Node network protocol](/docs/nodes-protocol.html) page. Every endpoint follows the shared [Conventions & Errors](/docs/conventions.html).
GET /nodes/spec.json Minimal role: Public

Node protocol specification

The single source of truth for the node protocol: version, frames, limits, allowlist and refusal codes.