If you want to deploy KillBot on your own server, you will need:
-
Your own VPS. We recommend at least 2 CPU cores, 2 GB RAM, and 10 GB disk space. If your website has high traffic, use a larger disk so log files do not fill up the storage.
-
Operating System: Ubuntu 22.04
-
Choose one of the installation methods:
-
Automatic installation from our website.
Simply enter your server SSH username and password, and KillBot will be installed automatically: https://my.kill-bot.net/vps/install-killbot/manual -
Manual installation.
Download the installation shell script and run it on your server. The installation instructions are below. Installation script: https://data.kill-bot.net/killbot_dns/kb_install.sh
-
For manual installation, run the following commands in the Ubuntu terminal:
sudo apt update
apt-get install wget
wget https://data.kill-bot.net/killbot_dns/kb_install.sh -O kb_install.sh
chmod +x kb_install.sh
yes '' | sudo DEBIAN_FRONTEND=noninteractive NEEDRESTART_MODE=a ./kb_install.sh
That's all. The installer will automatically download all required KillBot files and create the necessary Apache2 configuration files.
To update KillBot later, simply run:
sudo /opt/killbot/UpdateAll.sh
Configure KillBot from your account on KillBot.ru
After installing KillBot on your server, no additional server configuration is normally required. You can simply leave the server running and manage everything from your KillBot account. Just enter the IP address of your KillBot server in the project settings, and your websites will automatically connect to it.
If you want to customize KillBot or integrate it into your own software
The sections below describe the file structure, available command-line tools, and other technical details for advanced users.
KillBot file structure
The kb_install.sh installation script configures Nginx + Apache2 to work as a reverse proxy. It also automatically installs Let's Encrypt SSL certificates to provide secure HTTPS connections. Your website's DNS A record should point to your KillBot server. KillBot will forward requests to your website server only after the verification page has been successfully completed.
KillBot stores its files in:
/opt/killbot
Main files:
-
Verification page:
/opt/killbot/html/verification.phpYou may modify this file if necessary, but be careful not to break its functionality. -
Layer 7 DDoS protection:
/opt/killbot/f2b/subnet-monitor.shThis script monitors the Nginx access log and automatically blocks IP ranges that send more than 1500 requests per minute. It provides effective protection against HTTP flood attacks, even when attackers use valid HTTP requests.
Configuration file:
/opt/killbot/f2b/subnet-monitor.shWhitelist of IP addresses that should never be blocked:
/opt/killbot/f2b/subnet-monitor-whitelist.conf -
Block all countries except allowed ones:
/opt/killbot/f2b/block_all_countries_exept.shConfiguration file:
/opt/killbot/f2b/block_all_countries_exept.config
Using your own SSL certificate
If you want to use your own SSL certificate instead of Let's Encrypt:
- In your domain settings, set "Issue Let's Encrypt Certificate" to "No".
- Upload your SSL certificate files to:
/opt/killbot/ssl/domain.com/
Replace domain.com with your own domain name. Create this directory if it does not already exist. -
Place the following two certificate files into this directory:
Certificate private key:
/opt/killbot/ssl/domain.com/privkey.pemCertificate chain:
/opt/killbot/ssl/domain.com/fullchain.pemThe filenames must be exactly as shown above.

-
After uploading your SSL certificate files, click "Reload DNS" in your project settings on KillBot.ru. This reloads the web server configuration and applies the new certificate.
Before connecting the KillBot Screen to your domain
- Change your domain's DNS A record so that it points to your KillBot server IP address.
- Remove the AAAA (IPv6) DNS record. Currently KillBot supports IPv4 only.
Connecting your website to KillBot Screen
Websites should always be connected through the KillBot.ru web interface. Simply specify the IP address of the server where KillBot is installed. When a website is connected, KillBot automatically creates the required Nginx and Apache configuration files to proxy traffic to your website.
-
/etc/apache2/sites-available/domain-killbot.conf
Apache configuration with the KillBot Screen enabled. All website traffic passes through KillBot and is analyzed before reaching your website. -
/etc/apache2/sites-available/domain.conf
Reverse proxy configuration without KillBot protection. Traffic still passes through the KillBot server, but visitors are not checked. This configuration is used when you temporarily disable the KillBot Screen.
Important
You can connect the KillBot Screen to a website only after the domain name already resolves to your KillBot server. Before that, Let's Encrypt cannot issue an SSL certificate because it cannot verify domain ownership.
After changing the DNS A record to your KillBot server, wait until DNS changes have propagated. This usually takes 5 to 30 minutes.
Managing KillBot Screen
The commands below allow you to enable or disable the KillBot Screen directly on your server for each connected domain.
Replace domain.com with your own domain name.
-
Enable KillBot Screen:
sudo kb ensite domain.com -
Disable KillBot Screen (traffic will still pass through the KillBot server, but visitors will not be checked):
sudo kb dissite domain.com -
Reload Apache with the KillBot configuration:
sudo kb reload
How KillBot works
After installation, KillBot acts as a reverse proxy between visitors and your website.
The connection flow is:
- Visitors connect to the KillBot server.
- KillBot analyzes the request and checks whether the visitor is a real user or a bot.
- If verification is successful, KillBot forwards the request to your website server.
- Your website responds to KillBot.
- KillBot returns the response to the visitor.
Because of this architecture, your website server receives requests only from KillBot server IP addresses. This allows KillBot to filter unwanted traffic before it reaches your website.
For most users, no manual server configuration is required after installation. Simply manage your websites and settings through your account on KillBot.ru.
Need more customization?
KillBot is fully open for advanced configuration. You can modify the verification page, adjust DDoS protection rules, customize Apache and Nginx settings, or integrate KillBot into your own infrastructure.
However, unless you have special requirements, we recommend using the default configuration, which is optimized for most websites.