Jordan Wright
47f0049c30
Refactor servers ( #1321 )
...
* Refactoring servers to support custom workers and graceful shutdown.
* Refactoring workers to support custom mailers.
* Refactoring mailer to be an interface, with proper instances instead of a single global instance
* Cleaning up a few things. Locking maillogs for campaigns set to launch immediately to prevent a race condition.
* Cleaning up API middleware to be simpler
* Moving template parameters to separate struct
* Changed LoadConfig to return config object
* Cleaned up some error handling, removing uninitialized global error in models package
* Changed static file serving to use the unindexed package
2018-12-15 15:42:32 -06:00
Jordan Wright
7fd0657a91
Support Re-enabling CapturePasswords for Landing Pages ( #1271 )
...
Fixed a bug when marking the capture password, saving and unmarking the capture password, the attribute does not comeback and the password will never be captured again for this template.
2018-11-11 12:34:26 -06:00
Jordan Wright
326649b177
Updating redirect URL to support template values. Fixes #1235
2018-10-15 16:42:05 -05:00
Jordan Wright
d6cbc1a936
Minor cleanup for campaign results
2018-10-08 10:49:21 -05:00
Jordan Wright
81da804761
Properly returning 404 error if the requested sending profile isn't found.
2018-10-07 12:37:15 -05:00
Jordan Wright
f39014bbfc
Moved template validation into separate function, and added validation for pages
2018-09-09 11:33:51 -05:00
Jordan Wright
0c5925aeec
Fixed template validation to better support the all the possible template tags. Fixes #1189
2018-09-08 18:04:21 -05:00
Jordan Wright
15e57b6cd0
Add {{.BaseURL}} template tag to provide the root URL for static files. Fixes #1182
2018-09-03 20:28:32 -05:00
Jordan Wright
7dcf30f277
Add Support for Timed Campaigns ( #1184 )
...
This builds on the work from @c-f in #1090 to fully add support for "timed" campaigns, in which the emails are spaced apart as opposed to all being sent at once.
2018-09-02 11:17:52 -05:00
Jordan Wright
9f334281ab
Added X-Mailer and X-Gophish-Contact headers (Ref: #1057 )
2018-06-18 21:37:59 -05:00
Jordan Wright
1efb71d1e9
Added transparency handler to return information JSON when a "+" is appended to a valid result ID (ref #1057 )
2018-06-09 20:58:05 -05:00
Jordan Wright
ebb6cd61b2
Implemented the ability to preview landing pages when sending a test email.
2018-06-08 21:20:52 -05:00
Jordan Wright
420410b52c
Refactored result updating to be in result.go.
...
Added the modified_date field to results so it's easy to keep track of the last results that were modified without having to parse every event. Updated the tests to reflect the changes.
2018-05-26 21:26:34 -05:00
Jordan Wright
5d23263898
Moved logging to logrus package. Not perfect yet (still want to update the access logs), but should set the foundation to make better logging in the future.
2018-05-03 19:07:41 -05:00
Jordan Wright
f21536da7c
Adding "Report Email" Support ( #1014 )
...
Adds the capability to report phishing campaigns using an email client extension.
**Note: Gophish does not currently provide an email client extension out of the box. This is simply a mechanism to let existing email client add-ons send report status information to Gophish, and have that information reflected in the dashboard.**
2018-03-18 22:03:00 -05:00
Jordan Wright
c9ff8714a0
Moved rid parameter to a separate constant. Fixes #911
2018-02-22 23:02:27 -06:00
Jordan Wright
3d58d8362e
Moved creation of URLs to net.URL instances to handle custom paths and parameters. Fixes #969
2018-02-22 22:11:28 -06:00
Konrads Smelkovs
29555085c0
If Subject is empty, don't set the header
...
Fixes #955
2018-02-10 13:46:08 -06:00
Jordan Wright
0f4ac70049
Fixed the way the initial admin is created to better support MySQL installations. Fixes #948
2018-02-08 19:04:59 -06:00
Shuhei Kitagawa
44afb2b965
Isolate model tests ( #933 )
...
* isolates Group model tests
* move SMTP related tests from models_test.go to smtp_test.go
* isolate Page model tests
* isolate Result model tests
2018-01-19 18:11:00 -06:00
Shuhei Kitagawa
55b0da4aa9
Separate user model test cases into a independent test file ( #930 )
2018-01-18 19:54:12 -06:00
Jordan Wright
e995b0fcb7
Adding ability to use template variables in the campaign URL. Fixes #844
2018-01-13 17:49:42 -06:00
Shuhei Kitagawa
405bc5effe
Refactor GetUserByUsername method not to suppress an error ( #920 )
...
Also adding some other tests for the User models.
2018-01-11 18:37:38 -06:00
Shuhei Kitagawa
db19f0ac2a
Remove redundant return nil statement in user.go ( #921 )
...
Removing some redundant statements in user.go.
Adding test cases for user models.
2018-01-11 18:11:57 -06:00
Jordan Wright
44154f3bf0
Removing duplicates in campaigns. Fixes #855
2017-12-11 22:12:17 -06:00
Jordan Wright
76ece15b71
Email refactoring ( #878 )
...
The initial pass at refactoring the way we send emails.
2017-12-09 15:42:07 -06:00
Jordan Wright
e785af5c0a
Disabled turboThreshold to allow campaign timeline renders for campaigns with > 1k events. Fixes #765
...
Moved datatables `draw()` functions to the end of a table render, rather than on every row
2017-09-26 21:29:15 -05:00
Jordan Wright
58a57589bd
Updates all datetimes to use UTC on the backend. This includes a DB migration to convert existing dates.
...
Fixes #316
2017-08-28 22:48:49 -05:00
Jordan Wright
75600f5812
Moved all charts from Chartist to Highcharts. Closes #680 .
2017-08-05 21:12:44 -05:00
Jordan Wright
269568148e
Phishing emails are now sent in "First Last <email@domain.com>" format.
2017-06-16 22:21:08 -05:00
Jordan Wright
b6653d5c94
Checks for input password fields are now case insensitive. Fixes #613
2017-05-26 20:18:51 -05:00
Jordan Wright
66c4be3d4f
Adding support for custom headers in sending profiles ( #544 )
...
Closes #215
Closes #128
2017-02-19 18:43:08 -06:00
Jordan Wright
ea7bb04156
Changed result ID's to be 7 random alphanumeric characters. Fixes #518
2017-01-27 21:16:47 -06:00
Jordan Wright
7453fd3b48
Added summary routes for groups.
...
Routes:
/api/groups/summary
/api/groups/:id/summary
The UI is now using these routes for the "Users & Groups" page.
2017-01-14 17:26:04 -06:00
Jordan Wright
8738ebbb35
Added campaign summary routes:
...
/api/campaigns/summary
/api/campaigns/:id/summary
This is part of #505
2017-01-05 21:48:54 -06:00
Jordan Wright
f12af50d46
Adding support for Mysql ( #442 )
...
Thanks, @svigne1!
Fixes #53
2016-11-19 10:37:22 -06:00
Jordan Wright
43cbc1d65f
Fixed issue with incomplete campaign creation with large user counts. Fixes #436 . Fixes #368
2016-11-18 22:01:38 -06:00
s vignesh
bf71082953
Correction in Generate Rid ( #424 )
2016-11-13 19:40:06 -06:00
Jordan Wright
b00e6746d5
Potential fix for database locking issue. Fixes #331
2016-08-02 23:28:22 -05:00
Jordan Wright
b403e97eee
Cleaning up some email sending bugs. Fixes #329
2016-08-02 23:18:53 -05:00
Rob Cutmore
2d4a755c2c
Check for specific error in group tests
2016-07-18 18:47:28 -04:00
Rob Cutmore
f9a15cfe3d
Add more tests for getting group(s)
2016-07-16 08:38:27 -04:00
Rob Cutmore
3a9bc91415
Add tests for getting group(s)
2016-07-16 07:53:56 -04:00
Rob Cutmore
b5b0f0ddf8
Use generic names for Group tests
2016-07-15 07:37:16 -04:00
Rob Cutmore
bc678878e2
Put User tests together
2016-07-15 07:31:44 -04:00
Rob Cutmore
e028806b5a
Add cleanup between tests for models
2016-07-15 07:28:11 -04:00
Jordan Wright
1dbf061d87
Implement the ability to complete a campaign. Fixes #290 .
...
First implementation of new alert format.
2016-07-11 22:11:40 -05:00
Rob Cutmore
92f4ca6a90
Add empty attribute test for PutGroup
...
If passing a Target instance to the database Updates method then
empty attributes will be ignored. Using a map[string]interface
ensures all changed attributes, even empty ones, are persisted to
database.
2016-07-04 06:39:38 -04:00
Rob Cutmore
731c621095
Add test for PutGroup function
2016-07-02 18:22:44 -04:00
Rob Cutmore
ec1c711b9b
Allow group targets to be updated, fixes #18
2016-07-02 08:01:24 -04:00