Documentation

Surf

The box, from QZ.

QZ Surf Logo

Compatibility

  • ✅ 2.3 | ✅ 2.2.6+ ...

Description

QZ Surf is a stand-alone print-server hardware for QZ Tray that simplifies the configuration for secure communication to a print-server instance.

Purpose

Portable, sandboxed devices (such as iPads, iPhones, Android Tablets, Android Phones and Chromebooks) historically have strict requirements for secure-communication to QZ Tray, but this has been historically challenging to support in the field.

Features

  • QZ Surf has a small-footprint, yet runs a full-blown instance of QZ Tray, offering 100% feature-parity with the Desktop version.
  • To connect to a QZ Surf box, please ask your app team to add a new connect option. Your box has a name, such as orca printed on the top of the box. You'll need this name to connect to it.
  • For most devices, QZ Surf is plug-and-play. If your device doesn't show up, scan the QR code on the top of the QZ Surf box and click the "Add CUPS Queue" link.

The Interface

The interface is a familiar configuration screen with the details that matter most such as uptime, resource usage, network information, printer info, USB devices and QZ Tray status.

Wi-Fi setup is as simple as selecting your network and typing your password.

QZ Surf Configuration Page

Hardware

QZ Surf is powered by a Raspberry Pi 5 8GB model running Raspbian (Debian) OS on ARM64 architecture.

Specification

Hardware Details/Specification
Processor Broadcom BCM2712 2.4GHz quad-core 64-bit Arm Cortex-A76
RAM 8GB LPDDR4X-4267 SDRAM
Storage MicroSD card slot
Wireless Dual-band 802.11ac Wi-Fi® & Bluetooth 5.0 / BLE
USB Ports 2 × USB 3.0 (5Gbps simultaneous) & 2 × USB 2.0
Ethernet Gigabit Ethernet
Power 5V/5A DC via USB-C (Power Delivery supported)

💡 NOTE: Hardware specifications are subject to change

QZ Surf 3D Render

Infrastructure

QZ Surf works by binding an address (e.g orca.qz.surf) to your local network and receiving a certificate for secure communications. This requires:

  • Connectivity to a certificate authority server (e.g. LetsEncrypt)
  • Connectivity to a DNS registrars (e.g. Cloudflare)

Integration

Integration is as simple as providing your users a name field to connect to.

image

💡 Note: If you already have a QZ Surf box, you can test your connection right now by visiting https://demo.qz.io and clicking the down arrow on the "Connect" button.

Are you the app developer? That's simple too!

// Each QZ Surf box has its own unique name
- qz.websocket.connect();
+ qz.websocket.connect({ host: "orca" }); // qz-tray@2.2.6+

💡 Note: If you're a developer, the code is as simple as adding the host parameter to your qz.websocket.connect() call.

Availability and Pricing

QZ Surf is available in limited quantities during a beta rollout in the second quarter of 2026. Please inquire at sales@qz.io for pricing and availability.

Compatibility with websites will depend on cooperation from your website maintainer.

Edit this page