# sane-airscan example configuration file

# You can add scanners manually, using the following syntax:
# [devices]
#   name1 = url1           ; add eSCL device
#   name2 = url2, protocol ; protocol can be escl or wsd
#   name2 = disable        ; disable the device
#
# The airscan-discover utility, typically shipped together with
# driver, can help to discover scanners for manual
# addition (see man airscan-discover for more details)

[devices]
#"Kyocera MFP Scanner" = http://192.168.1.102:9095/eSCL
#"Some Unwanted Scanner" = disable

# Various options
#
# Automatic discovery may be enabled (the default) or disabled:
#   discovery = enable  ; Enable automatic device discovery
#   discovery = disable ; Disable both DNS-SD and WS-Discovery
#
# Protocol choice (eSCL vs WSD if both are available)
#   protocol = auto     ; Best protocol is chosen automatically, the default
#   protocol = manual   ; Manual choice is offered
#
# WS-Discovery mode
#   ws-discovery = fast ; Fast discovery, the default
#   ws-discovery = full ; Full discovery, slow and accurate
#   ws-discovery = off  ; Disable WS-Discovery
#
# Scanner "model" is a string that most of SANE apps display in a list
# of devices. It may be more convenient to use scanner network name
# for this purpose:
#   model = network     ; use network device name (default)
#   model = hardware    ; use hardware model name
#
# socket_dir gives an optional path to a directory where local (UNIX) sockets
# can be found.  If an eSCL device's URL is in the form unix://socket/eSCL/,
# traffic will be sent through socket_dir/socket instead of TCP.  If not
# specified, sockets will be searched for in /var/run.
#
# Proxy mode
#   pretend-local = false ; Remote scanners are marked as such (DEFAULT)
#   pretend-local = true  ; Remote scanners are treated as if they were local
#
# The SANE network protocol destinguishes between locally attached devices,
# and devices that can only be accessed over the network. While this is
# useful information to have, it isn't always used consistently. In particular,
# the saned daemon refuses to make any scanners available that aren't local
# to the machine. While well-intentioned, there are use-cases where this is
# unexpected; for instance in proxies that translate from eSCL/WSD protocols
# to the SANE protocol. Setting this configuration options instructs
# sane-airscan to treat all eSCL/WSD devices as if they were attached locally.

[options]
#discovery = enable
#model = network
#protocol = auto
#ws-discovery = fast
#socket_dir = /var/run
#pretend-local = false

# Configuration of debug facilities
#   trace = path         ; enables protocol trace and configures output
#                        ; directory. The directory will be created
#                        ; automatically. Path may start with tilde (~)
#                        ; character, which means user home directory
#
#   enable = true|false  ; enable or disable console logging
#   hexdump = true|false ; hex dump all traffic (very verbose!)
[debug]
#trace   = ~/airscan/trace
#enable  = true
#hexdump = false

# Blacklisting devices
#   model = pattern     ; Blacklist devices by model name
#   name  = pattern     ; Blacklist devices by network name
#   ip    = addr[/mask] ; Blacklist devices by IP addresses
#
# Notes
#   In model and network names glob-style wildcards can be used
#   (i.e., model = "Xerox*")
#
#   Network names come from DNS-SD, WS-Discovery doesn't provide this
#   information. For filtering by network name to work, Avahi must be
#   enabled and device must be discoverable via DNS-SD (not necessarily
#   as a scanner, it's enough if WSD scanner is discoverable as a printer
#   via DNS-SD).
#
#   If netmask is not set, address assumed to be device address,
#   not address of the entire subnet
#
#   Blacklisting only affects automatic discovery, and doesn't
#   affect manually configured devices
[blacklist]
#model = "Xerox*"       ; blacklist by model name
#name  = "HP*"          ; blacklist by network name
#ip    = 192.168.0.1    ; blacklist by address
#ip    = 192.168.0.0/24 ; blacklist the whole subnet


