Class: GoPhish::Api

Inherits:
Object
  • Object
show all
Defined in:
lib/gophish/api.rb

Instance Method Summary collapse

Constructor Details

#initialize(url, key) ⇒ Api

Returns a new instance of Api.



5
6
7
8
# File 'lib/gophish/api.rb', line 5

def initialize(url, key)
  @url = url
  @key = key
end

Instance Method Details

#create_campaign(conf = {}) ⇒ Object



22
23
24
25
26
27
28
29
30
31
32
33
34
35
# 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 = {}) ⇒ Object



96
97
98
99
100
101
102
103
104
105
106
107
108
109
# 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 = {}) ⇒ Object



170
171
172
173
174
175
176
177
178
179
180
181
182
183
# 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 = {}) ⇒ Object



133
134
135
136
137
138
139
140
141
142
143
144
145
146
# 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 = {}) ⇒ Object



59
60
61
62
63
64
65
66
67
68
69
70
71
72
# 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) ⇒ Object



37
38
39
40
41
42
43
44
45
# 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) ⇒ Object



111
112
113
114
115
116
117
118
119
# 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) ⇒ Object



185
186
187
188
189
190
191
192
193
# 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) ⇒ Object



148
149
150
151
152
153
154
155
156
# 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) ⇒ Object



74
75
76
77
78
79
80
81
82
# 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) ⇒ Object



16
17
18
19
20
# 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_campaignsObject



10
11
12
13
14
# 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) ⇒ Object



90
91
92
93
94
# 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_groupsObject



84
85
86
87
88
# 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) ⇒ Object



164
165
166
167
168
# 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_pagesObject



158
159
160
161
162
# 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) ⇒ Object



127
128
129
130
131
# 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_smtpsObject



121
122
123
124
125
# 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) ⇒ Object



53
54
55
56
57
# 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_templatesObject



47
48
49
50
51
# 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