API Documentation

The VNC Resolver is powered by an API which can be used to fetch information from the service.

Note that requests are rate-limited to prevent abuse.

This will be going away at some point and be replaced with sane OpenAPI documentation that can be shoved into anything.

API Objects:

VNC Object

{ id: number; scanned_on: number; ip_address: string; rdns_hostname: string | null; port: number; asn: string; geo_country: string; geo_state: string; geo_city: string; desktop_name: string|null; width: number; height: number; }
General Info

id is the Scan ID of the VNC. This is unique to this VNC.

scanned_on is the Unix timestamp when the VNC was added to the Resolver database.

ip_addresss is the IP address of the VNC.

rdns_hostname is the rDNS hostname of the VNC. It is allowed to be null if none is assigned.

port is the port number the VNC is listening on.

asn is the Autonomous System Number (ASN) of the VNC's IP address.

Geolocation Info

geo_country is the country the VNC is located in.

geo_state is the approximate state the VNC is located in.

geo_city is the approximate city the VNC is located in.

VNC Info

desktop_name is the desktop name the VNC sent when the scan was taken. May be null if the VNC never sent one.

width is the screen width the VNC was at when the scan was taken.

height is the screen height the VNC was at when the scan was taken.

API Endpoints/Examples

Fetching current stats:

This endpoint retrieves the current status of the API backend and the number of VNCs in the scan's database.

$ curl https://computernewb.com/vncresolver/api/stats

Fetching a random VNC server:

This endpoint always returns a completely random VNC server.

$ curl https://computernewb.com/vncresolver/api/v1/random

Fetching a specific VNC server (via ID):

This endpoint is useful if you have IDs from a /api/random or search response.

$ curl https://computernewb.com/vncresolver/api/v1/id/[id]

Searching VNC servers

Note that additionally, there is a full query string parameter when searching. If set to true, then the API will send full VNC objects instead of IDs, avoiding having to call the API multiple times.

by Desktop Name:

This endpoint will return all VNCs in the scan's database with a specific desktop name. To find all VNCs with the desktop name "JDownloader", for example, you could run:

$ curl https://computernewb.com/vncresolver/api/v1/search?desktop_name=JDownloader
by ISO 3166-1 alpha-2 country code:

You can also use country ISO 3166-1 alpha-2 codes. To fetch a server in Romania, for example, you would use "RO", like so:

$ curl https://computernewb.com/vncresolver/api/v1/search?country=RO

For a full list, see: https://en.wikipedia.org/wiki/List_of_ISO_3166_country_codes. Note that some countries don't have any VNCs available (you will receive a "Country name is not valid." error response if so)

by ASN:

Finally, you can use AS numbers to search.

$ curl https://computernewb.com/vncresolver/api/v1/search?asn=AS16276