MCPcopy
hub / github.com/gophish/gophish

github.com/gophish/gophish @v0.12.1 sqlite

repository ↗ · DeepWiki ↗ · release v0.12.1 ↗
693 symbols 2,476 edges 101 files 343 documented · 49%
README

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 install github.com/gophish/gophish@latest 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 the official Docker container here.

Setup

After running the Gophish binary, open an Internet browser to https://localhost:3333 and login with the default username and password listed in the log output. e.g.

time="2020-07-29T01:24:08Z" level=info msg="Please login with the username admin and the password 4304d5255378177d"

Releases of Gophish prior to v0.10.1 have a default username of admin and password of 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 - 2020 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.

Extension points exported contracts — how you extend this code

TemplateContext (Interface)
TemplateContext is an interface that allows both campaigns and email requests to have a PhishingTemplateContext generate [4 …
models/template_context.go
Mail (Interface)
Mail is an interface that handles the common operations for email messages [3 implementers]
mailer/mailer.go
Worker (Interface)
Worker is an interface that defines the operations needed for a background worker [1 implementers]
worker/worker.go
Sender (Interface)
Sender represents a type which can send webhooks to an EndPoint [1 implementers]
webhook/webhook.go
AdminServerOption (FuncType)
AdminServerOption is a functional option that is used to configure the admin server
controllers/route.go
PhishingServerOption (FuncType)
PhishingServerOption is a functional option that is used to configure the the phishing server
controllers/phish.go
ServerOption (FuncType)
ServerOption is an option to apply to the API server.
controllers/api/server.go
PostLimiterOption (FuncType)
PostLimiterOption is a functional option that allows callers to configure the rate limiter.
middleware/ratelimit/ratelimit.go

Core symbols most depended-on inside this repo

Error
called by 277
mailer/mailer.go
JSONResponse
called by 154
controllers/api/response.go
escapeHtml
called by 62
static/js/src/app/gophish.js
query
called by 47
static/js/src/app/gophish.js
Close
called by 27
mailer/mailer.go
errorFlash
called by 24
static/js/src/app/gophish.js
ServeHTTP
called by 23
controllers/api/server.go
PostCampaign
called by 23
models/campaign.go

Shape

Function 353
Method 255
Struct 71
Interface 8
FuncType 4
TypeAlias 2

Languages

Go88%
TypeScript12%

Modules by API surface

controllers/route.go27 symbols
models/campaign.go26 symbols
mailer/mailer.go25 symbols
mailer/mockmailer.go24 symbols
controllers/phish_test.go22 symbols
models/group.go20 symbols
models/maillog_test.go19 symbols
models/group_test.go19 symbols
models/maillog.go18 symbols
static/js/src/app/campaign_results.js16 symbols
models/result.go15 symbols
models/campaign_test.go15 symbols

Dependencies from manifests, versioned

bitbucket.org/liamstask/goosev0.0.0-2015011523403 · 1×
github.com/NYTimes/gziphandlerv1.1.1 · 1×
github.com/alecthomas/templatev0.0.0-2019071801265 · 1×
github.com/alecthomas/unitsv0.0.0-2019092402574 · 1×
github.com/emersion/go-imapv1.0.4 · 1×
github.com/emersion/go-messagev0.12.0 · 1×
github.com/gophish/gomailv0.0.0-2020081802191 · 1×
github.com/gorilla/contextv1.1.1 · 1×
github.com/gorilla/csrfv1.6.2 · 1×
github.com/gorilla/handlersv1.4.2 · 1×

For agents

$ claude mcp add gophish \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact