ippserver - a simple ipp server
ippserver [ -2 ] [ -C config-directory
] [ -K keypath ] [ -M manufacturer ] [ -P
] [ -a attributes-file ] [ -c command ] [
-d spool-directory ] [ -f type/subtype[,...] ] [
-h ] [ -i iconfile.png ] [ -k ] [ -l
location ] [ -m model ] [ -n hostname ] [
-p port ] [ -r subtype ] [ -s
speed[,color-speed] ] [ -u username:password ] [
-v[vvv] ] service name
ippserver is a simple Internet Printing Protocol (IPP)
server conforming to the IPP Everywhere and IPP Shared Infrastructure
Extensions (INFRA) specifications. It can be used as a standalone print
server and/or a very basic infrastructure server between standard IPP
clients and IPP proxies conforming to the INFRA specification.
The following options are recognized by ippserver:
- -2
- Specifies that the printer supports two-sided printing.
- -C
config-directory
- Specifies the location of a directory containing files that define the
configuration of the server and the service instances that are available.
See the section titled "CONFIGURATION DIRECTORIES" below.
- -K keypath
- Specifies the location of TLS certificates and private keys.
- -M
manufacturer
- Specifies the manufacturer for the printer.
- -P
- Specifies that the printer will require a PIN ("job-password")
for submitted print jobs.
- -a
attributes-file
- Specifies a file containing attribute definitions for the printer.
- -c command
- Specifies a command that is used to process job files.
- -d
spool-directory
- Specifies the directory that will hold the print files. The default is a
directory under the user's current temporary directory.
- -f
type/subtype,[...]
- Specifies the list of supported MIME media types.
- -h
- Shows program help.
- -i
iconfile.png
- Specifies a PNG file for the printer icon.
- -k
- Keeps the print documents in the spool directory rather than deleting
them.
- -l location
- Specifies the "printer-location" string for the printer.
- -m model
- Specifies the model name of the printer.
- -n hostname
- Specifies the hostname that is reported by the server. The default is the
name returned by the hostname(1) command.
- -p port
- Specifies the port number to listen on. The default is a user-specific
number from 8000 to 8999.
- -r subtype
- Specifies the Bonjour subtype to advertise for the printer. The default
subtype is "_print".
- -s
speed[,color-speed]
- Specifies the printer speed in pages-per-minute.
- -u
username:password
- Specifies the username and password for the IPP proxy.
- -v[vvv]
- Be (very) verbose when logging activity to the standard output.
The ippserver program returns 1 if it is unable to process
the command-line arguments. Otherwise ippserver will run continuously
until terminated.
Run ippserver with a service name of My Cool Printer:
ippserver "My Cool Printer"
Specify a proxy username of "foo" and password of
"bar":
ippserver -u foo:bar "My Cool Printer"
When the -C option is specified, ippserver reads a
series of configuration files from the specified directory to configure the
server and services supported by the server.
The system.conf configuration file specifies settings that
apply to all services. Each line consists of a directive followed by its
value(s). Comments start with the # character and continue to the end of the
line. The following directives are supported:
- DataDirectory
directory
- Specifies the location of server data files.
- DefaultPrinter
name
- Specifies the default print service name.
- Encryption
{Always|IfRequested|Never|Required}
- Specifies when to use TLS encryption for client connections.
"Always" means that all connections are encrypted when
established (HTTPS). "IfRequested" means that connections are
encrypted when an upgrade is requested by the client. "Never"
means that encryption is not allowed or supported. "Required"
means that all connections are encrypted, either when established (HTTPS)
or immediately thereafter using HTTP Upgrade.
- KeepFiles
{No|Yes}
- Specifies whether job data files are retained after processing.
- Listen
address[:port]
- Listens for client connections on the specified address and port. If the
address is "*" the server will listen for connections on all
network interfaces. If the port is omitted, a port between 8000 and 8999
will be used.
- LogFile
path
- Specifies a log file to use. The path "stderr" causes all log
messages to be directed to the standard error file descriptor.
- LogLevel
{Debug|Info|Error}
- Specifies the verbosity of logged messages. "Debug" is the most
verbose level, logging all messages. "Info" provides basic
progress and status messages. "Error" provides only error
messages.
- MaxCompletedJobs
number
- Specifies the maximum number of completed jobs that are retained for job
history. The value 0 specifies there is no limit. Note: ippserver
currently removes completed jobs from the job history after 60
seconds.
- MaxJobs
number
- Specifies the maximum number of pending and active jobs that can be queued
at any given time. The value 0 specifies there is no limit.
- SpoolDirectory
path
- Specifies the location of print job spool files.
Each 2D print service is configured by a print/name.conf
configuration file, where "name" is the name of the service in the
printer URI, e.g., "ipps://hostname/ipp/print/name". Each 3D print
service is configured by a print3d/name.conf configuration file,
where "name" is the name of the service in the printer URI, e.g.,
"ipps://hostname/ipp/print3d/name". Each line consists of a
directive followed by its value(s). Comments start with the # character and
continue to the end of the line. The following directives are supported:
- Attr value-tag name
value(s)
- Specifies a Printer Description attribute. The format is further defined
in ipptoolfile(7).
- AuthType
{None|Basic}
- Specifies the type of authentication to require. "None"
specifies that no authentication is required. "Basic" specifies
that HTTP Basic authentication (username + password) is required.
- Command
command
- Specifies the command to run when processing jobs. The
ipptransform(1) command can be used for many printers.
- DeviceURI
uri
- Specifies the printer's device URI.
- Make
manufacturer
- Specifies the manufacturer name for the printer.
- Model
model
- Specifies the model for the printer.
- ProxyUser
user
- Specifies the name of the proxy user for the printer.
The icon for each 2D print service is stored in the
print/name.png file. Similarly, the icon for each 3D print service is
stored in the print3d/name.png file.
ISTO PWG Internet Printing Protocol Workgroup
(http://www.pwg.org/ipp)
Copyright © 2007-2016 by Apple Inc.