No description
Find a file
Jordan Wright 546da4ee7d Removing unneeded query to improve group performance.
As mentioned in #1702, the query in `insertTargetIntoGroup` isn't needed, since both instances where it's used we already know that the target isn't in the group. This means it's safe to remove that query, improving performance dramatically.

Before:

```
BenchmarkPostGroup100-4     	      81	  12629754 ns/op	 2989993 B/op	   52918 allocs/op
BenchmarkPostGroup1000-4    	       6	 189527792 ns/op	29891818 B/op	  528082 allocs/op
BenchmarkPostGroup10000-4   	       1	6203645806 ns/op	299253648 B/op	 5282859 allocs/op
BenchmarkPutGroup100-4      	     100	  10221833 ns/op	 2589165 B/op	   46078 allocs/op
BenchmarkPutGroup1000-4     	       7	 162692432 ns/op	25812440 B/op	  458425 allocs/op
BenchmarkPutGroup10000-4    	       1	7596445084 ns/op	260385808 B/op	 4581569 allocs/op
```

After:

```
BenchmarkPostGroup100-4     	     133	   8848973 ns/op	 2354605 B/op	   42322 allocs/op
BenchmarkPostGroup1000-4    	       9	 112557410 ns/op	23549206 B/op	  422184 allocs/op
BenchmarkPostGroup10000-4   	       1	3414209403 ns/op	235635952 B/op	 4222090 allocs/op
BenchmarkPutGroup100-4      	     147	   8094333 ns/op	 2271297 B/op	   40777 allocs/op
BenchmarkPutGroup1000-4     	       9	 125092124 ns/op	22635067 B/op	  405421 allocs/op
BenchmarkPutGroup10000-4    	       1	5712591900 ns/op	228592920 B/op	 4051316 allocs/op
```
2020-01-16 20:41:13 -06:00
ansible-playbook Ansible zip folder reorg (#1002) 2018-03-13 19:53:20 -05:00
auth Implement User Management API (#1473) 2019-05-31 13:58:18 -05:00
config Add support for encrypted connections to mysql (#1460) 2019-06-03 22:04:54 -05:00
context Fixed various minor linting issues 2018-12-15 21:38:51 -06:00
controllers Deleted unneeded .DS_Store file that was accidentally merged as part of #1642. 2020-01-14 23:19:33 -06:00
db Fix webhooks db migration. (#1697) 2019-12-18 17:57:13 -06:00
doc Adding first draft of CONTRIBUTING file and CLA. Fixes #57 2016-01-13 23:05:17 -06:00
docker Improved Dockerfile and run script (#1579) 2019-10-06 20:18:06 -07:00
logger Fixed various minor linting issues 2018-12-15 21:38:51 -06:00
mailer Refactor servers (#1321) 2018-12-15 15:42:32 -06:00
middleware Implement User Management API (#1473) 2019-05-31 13:58:18 -05:00
models Removing unneeded query to improve group performance. 2020-01-16 20:41:13 -06:00
static Minor cleanup on webhook feature integration 2019-12-15 22:07:55 -06:00
templates Minor cleanup on webhook feature integration 2019-12-15 22:07:55 -06:00
util Implement User Management API (#1473) 2019-05-31 13:58:18 -05:00
webhook Minor cleanup on webhook feature integration 2019-12-15 22:07:55 -06:00
worker Fixed various minor linting issues 2018-12-15 21:38:51 -06:00
.babelrc Implement User Management API (#1473) 2019-05-31 13:58:18 -05:00
.gitattributes Implement the ability to complete a campaign. Fixes #290. 2016-07-11 22:11:40 -05:00
.gitignore Add Webhook Support 2019-12-15 20:27:21 -06:00
.travis.yml Added gofmt requirement to CI 2019-12-15 22:13:19 -06:00
config.json Moving logging configuration into its own section of the config 2018-10-06 17:51:49 -05:00
CONTRIBUTING.md Adding first draft of CONTRIBUTING file and CLA. Fixes #57 2016-01-13 23:05:17 -06:00
Dockerfile Updated the Dockerfile to allow the gophish binary to bind to privileged ports. Fixes #1660. 2019-11-23 21:28:32 -06:00
gophish.go Implement User Management API (#1473) 2019-05-31 13:58:18 -05:00
gulpfile.js Implement User Management API (#1473) 2019-05-31 13:58:18 -05:00
ISSUE_TEMPLATE.md Create ISSUE_TEMPLATE.md 2017-11-01 21:06:24 -05:00
LICENSE Updated dates on license and readme. 2017-02-19 19:15:42 -06:00
package.json Implement User Management API (#1473) 2019-05-31 13:58:18 -05:00
README.md Remove support for Go 1.9. 2019-12-11 20:06:04 -06:00
VERSION Bumped version to 0.7.1 for template tag hotfix 2018-09-09 11:34:30 -05:00
webpack.config.js Minor cleanup on webhook feature integration 2019-12-15 22:07:55 -06:00
yarn.lock Bump lodash from 4.17.11 to 4.17.15 (#1509) 2019-11-12 20:06:35 -06:00

gophish logo

Gophish

Build Status GoDoc

Gophish: Open-Source Phishing Toolkit

Gophish is an open-source phishing toolkit designed for businesses and penetration testers. It provides the ability to quickly and easily setup and execute phishing engagements and security awareness training.

Install

Installation of Gophish is dead-simple - just download and extract the zip containing the release for your system, and run the binary. Gophish has binary releases for Windows, Mac, and Linux platforms.

Building From Source

If you are building from source, please note that Gophish requires Go v1.10 or above!

To build Gophish from source, simply run go get github.com/gophish/gophish and cd into the project source directory. Then, run go build. After this, you should have a binary called gophish in the current directory.

Docker

You can also use Gophish via an unofficial Docker container here.

Setup

After running the Gophish binary, open an Internet browser to https://localhost:3333 and login with the default username (admin) and password (gophish).

Documentation

Documentation can be found on our site. Find something missing? Let us know by filing an issue!

Issues

Find a bug? Want more features? Find something missing in the documentation? Let us know! Please don't hesitate to file an issue and we'll get right on it.

License

Gophish - Open-Source Phishing Framework

The MIT License (MIT)

Copyright (c) 2013 - 2018 Jordan Wright

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software ("Gophish Community Edition") and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in
all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
THE SOFTWARE.