---
title: ProxyDescription
summary: Client proxy description.
url: https://www.fastly.com/documentation/reference/compute/sdks/rust/fastly/geo/enum.ProxyDescription/
---

**Kind:** Enum  
**Module:** [geo](https://www.fastly.com/documentation/reference/compute/sdks/rust/fastly/geo/)  
**Package:** fastly 0.13.1  
**Source:** https://docs.rs/crate/fastly/0.13.1/source/src/geo.rs#474

```rust
#[non_exhaustive]
pub enum ProxyDescription {
    Cloud,
    CloudSecurity,
    Dns,
    TorExit,
    TorRelay,
    Vpn,
    WebBrowser,
    Unknown,
    Other(String),
}
```

Client proxy description.

Defaults to `Unknown` when an IP address is not known to be a proxy or VPN.

## Variants

### Cloud

Enables ubiquitous network access to a shared pool of configurable computing resources.

### CloudSecurity

A host accessing the internet via a web security and data protection cloud provider.

Example providers with this type of service are Zscaler, Scansafe, and Onavo.

### Dns

A proxy used by overriding the client's DNS value for an endpoint host to that of the proxy
instead of the actual DNS value.

### TorExit

The gateway nodes where encrypted or anonymous Tor traffic hits the internet.

### TorRelay

Receives traffic on the Tor network and passes it along; also referred to as "routers".

### Vpn

Virtual private network that encrypts and routes all traffic through the VPN server,
including programs and applications.

### WebBrowser

Connectivity that is taking place through mobile device web browser software that proxies
the user through a centralized location.

Examples of such browsers are Opera mobile browsers and UCBrowser.

### Unknown

An IP address that is not known to be a proxy or VPN.

### Other

- `0`: `String`

Description of a proxy or VPN that is known, but not in the above list of variants.

This typically indicates that the geolocation database contains a proxy description that
did not exist when this crate was published.

## Trait implementations

### impl Clone for ProxyDescription

#### clone

**Source:** https://docs.rs/crate/fastly/0.13.1/source/src/geo.rs#471

```rust
fn clone(&self) -> Self
```

**Parameters**

- `self`: `&Self`

**Returns**

`Self`

### impl Debug for ProxyDescription

#### fmt

**Source:** https://docs.rs/crate/fastly/0.13.1/source/src/geo.rs#471

```rust
fn fmt(&self, f: &mut Formatter<'_>) -> Result
```

**Parameters**

- `self`: `&Self`
- `f`: `&mut $crate::fmt::Formatter`

**Returns**

`$crate::fmt::Result`

### impl Deserialize for ProxyDescription

#### deserialize

**Source:** https://docs.rs/crate/fastly/0.13.1/source/src/geo.rs#471

```rust
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
where
    __D: Deserializer<'de>,
```

**Parameters**

- `__deserializer`: `__D`

**Returns**

`_serde::__private228::Result<Self, __D::Error>`

### impl PartialEq for ProxyDescription

#### eq

**Source:** https://docs.rs/crate/fastly/0.13.1/source/src/geo.rs#471

```rust
fn eq(&self, other: &Self) -> bool
```

**Parameters**

- `self`: `&Self`
- `other`: `&Self`

**Returns**

`bool`

### impl Serialize for ProxyDescription

#### serialize

**Source:** https://docs.rs/crate/fastly/0.13.1/source/src/geo.rs#471

```rust
fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
where
    __S: Serializer,
```

**Parameters**

- `self`: `&Self`
- `__serializer`: `__S`

**Returns**

`_serde::__private228::Result<__S::Ok, __S::Error>`

## Auto trait implementations

- `Freeze`
- `RefUnwindSafe`
- `Send`
- `Sync`
- `Unpin`
- `UnsafeUnpin`
- `UnwindSafe`

## Blanket implementations

- `Any`
- `Borrow<T>`
- `BorrowMut<T>`
- `CloneToUninit`
- `DeserializeOwned`
- `Downcast`
- `DowncastSync`
- `Equivalent<K>`
- `ErasedDestructor`
- `From<T>`
- `Into<U>`
- `IntoEither`
- `Same`
- `ToOwned`
- `TryFrom<U>`
- `TryInto<U>`
