#scanner #scanning #networking #scan #service-discovery #protocols #lan

escl

A Rust library for discovering and using scanners via the eSCL protocol (scanning over network)

4 releases (2 breaking)

0.3.0 Sep 18, 2024
0.2.0 Jan 3, 2024
0.1.1 Dec 31, 2023
0.1.0 Dec 31, 2023

#1121 in Network programming

MIT/Apache

36KB
900 lines

escl-rs

A Rust library for discovering and using scanners via the eSCL protocol (scanning over network)

crates-badge

Features

  • LAN service discovery
  • Scanner capabilities
  • Scanner status
  • Scan via the Pull Scan model

Example

The example uses multicast DNS to look for scanners in LAN for 5 seconds, and scans using the first discovered scanner. There's no need to pre-configure scanner IP address.

The output image is saved as scan.jpg in the current directory. To run the example:

cargo run --example scan

[!NOTE]

escl-rs supports any scanner URLs, including HTTPS. The use of LAN here is just for simplicity of the example, and to demonstrate LAN discovery capabilities.

License

Licensed under either of

at your option.

Dependencies

~9–23MB
~357K SLoC