# digit
A finger protocol client implementing [RFC 1288](https://datatracker.ietf.org/doc/html/rfc1288) and [RFC 742](https://datatracker.ietf.org/doc/html/rfc742), written in Rust.
To try this on active finger servers (as of 2026), try the domains `graph.no` and `tilde.town`
## Installation
```
cargo install digit-cli
```
Or from source:
```
cargo install --path .
```
## Usage
```
digit [OPTIONS] [QUERY]
```
### Examples
```bash
# Query a user at a host
digit user@example.com
# List all users at a host
digit @example.com
# Query a user with verbose/long output
digit -l user@example.com
# Use a non-standard port
digit -p 7979 user@example.com
# Set a connection timeout (in seconds)
digit -t 5 user@example.com
# Query a user at localhost
digit user
# List users at localhost
digit
```
### Forwarding queries
The finger protocol supports forwarding queries through a chain of hosts using the `@host1@host2` syntax (RFC 1288, section 2.5.1). For example:
```bash
digit user@host1@host2
```
This connects to `host2` and asks it to forward the query to `host1`. Note that many modern finger servers disable forwarding for security reasons, so this feature depends on server support.
### Options
| `-l, --long` | Request verbose/long output (sends `/W` prefix) |
| `-p, --port <PORT>` | Port to connect on (default: 79) |
| `-t, --timeout <SECS>` | Connection timeout in seconds (default: 10) |
| `-h, --help` | Print help |
| `-V, --version` | Print version |
## License
MIT