Manual installation on Linux

System requirements

  • At least 1GB of RAM
  • Distributions with Kernel >= 4.15
  • ARM64 or AMD64 architecture
  • CTFreak configuration folder must not be located on a network drive
  • An active internet connection during installation
  • An active internet connection for at least 2 hours per day to allow license check (only required for the STARTUP & PRO Edition)

Installing

To install CTFreak as a service, we will rely on systemd which is present on most distributions.

Copy latest ctfreak binary to /usr/local/bin and make the file executable:

sudo curl https://ctfreak.com/download/release/latest/linux/amd64 --output /usr/local/bin/ctfreak
# OR "sudo curl https://ctfreak.com/download/release/latest/linux/arm64 --output /usr/local/bin/ctfreak" for ARM64 architecture
sudo chmod +x /usr/local/bin/ctfreak

Create systemd service file:

sudo touch /etc/systemd/system/ctfreak.service
sudo chmod 664 /etc/systemd/system/ctfreak.service

Create/Choose a user account to run CTFreak, we’ll call it myuser for now

Edit /etc/systemd/system/ctfreak.service (replace myuser with your real user):

[Unit]
Description=Run CTFreak server
After=network.target

[Service]
Type=simple
Restart=on-failure
ExecStart=/usr/local/bin/ctfreak run
User=myuser
Group=myuser
LimitNOFILE=100000
LimitNOFILESoft=100000
# Uncomment if proxy is needed to check the license key:
#Environment="HTTPS_PROXY=http://user:password@proxy.local:8080"

[Install]
WantedBy=multi-user.target

Enable & start CTFreak:

sudo systemctl daemon-reload
sudo systemctl enable ctfreak
sudo systemctl start ctfreak

At startup, CTFreak will create its dedicated config folder $HOME/.config/ctfreak to store its configuration file, embedded database and log files.

Navigate to http://localhost:6700.

Log in with the default user: admin / password: ctfreak.

To complete this installation, we encourage you to configure a reverse proxy and update the global settings.

Upgrading

Update /usr/local/bin/ctfreak with new binary and restart the service:

sudo curl https://ctfreak.com/download/release/latest/linux/amd64 --output /usr/local/bin/ctfreak
# OR "sudo curl https://ctfreak.com/download/release/latest/linux/arm64 --output /usr/local/bin/ctfreak" for ARM64 architecture
sudo systemctl restart ctfreak

Uninstall

Execute:

sudo systemctl stop ctfreak
sudo systemctl disable ctfreak
sudo systemctl daemon-reload
sudo rm /etc/systemd/system/ctfreak.service
sudo rm /usr/local/bin/ctfreak