PrintToVeraeTimeStamp/docs/network-printer.md
Cursor Agent 2f7f7aa873
Keep the network printer off the driver helper port and install folder.
Use 8632 when 631 is taken, install standalone Windows and macOS builds beside the driver instead of over it, open the LAN firewall ports, and give silent NSIS dialogs a default plus an install log.

Co-authored-by: George Lambert <marchon@gmail.com>
2026-10-04 19:51:03 +00:00

5.8 KiB
Raw Blame History

Verae network timestamp printer

Optional IPP Everywhere printer. Phones and other computers on the LAN print to Verae Timestamp. This machine hashes the document, registers the SHA-256 with Verae the same way the desktop drivers do, and keeps the receipt. Document bytes are not uploaded.

The printer is off until you install the standalone package or turn on the driver installer option. Both paths install one service and one tray / menu-bar control. They do not share an install folder: the standalone package never overwrites the driver binary. If both are installed, the service runs whichever binary is the same version or newer, and removing one leaves the other in place.

Windows macOS Debian / Ubuntu
Standalone installer VeraeNetPrint-windows-*-setup.exe VeraeNetPrint-macos.pkg verae-netprint_*_amd64.deb
Driver installer option Unchecked checkbox on the options page Customize → “Network timestamp printer” (unselected) debconf “Enable the Verae network timestamp printer?” (default no), or apt install verae-netprint
Service VeraeNetPrint LaunchDaemon com.verae.netprint verae-netprint.service
Tray / menu bar verae-netprint-tray.exe (notification area) verae-print tray (menu bar) verae-print tray (StatusNotifier / AppIndicator)
Standalone command %ProgramFiles%\Verae\NetPrint\bin\verae-print.exe /Library/Application Support/Verae/NetPrint/bin/verae-print /usr/lib/verae-netprint/verae-print
Driver command %ProgramFiles%\Verae\PrintStamp\bin\verae-print.exe /Library/Application Support/Verae/PrintStamp/bin/verae-print /usr/lib/verae-print/verae-print
CLI on PATH the driver binary when the driver is installed /usr/local/bin/verae-print points at the driver when it is installed, otherwise at NetPrint /usr/bin/verae-print points at the driver when it is installed, otherwise at NetPrint
Config %ProgramData%\Verae\PrintStamp\netprint.json /Library/Application Support/Verae/PrintStamp/netprint.json /etc/verae/netprint.json
Receipts %ProgramData%\Verae\NetPrint /Library/Application Support/Verae/NetPrint /var/lib/verae-netprint

The desktop driver's loopback helper stays on 127.0.0.1:8631. The network printer does not use that port.

Try it

  1. Install using either path above. The tray or menu-bar icon starts at login only after the print server is installed.
  2. Open Settings from the icon and paste the same xVerae- signing key the drivers use (or sign in first with verae-print setup on that machine). The service stores the key; the tray does not edit config files.
  3. On another device, add the printer Verae Timestamp. It is advertised with DNS-SD (_ipp._tcp, plus _universal and _print) and AirPrint text records. The IPP port is 631, or 8632 when 631 is already taken by CUPS. mDNS and the tray show the port that was actually bound.
  4. Print a PDF. Open Receipts from the tray, or browse to the printer’s admin URL (http://<lan-address>:<port>/). Each job has a receipt PDF and a verify link on https://explorer.verae.ai/time.

The icon shows running or stopped, the printer name, a LAN address and port, and how many jobs arrived today. It can start, stop, and restart the service, turn launch-at-login on or off for the service and for the icon, open recent receipts, and open settings (printer name, forward-to printer, signing key).

Forward-to is optional: a local queue name, or an ipp:// URI. A failed forward does not fail the timestamp.

Firewall

The Windows installers add inbound rules named Verae NetPrint IPP (TCP 631), Verae NetPrint IPP Fallback (TCP 8632), and Verae NetPrint mDNS (UDP 5353) on the private and domain profiles. They are removed when the last NetPrint product is uninstalled. Port 8631 is not opened; that is the driver helper on loopback.

On Debian and Ubuntu, postinst opens the same three ports with ufw when ufw is installed and already active. The rules are removed when the last package is removed.

On macOS, the Application Firewall is per application (System Settings → Network → Firewall). Install runs /usr/libexec/ApplicationFirewall/socketfilterfw --add and --unblockapp on the service binary when that tool is present. If other devices still cannot connect, allow verae-print in that pane.

The control API listens only on 127.0.0.1:8630.

A silent Windows install (/S) does not wait on a dialog. If the service does not start, the message is written to %ProgramData%\Verae\logs\netprint-installer.log.

Troubleshooting

  • The icon says stopped. Start it from the menu. On Linux, systemctl status verae-netprint. On Windows, sc query VeraeNetPrint. On macOS, sudo launchctl print system/com.verae.netprint.
  • Other devices do not see it. Confirm the service is running, mDNS (UDP 5353) is not blocked, and the host has a LAN address. CUPS on the same machine is fine: this printer falls back to port 8632 and still advertises that port. It does not fall back to 8631.
  • Windows setup seemed to hang with /S. Every installer dialog has a silent default. Read %ProgramData%\Verae\logs\netprint-installer.log.
  • Jobs fail with an authentication error. Open Settings and save a current xVerae- key. The service reads the machine token (/etc/verae/xverae-token, the macOS Application Support file, or %ProgramData%\Verae\PrintStamp\xverae-token) and the usual per-user token.
  • Raster jobs (AirPrint image/urf, Linux image/pwg-raster) are converted to PDF on this machine before they are hashed. PDF is accepted as-is.

Commands:

verae-print netprint                         # foreground, for debugging
verae-print netprint install --owner driver  # or standalone
verae-print netprint uninstall --owner driver
verae-print tray