class GoPhish::Api

Public Class Methods

new(url, key) click to toggle source
# File lib/gophish/api.rb, line 5
def initialize(url, key)
  @url = url
  @key = key
end

Public Instance Methods

create_campaign(conf = {}) click to toggle source
# File lib/gophish/api.rb, line 22
def create_campaign(conf = {})
  conf = JSON conf
  uri = URI.parse(@url + '/api/campaigns/?api_key=' + @key)
  headers = {
    'Content-Type': 'text/json'
  }
  http = Net::HTTP.new(uri.host, uri.port)
  http.use_ssl = true
  http.verify_mode = OpenSSL::SSL::VERIFY_NONE
  request = Net::HTTP::Post.new(uri.request_uri, headers)
  request.body = conf
  res = http.request(request)
  JSON res
end
create_group(conf = {}) click to toggle source
# File lib/gophish/api.rb, line 96
def create_group(conf = {})
  conf = JSON conf
  uri = URI.parse(@url + '/api/groups/?api_key=' + @key)
  headers = {
    'Content-Type': 'text/json'
  }
  http = Net::HTTP.new(uri.host, uri.port)
  http.use_ssl = true
  http.verify_mode = OpenSSL::SSL::VERIFY_NONE
  request = Net::HTTP::Post.new(uri.request_uri, headers)
  request.body = conf
  res = http.request(request)
  JSON res
end
create_page(conf = {}) click to toggle source
# File lib/gophish/api.rb, line 170
def create_page(conf = {})
  conf = JSON conf
  uri = URI.parse(@url + '/api/pages/?api_key=' + @key)
  headers = {
    'Content-Type': 'text/json'
  }
  http = Net::HTTP.new(uri.host, uri.port)
  http.use_ssl = true
  http.verify_mode = OpenSSL::SSL::VERIFY_NONE
  request = Net::HTTP::Post.new(uri.request_uri, headers)
  request.body = conf
  res = http.request(request)
  JSON res
end
create_smtp(conf = {}) click to toggle source
# File lib/gophish/api.rb, line 133
def create_smtp(conf = {})
  conf = JSON conf
  uri = URI.parse(@url + '/api/smtps/?api_key=' + @key)
  headers = {
    'Content-Type': 'text/json'
  }
  http = Net::HTTP.new(uri.host, uri.port)
  http.use_ssl = true
  http.verify_mode = OpenSSL::SSL::VERIFY_NONE
  request = Net::HTTP::Post.new(uri.request_uri, headers)
  request.body = conf
  res = http.request(request)
  JSON res
end
create_template(conf = {}) click to toggle source
# File lib/gophish/api.rb, line 59
def create_template(conf = {})
  conf = JSON conf
  uri = URI.parse(@url + '/api/templates/?api_key=' + @key)
  headers = {
    'Content-Type': 'text/json'
  }
  http = Net::HTTP.new(uri.host, uri.port)
  http.use_ssl = true
  http.verify_mode = OpenSSL::SSL::VERIFY_NONE
  request = Net::HTTP::Post.new(uri.request_uri, headers)
  request.body = conf
  res = http.request(request)
  JSON res
end
delete_campaign(id) click to toggle source
# File lib/gophish/api.rb, line 37
def delete_campaign(id)
  uri = URI.parse(@url + "/api/campaigns/#{id}?api_key=" + @key)
  http = Net::HTTP.new(uri.host, uri.port)
  http.use_ssl = true
  http.verify_mode = OpenSSL::SSL::VERIFY_NONE
  req = Net::HTTP::Delete.new(uri.request_uri)
  res = http.request(req)
  JSON res
end
delete_group(id) click to toggle source
# File lib/gophish/api.rb, line 111
def delete_group(id)
  uri = URI.parse(@url + "/api/groups/#{id}?api_key=" + @key)
  http = Net::HTTP.new(uri.host, uri.port)
  http.use_ssl = true
  http.verify_mode = OpenSSL::SSL::VERIFY_NONE
  req = Net::HTTP::Delete.new(uri.request_uri)
  res = http.request(req)
  JSON res
end
delete_page(id) click to toggle source
# File lib/gophish/api.rb, line 185
def delete_page(id)
  uri = URI.parse(@url + "/api/pages/#{id}?api_key=" + @key)
  http = Net::HTTP.new(uri.host, uri.port)
  http.use_ssl = true
  http.verify_mode = OpenSSL::SSL::VERIFY_NONE
  req = Net::HTTP::Delete.new(uri.request_uri)
  res = http.request(req)
  JSON res
end
delete_smtp(id) click to toggle source
# File lib/gophish/api.rb, line 148
def delete_smtp(id)
  uri = URI.parse(@url + "/api/smtps/#{id}?api_key=" + @key)
  http = Net::HTTP.new(uri.host, uri.port)
  http.use_ssl = true
  http.verify_mode = OpenSSL::SSL::VERIFY_NONE
  req = Net::HTTP::Delete.new(uri.request_uri)
  res = http.request(req)
  JSON res
end
delete_template(id) click to toggle source
# File lib/gophish/api.rb, line 74
def delete_template(id)
  uri = URI.parse(@url + "/api/templates/#{id}?api_key=" + @key)
  http = Net::HTTP.new(uri.host, uri.port)
  http.use_ssl = true
  http.verify_mode = OpenSSL::SSL::VERIFY_NONE
  req = Net::HTTP::Delete.new(uri.request_uri)
  res = http.request(req)
  JSON res
end
get_campaign(id) click to toggle source
# File lib/gophish/api.rb, line 16
def get_campaign(id)
  uri = @url + "/api/campaigns/#{id}?api_key=" + @key
  res = open(uri, ssl_verify_mode: OpenSSL::SSL::VERIFY_NONE).read
  JSON res
end
get_campaigns() click to toggle source
# File lib/gophish/api.rb, line 10
def get_campaigns
  uri = @url + '/api/campaigns?api_key=' + @key
  res = open(uri, ssl_verify_mode: OpenSSL::SSL::VERIFY_NONE).read
  JSON res
end
get_group(id) click to toggle source
# File lib/gophish/api.rb, line 90
def get_group(id)
  uri = @url + "/api/groups/#{id}?api_key=" + @key
  res = open(uri, ssl_verify_mode: OpenSSL::SSL::VERIFY_NONE).read
  JSON res
end
get_groups() click to toggle source
# File lib/gophish/api.rb, line 84
def get_groups
  uri = @url + '/api/groups?api_key=' + @key
  res = open(uri, ssl_verify_mode: OpenSSL::SSL::VERIFY_NONE).read
  JSON res
end
get_page(id) click to toggle source
# File lib/gophish/api.rb, line 164
def get_page(id)
  uri = @url + "/api/pages/#{id}?api_key=" + @key
  res = open(uri, ssl_verify_mode: OpenSSL::SSL::VERIFY_NONE).read
  JSON res
end
get_pages() click to toggle source
# File lib/gophish/api.rb, line 158
def get_pages
  uri = @url + '/api/pages?api_key=' + @key
  res = open(uri, ssl_verify_mode: OpenSSL::SSL::VERIFY_NONE).read
  JSON res
end
get_smtp(id) click to toggle source
# File lib/gophish/api.rb, line 127
def get_smtp(id)
  uri = @url + "/api/smtps/#{id}?api_key=" + @key
  res = open(uri, ssl_verify_mode: OpenSSL::SSL::VERIFY_NONE).read
  JSON res
end
get_smtps() click to toggle source
# File lib/gophish/api.rb, line 121
def get_smtps
  uri = @url + '/api/smtp?api_key=' + @key
  res = open(uri, ssl_verify_mode: OpenSSL::SSL::VERIFY_NONE).read
  JSON res
end
get_template(id) click to toggle source
# File lib/gophish/api.rb, line 53
def get_template(id)
  uri = @url + "/api/templates/#{id}?api_key=" + @key
  res = open(uri, ssl_verify_mode: OpenSSL::SSL::VERIFY_NONE).read
  JSON res
end
get_templates() click to toggle source
# File lib/gophish/api.rb, line 47
def get_templates
  uri = @url + '/api/templates?api_key=' + @key
  res = open(uri, ssl_verify_mode: OpenSSL::SSL::VERIFY_NONE).read
  JSON res
end