Commit graph

58 commits

Author SHA1 Message Date
Jordan
3dd22e8d7c Moved JSON encoding to helper function because DRY. 2014-05-29 11:57:33 -05:00
Jordan
7b39096e3f Added async settings update
Removed /settings GET endpoint (not needed, since AngularJS in use)
TODO: Move the anon struct in use to a model as appropriate
2014-05-28 23:29:41 -05:00
Jordan
25cbaf92ce Changed templates to have a 1-1 relationship with user (will implement sharing differently later)
Working on implementing /api/template/:id methods
Removed API_Campaigns_Id_Launch method (will just POST using template from angularjs scope later)
2014-05-28 18:48:30 -05:00
Jordan
9b216c5466 Major design change - more dashboard-ish.
Working on more angularjs + gophish abstraction. Gophish for backend, AngularJS for the frontend
Moved templates to partials for angular
Using FlatUI color scheme
2014-05-26 20:29:12 -05:00
Jordan
8c1bb58fe2 Added validation for campaigns... I'm considering making everything branch off of a Model Interface with Get(), Put(), Post(), and Delete(), etc. Might make things cleaner.
Added better error messages on the UI side
2014-03-28 00:21:42 -05:00
Jordan
7c50f4dbb4 Initial commit of worker.go (Still work to do)
Moved constants to models.go
Changed Campaign.Template to be an actual template (will need to adjust all the methods to handle it)
Added UpdateCampaignStatus function to update a campaign status
2014-03-27 23:31:51 -05:00
Jordan
f0e7ac46c8 Integrated gorm with templates - Gorm integration complete
Updated groups to belong to one user. I may make a Team and TeamGroups, and TeamUsers m2m relationships later.
Added another test - more on the way soon.
2014-03-27 13:19:57 -05:00
Jordan
5740ee3273 Fixed bug in POSTing campaign
Removed gorp initialization code from models.go
2014-03-26 14:50:16 -05:00
Jordan
e137126a90 Working on gorm integration
TODO:
[ ] Finish up groups (many-to-many with group_targets)
[ ] Convert Template models
2014-03-25 23:53:51 -05:00
Jordan
584d7dbc23 Major refactoring - modularized models into separate files. Removed db package (moved to models)
I will be looking to migrate to gorm (instead of gorp) soon!
2014-03-24 22:31:33 -05:00
Jordan
4dd9a5cc53 Checking for no targets on PUT /groups/:id 2014-03-24 19:12:04 -05:00
Jordan
b3e3dd8ff1 Added "templates" Template, View, and Route
Added "unsafe" filter per stackoverflow
Updated side nav to include links to "/templates"
2014-03-18 15:20:34 -05:00
Jordan
ef371f68bd Set StrictSlash on API router to automatically redirect to correct url if slash is not provided 2014-03-18 13:58:08 -05:00
Jordan
9b94971a1d Implementing Template API calls (todo: PUT, DELETE)
Cleaning up documentation for templates
Bugfix for DB Tables
2014-03-16 22:18:48 -05:00
Jordan
3f30d08bf5 Working on implementing templates 2014-03-16 22:02:06 -05:00
Jordan
5f1bd43344 Working on adding campaign results page 2014-03-13 15:12:03 -05:00
Jordan
77ea41c2f9 Added some error checking
Added flashes on campaign modal (coming soon to group modal)
2014-02-19 19:40:23 -06:00
Jordan
1e52267bfa Added ability to create campaigns
Need to improve GetCampaign() and GetCampaigns() to include Results and Groups
2014-02-18 14:22:16 -06:00
Jordan
2420e19e15 Implemented DELETE /api/groups/:id 2014-02-13 12:05:22 -06:00
Jordan
631cd1ad13 Fixed the way Angular POSTS data
Added error code to checkError to support responses such as BadRequest, NotFound, etc.
2014-02-12 10:43:54 -06:00
Jordan
cdc776ec03 Implemented PUT /api/groups/:id
Updated documentation of functions in db module (other modules to come)
Created consistency in API documentation
2014-02-11 17:32:29 -06:00
Jordan
c68bb5ab71 Added Swagger API Docs
Will work on trying to make the look more consistent later.
2014-02-11 11:39:36 -06:00
Jordan
eb8491c144 Implemented ChangePassword() (now password can be changed from /settings)
A couple of UI fixes in tables
2014-02-10 13:02:44 -06:00
Jordan
d72bc4b7df Updated interfacing with ng-table module. Will propagate changes to campaigns soon.
Updated footer copyright year
Cleaned up tables in templates
2014-02-10 01:15:36 -06:00
Jordan
b471a886e3 Updated angular ui to support adding group
Updated POST /api/groups/ to successfully add group
Fixed CSRF in API issue
Moved PUT and DELETE to /api/groups/:id (TODO: Implement)
Changed SQL to use user_id instead of API key
It is now possible to add a new group! Will propagate logic to campaigns soon.
2014-02-09 19:34:47 -06:00
Jordan
6cbc47e80c Added ng-table support (for future pagination, sorting, etc.)
Created services for campaigns/groups
Changed modals to be binded to the data. Will improve on this soon!
Added trailing slash to api endpoints (I hope to be able to remove this later)
2014-02-07 19:40:16 -06:00
Jordan
f1aade0bfa Quick bugfixes
Added dropdown to dashboard table
2014-02-06 21:36:00 -06:00
Jordan
12d86c7e13 Moved Group insertion to db.PostGroup()
Stubbed db.DeleteGroup()
Added better logging to db (Logging to come soon for all other packages)
2014-02-06 19:16:29 -06:00
Jordan
cfd4e23b2b Updated API (/api/groups) 2014-02-06 13:30:05 -06:00
Jordan
4b97a88238 Fixed issues with GET /api/groups
Group names must now be unique (there's a bug here, but it will be fixed soon!)
2014-02-06 11:14:51 -06:00
Jordan
40cd2ae837 Cleaned up some errors
Implemented using db.* helpers (ie GetUser)
Implemented ChangePassword (not reachable from UI currently)
Fixed angular issue in settings.html template
2014-02-06 10:49:53 -06:00
Jordan
af7a8f4c4e Added easier support for Flashes
Moving DB access (as much as possible) into `db` package.
2014-02-05 10:57:53 -06:00
Jordan
0bb9dc186c Finished implementing first version of GET, POST /api/groups 2014-02-04 21:53:11 -06:00
Jordan
fb6cdb5caf Implementing /api/groups functionality. POST is almost working :) 2014-02-04 21:08:09 -06:00
Jordan
50292da53f Implemented Registration
Created auth.GenerateSecureKey to handle generating API Keys
2014-02-04 18:39:01 -06:00
Jordan
359fa01c1c Cleaned up csrf exemptions
Cleaned up models
Added UNIQUE constraint on many-many tables
Added form parsing/ userid from API key lookup in middleware
2014-02-04 15:23:09 -06:00
Jordan
7045c7f3e2 Refined CSRF Protection Exempt Glob (/api/* to /api/*/*) to provide CSRF protection /api/reset
Added stub for /api/campaigns/:id/launch
2014-02-03 23:41:31 -06:00
Jordan
e0e15221b1 Updated README
Added CSRF Protection to login, /api/reset functions
Added auto highlighting of API key when clicked
2014-02-03 17:21:56 -06:00
Jordan
ca884fd384 Implemented Logout function 2014-02-02 16:55:26 -06:00
Jordan
43417d160f Cleaning up some broken links
Changed default admin password to 'gophish'
Fixed bug in POST /api/campaigns
Starting to implements groups and users functionality
2014-02-02 16:37:36 -06:00
Jordan
e312e90570 Added ability to reset API token
Cleaned up session flash handling
2014-02-02 14:47:06 -06:00
Jordan
2cfe2b8f8f Cleaning up documentation
Added targets, groups, group_target tables
2014-02-01 16:35:16 -06:00
Jordan
3edcc11e61 Cleaning up router
/campaigns - depreciated
/api/doc - now /api/
2014-01-31 21:49:35 -06:00
Jordan
87fbd41184 Changing int to int64
Starting to implement angularjs
Implemented /api/campaigns/:id GET
Changed template delims to {{% and %}}
2014-01-31 20:49:22 -06:00
Jordan
c4c57639e2 Implemented POST /api/campaigns
Renamed "apikey" table to "api_key" for consistency
Bug fix in checkError()
2014-01-31 16:25:02 -06:00
Jordan
6802fe6800 Changed to indent JSON
Changed default username to admin (instead of jordan)
2014-01-30 23:11:06 -06:00
Jordan
c60b9d584b - Working on implementing the API (started working on /api/campaigns)
- Implemented APIKey middleware
- Changed settings template to look a bit nicer and to, you know, work.
2014-01-30 22:46:25 -06:00
Jordan
e9aa8d2c88 Updated settings template and route to show basic user info 2014-01-30 15:15:12 -06:00
Jordan
c59415a133 Adding some models - Incorporated use of gorp package to allow ORM'ish functionality 2014-01-30 15:08:14 -06:00
Jordan
6944854005 Added support for --setup flag to reset database 2014-01-12 22:39:40 -06:00