client.geo.proxy_type

STRING, read-only.

Available in all subroutines.

Client proxy type.

Defaults to ? when an IP address is not known to be a proxy or VPN. Other possible values are:

  • anonymous - IP address of client is not available. Includes services that change location to beat DRM, TOR points, temporary proxies, and other masking services.
  • aol - Proxied users from an AOL proxy.
  • blackberry — This new value will identify an IP address owned by Research In Motion (RIM), the company responsible for Blackberry mobile devices. All Blackberry users go through a centralized proxy location and thus cannot be accurately geo-targeted.
  • corporate - Generally considered harmless, but location can be a concern. Groups of users that are proxied through a central location or locations, and thus share a single network-apparent IP address.
  • edu - Proxied users from an educational institution.
  • hosting - Address belongs to a hosting facility and is likely to be a proxy as end users are not typically located in a hosting facility.
  • public - Multiple users proxied from a location allowing public internet access.
  • transparent - IP address of client is available via HTTP headers, though the value is not necessarily reliable (e.g., it can be spoofed).
  • ? - Not determined to be a proxy.

Example

sub vcl_recv {
#FASTLY recv
if (client.geo.proxy_type ~ "^anonymous") {
error 600 "using anonymous proxy";
}
}
sub vcl_error {
if (obj.status == 600) {
set obj.status = 451;
return (deliver);
}
}

User contributed notes

We welcome comments that add use cases, ideas, tips, and caveats. All comments will be moderated before publication. To post support questions, visit our support center and we'll find you the help you need.