Commit Graph

151 Commits (c315867ceac3c962e381f5d2f72ecd47163e8ecd)

Author SHA1 Message Date
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
Rob Cutmore 34021d9e3a Update comments for PutGroup function 2016-06-26 09:31:03 -04:00
Jordan Wright c5d6792bba Added /campaigns/:id/results endpoint to return campaign summary and make results page much quicker.
Fixes 282.
2016-06-07 22:31:55 -05:00
Jordan Wright 082023aae0 Adding the ability to schedule campaigns. Fixes #21 2016-06-07 21:42:09 -05:00
Jordan Wright 1933eb7ff1 Adding better error handling for SMTP server
JSBeautify sending_profiles.js
2016-05-30 14:53:32 -05:00
Jordan Wright 83a17e8c2d Added early catching of invalid template values. Fixes #193 2016-04-02 18:33:25 -05:00