OpenPrinterOpenPrinter

Product Configuration

Compile branded agents from validated immutable product definitions.

Select a product directory at compile time:

OPPA_PRODUCT_DIR=products/default pnpm oppa:build
{
  "schemaVersion": 1,
  "productId": "oppa",
  "productName": "OPPA",
  "applicationId": "com.neplextech.oppa",
  "description": "Open Printer Proxy Agent",
  "updates": { "endpoint": null },
  "branding": {
    "supportUrl": "https://example.com/support",
    "documentationUrl": "https://example.com/docs"
  },
  "features": {
    "virtualPrinter": true,
    "systemPrinterDiscovery": true,
    "networkPrinterDiscovery": true,
    "usbPrinterDiscovery": false,
    "remoteDiagnostics": false,
    "managedHardware": false
  },
  "legal": { "privacyUrl": null, "termsUrl": null }
}

Product configuration controls identity, branding, assets, update metadata, legal links, and compiled feature switches. It contains no OpenPrinter service credentials or endpoints.

Runtime server selection

The user configures one OpenPrinter server base URL. OPPA validates and stores that non-secret URL, requests discovery for the current pairing and gateway endpoints, and stores the discovered stable server ID after pairing.

Production base URLs require HTTPS. Plain HTTP is accepted only on loopback for development. Embedded credentials, fragments, and unsupported schemes are rejected.

Changing the base URL or forgetting the service deletes the associated local private key and paired identifiers. A new code is required. Runtime selection cannot change product identity, branding, update trust, legal links, or enable code absent from the binary.

On this page