Phishing Club works with most linux distros and has install and update functionallity for distros with systemd.
We recommend to deploying were it is possible to scale the hardware to accommodate for actual usage patterns.
Minimum | Recommended | |
---|---|---|
Operating System | Linux distro | Ubuntu 24.10 |
CPU | 1 core (64-bit) | 2 core (64-bit) |
RAM | 1 GB | 2 GB |
Download the newest version from
the downloads page.
A license key is required to use Phishing Club, it can be found and copied from the dashboard page.
Running the binary with the --install
flag will start a interactive installer,
that helps by filling out a bit of configuration, install dependencies, creates a
phishingclub
user and group, sets up a system service and copies the binary to
/opt/phishingclub
.
This ensures that the binary runs with a unpriviliged user and automatically starts up on reboots.
If you want to manage the installation yourself, you can use --help
command to get
more information.
scp ./phishingclub [email protected]/tmp/
Copy the file to the target and make it executable.
scp ./phishingclub [email protected]/tmp ssh [email protected]/tmp cd /tmp chmod +x /tmp/phishing.club
Run the interactive installer and set the initial configuration.
/tmp/phishingclub --install
The interactive installer has the following options:
Option | Description | Default value |
---|---|---|
HTTP Port | The HTTP (unencrypted port) for the phishing server. | 80 |
HTTPS Port | The HTTPS (TLS) for the phishing server. | 443 |
Admin Port | The HTTPS (TLS) port for the administration server. | Random port |
Admin Host | The hostname used for TLS certificate for the administration server. Example: the IP or your-domain.tld. | localhost |
Use Auto TLS | If set to true gets TLS certificate from LetsEncrypt.If set to false creates a self signed certificate. | false |
Verify and setup the administrative account.
After the installation completes it will output server details and credentials.
You must copy credentials to setup the admin account.
Key | Description |
---|---|
Password | Random generated password.
Changes if the service has restarted before account is setup. |
Phishing HTTP server | The address that is serving the HTTP phishing server. |
Phishing HTTPS server | The address that is serving the HTTPS phishing server. |
Admin server | The address that is serving the HTTPS administration server. |
After completing the install, an inital setup must be completed before Phishing Club is ready for use.
If the application has been restarted after the install, then you must get the password from the logs.
Enter the username admin
and the password from the installer output.
Setup the new admin account.
Add the license code.
Complete the setup
Congratulations - Phishing Club is installed and ready for use.
Phishing Club will regulary check if there is a new version available.
When a new update is ready, the Update Available
icon is shown in the bottom right
corner.
Click the Update
and confirm the update.
Download the binary by clicking the Update
button.
If the service is running via. systemd and installed with the --install
flag you
can perform the update using the --update
on the newest binary.
--update
flag.If the instance is manually setup, then replace the currently deployed binary with the latest and restart the service.
If installed using the --install
, then a uninstall can be done with the
--uninstall
flag.
Uninstall removes the user/group, systemd service, and all files including the database.
./phishingclub --uninstall
Type 'YES' in capital letters to confirm when prompted.
--uninstall
flag.The configuration file config.json
handled by the -config
flag lets you
customize different aspects of Phishing Club.
A restart is required for configuration changes to take effect.
The config is JSON and has the following properties:
Key | Default value | Description |
---|---|---|
acme.email | Empty string | The email to use for ACME. Read more here. |
administration.tls_host | localhost | The hostname used for TLS certificate for the administration server. Example: the IP or your-domain.tld. |
administration.tls_cert_path | Empty string | Path to self signed certificate. |
administration.tls_cert_key | Empty string | Path to self signed key. |
phishing.http | 80 | The HTTP port for the phishing server. |
phishing.https | 443 | The HTTPS (TLS) for the phishing server. |
database.engine | sqlite3 | The database engine used. |
database.dsn | file:./db.sqlite3 | The database DSN. |
config.path | Empty string | If supplied outputs stdout to a file |
config.errorPath | Empty string | If supplied outputs stderr to a file. |
ip_security.admin_allowed | Empty array | An array of IP's that are allowed to access to the administration server. Empty means all IP's can access it. |
ip_security.trust_proxies | Empty array | An array of IP's which are trusted to forward client IP information. See how the it works here This is important to set when the administration server is served via. a proxy. |
ip_security.trusted_ip_header | Empty string | Specific header value that is trusted for forwarding IP information. |