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.