---
url: /apranik/configuration/shared/probe.md
---
# Probe

How a [`urltest`](../outbound/urltest.md) or [`fallback`](../outbound/fallback.md)
group tests its members: one HTTP request sent through each member, timed until the
status line arrives. Every member is probed when the core starts, then at each
`interval`. A probe bypasses routing and sends no `User-Agent`.

## Structure

```json
{
  "url": "https://www.gstatic.com/generate_204",
  "interval": "5m",
  "timeout": "10s",
  "expected_status": "200-299"
}
```

Every field is optional.

## Fields

### `url`

string
Default: https://www.gstatic.com/generate_204

An `http://` or `https://` URL reachable from every member's exit. With `https`, the
time includes a TLS handshake made with Go's `crypto/tls`, not the
[`tls` fingerprint](../transport/tls.md#fingerprint).

### `interval`

duration
Default: 5m

Time from the end of one round to the start of the next.

### `timeout`

duration
Default: 10s

A member slower than this fails the round.

### `expected_status`

string
Default: 200-299

Statuses that pass: codes and inclusive ranges, separated by commas, such as
`"204"` or `"200,204,300-399"`. Write it as a string.
