This bot automatically sets bans when it detects clients with specific patterns known from bots that evade bans and (probably) log channels.
The pattern is roughly as follows:
- Nickname, Ident and Real name are the same (Ident shortened down to first 9 characters)
- Client joins a very high amount of channels.
- Client is not identified.
- Client generates nicknames from a preset of words and random numbers.
- Client connects from various IP addresses (botnet)
- It optionally quits very soon with an "Excess Flood" message due to it spamming channel joins.
go get -v github.com/icedream/vpnbot
Make sure your GOPATH is set properly and that you have PATH also pointing at your GOPATH binary folder.
Docker allows an easy, isolated setup of vpnbot.
- Make sure you have Docker installed properly on your system.
- If you haven't yet, generate a configuration with this command:
docker run --rm -v /path/to/your/data:/data icedream/vpnbot vpnbot -generate
- Edit the resulting
config.yml
to your needs, you'll probably need root permissions for this. - Start up a container with Docker like this:
docker run --rm -d -v /path/to/your/data:/data icedream/vpnbot
- Check if the bot started up correctly using
docker logs <printed container ID here>
.
Alternatively, after step 3 you can use docker-compose
with a YAML configuration like this:
bot:
image: icedream/vpnbot
volumes:
- "./data:/data"
First, generate a default configuration in a new folder:
mkdir vpnbot
cd vpnbot
vpnbot -generate
This will generate config.yml
- the file path can be changed by appending -config "<your own path here>"
. Edit this file to your needs, then rerun the bot without -generate.
vpnbot
Again, optionally add -config "<your own path here>"
if you use your own path to the configuration file.
This work is licensed under the GNU General Public License Version 3. For more information check LICENSE.txt.