# Functions
API (/api) provides access to api documentation.
API_Campaigns_Id_Summary returns just the summary for a given campaign.
API_Campaigns returns a list of campaigns if requested via GET.
API_Campaigns_Id returns details about the requested campaign.
API_Campaigns_Id_Complete effectively "ends" a campaign.
API_Campaigns_Id_Results returns just the results for a given campaign to significantly reduce the information returned.
API_Campaigns_Summary returns the summary for the current user's campaigns.
API_Groups returns a list of groups if requested via GET.
API_Groups_Id returns details about the requested group.
API_Groups_Id_Summary returns a summary of the groups owned by the current user.
API_Groups_Summary returns a summary of the groups owned by the current user.
API_Import_Email allows for the importing of email.
API_Import_Group imports a CSV of group members.
API_Import_Site allows for the importing of HTML from a website Without "include_resources" set, it will merely place a "base" tag so that all resources can be loaded relative to the given URL.
API_Pages handles requests for the /api/pages/ endpoint.
API_Pages_Id contains functions to handle the GET'ing, DELETE'ing, and PUT'ing of a Page object.
API (/api/reset) resets a user's API key.
API_Send_Test_Email sends a test email using the template name and Target given.
API_SMTP handles requests for the /api/smtp/ endpoint.
API_SMTP_Id contains functions to handle the GET'ing, DELETE'ing, and PUT'ing of a SMTP object.
API_Templates handles the functionality for the /api/templates endpoint.
API_Templates_Id handles the functions for the /api/templates/:id endpoint.
Base handles the default path and template execution.
CampaignID handles the default path and template execution.
Campaigns handles the default path and template execution.
Clone takes a URL as a POST parameter and returns the site HTML.
CreateAdminRouter creates the routes for handling requests to the web interface.
CreatePhishingRouter creates the router that handles phishing connections.
Flash handles the rendering flash messages.
JSONResponse attempts to set the status code, c, and marshal the given interface, d, into a response that is written to the given ResponseWriter.
LandingPages handles the default path and template execution.
Login handles the authentication flow for a user.
Logout destroys the current user session.
PhishHandler handles incoming client connections and registers the associated actions performed (such as clicked link, etc.).
PhishReporter tracks emails as they are reported, updating the status for the given Result.
PhishTracker tracks emails as they are opened, updating the status for the given Result.
Preview allows for the viewing of page html in a separate browser window.
Register creates a new user.
RobotsHandler prevents search engines, etc.
SendingProfiles handles the default path and template execution.
Settings handles the changing of settings.
Templates handles the default path and template execution.
Use allows us to stack middleware to process the request Example taken from https://github.com/gorilla/mux/pull/36#issuecomment-25849172.
Users handles the default path and template execution.
# Variables
ErrCampaignComplete is thrown when an event is received for a campaign that has already been marked as complete.
ErrInvalidRequest is thrown when a request with an invalid structure is received.
Worker is the worker that processes phishing events and updates campaigns.