3.2.2. GraphQL Schema

3.2.2.1. Top-Level Fields

These are the top-level fields that are accessible from within the default query.

geoloc(ip )
Parameters

geoloc (String!) – The IP address to lookup the Geo Location for.

Type

GeoLocation

Lookup the GeoLocation for a specific IP address.

hostnames
Type

[String]

A list of strings, one for each hostname that is configured for use on the server.

plugin(name )
Parameters

name (String!) – The name of the plugin to retrieve the information for.

Type

Plugin

Lookup a specific Plugin by name.

plugins
Type

Connection to Plugin

A connection for enumerating available server plugins.

siteTemplate(hostname, path )
Parameters
  • hostname (String) – The hostname associated with the template. If the VHOSTs setting is enabled on the server, this option is required.

  • path (String!) – The path of the template to retrieve information for.

Type

SiteTemplate

Lookup a specific SiteTemplate by path and hostname combination.

siteTemplates(hostname, max_depth )
Parameters
  • hostname (String) – An optional hostname to use for filtering returned site templates.

  • max_depth (Int) – An optional maximum depth to search for site templates within the web root.

Type

Connection to SiteTemplate

A connection for enumerating available site templates.

ssl
Type

SSL

Lookup the server’s SSL information.

version
Type

String

The version of the King Phisher server.

3.2.2.2. Objects

GeoLocation

Location information as retrieved for an arbitrary IP address.

city
Type

String

The city in which the location resides.

continent
Type

String

The continent in which the location resides.

coordinates
Type

[Float]

The coordinates of the location as an array of floating point numbers containing the latitude and longitude.

country
Type

String

The country in which the location resides.

postalCode
Type

String

The postal code in which the location resides.

timeZone
Type

String

The time zone in which the location resides.

Plugin

Information regarding a server plugin.

authors
Type

[String]

A list containing each of the author names.

classifiers
Type

[String]

A list of string classifiers for describing qualities.

description
Type

String

A text description of the plugin including what it does and any other information that may be necessary for users to know.

homepage
Type

String

A URL for the homepage where the plugin originated.

name
Type

String

The name of the plugin. As opposed to title, this value is an internal identifier derived from the plugin’s file name and should not change.

reference
Type

[String]

An optional list of URLs to use as references.

title
Type

String

The plaintext title of the plugin to display in the UI. Unlike name, this value is intended for human consumption and may be updated.

version
Type

String

The version of the template data.

SiteTemplate

Information for a site template which is available for use on the server. The template information can be used by the client to build a pretext and determine a landing page URL. As opposed to the SiteTemplateMetadata object, this structure contains information regarding where the template is installed versus what the template is.

created
Type

DateTime

The timestamp of when this site template was created.

hostname
Type

String

An optional hostname associated with this site template. This setting is only applicable when VHOSTs are enabled.

path
Type

String

The path at which the site template is installed relative to the web root. This value must be used as the root for the pages defined in the metadata.

metadata
Type

SiteTemplateMetadata

Metadata describing the site template.

SiteTemplateMetadata

Metadata for a specific site template describing what it is. As opposed to the SiteTemplate object, this structure contains information on what the template is versus where it is installed.

authors
Type

[String]

A list containing each of the author names.

classifiers
Type

[String]

A list of string classifiers for describing qualities.

description
Type

String

A text description for the template, containing any notes for the user.

homepage
Type

String

A URL for the homepage where the template originated.

pages
Type

[String]

A list of relative paths suitable for use as landing pages

referenceUrls
Type

[String]

A list of reference URL strings for the template.

title
Type

String

The template’s title.

version
Type

String

The version of the template data.

SSL

Information regarding the use, configuration and capabilities of SSL on the server.

sniHostname
Parameters

hostname (String!) – The hostname to retrieve the SNI configuration for.

Type

SniHostname

A field for looking up the SNI configuration for a specific hostname.

sniHostnames
Type

Connection to SniHostname

A connection for enumerating all of the available SNI configurations.

status
Type

SSLStatus

An object describing the status of the server’s SSL configuration.

SniHostname

An object describing the configuration of SSL’s Server Name Indicator (SNI) extension for a specific hostname. If this object exists, the necessary data files are available however they may or may not be loaded as indicated by the enabled field.

enabled
Type

Boolean

Whether or not the hostname is enabled.

hostname
Type

String

The hostname for this configuration.

SSLStatus

An object describing the status of SSL as used by the server.

enabled
Type

Boolean

Whether or not SSL is enabled for any interface the server is bound with.

hasLetsencrypt
Type

Boolean

Whether or not the Let’s Encrypt functionality is available. This requires that the certbot utility can be found.

hasSni
Type

Boolean

Whether or not SSL’s Server Name Indicator (SNI) extension is available in the Python implementation.