README: build on Linux

This commit is contained in:
Daniel Brahneborg 2025-12-08 07:35:54 +01:00
parent 3d614616a3
commit c526f4a037

View file

@ -10,15 +10,22 @@ It assumes UFW for now.
- For a.b.c.0 and a.b.c.1 you will get a block on a.b.c.0/31. - For a.b.c.0 and a.b.c.1 you will get a block on a.b.c.0/31.
- For a.b.c.0 and a.b.c.255 you will get a block on a.b.c.0/24. - For a.b.c.0 and a.b.c.255 you will get a block on a.b.c.0/24.
- You will also get a block on a.b.0.0/16, if there are at least 4 blacklisted IP blocks on the form a.b.z.0, for any z. - If there are at least 4 blacklisted IP blocks on the form a.b.z.0, for multiple values of z, you will also get a block on a.b.0.0/16.
## Building ## Building
The easiest way to build this is to use Docker. ### On a Linux machine.
- The Dockerfile shows which tools and libraries are needed, even though in your particular Linux distribution the packages may be called something else.
- Then go to the src directory and run `cmake .` and `make`.
### On a non-Linux machine.
Here we use Docker.
1. Install the Docker command line client on your machine. 1. Install the Docker command line client on your machine.
1. Run `./build.sh`. This will build a binary for aarch64 or x84_64, depending on your host. 1. Run `./build.sh`. This will build a binary for aarch64 or x84_64, depending on your host.
1. You can also add the parameter `arm` or `x86` to the `./build.sh` script to build for a particular architecture. 1. You can add the parameter `arm` or `x86` to the `./build.sh` script to build for a particular architecture, if your host machine supports that.
1. The result will be a binary in the `bin` sub directory. 1. The result will be a binary in the `bin` sub directory.
1. You can then run `./run.sh` for an interactive environment. In this case the full repo will be copied to new `repo-x` directory (where `x` depends on the architecture), so your changes do not disappear when the Docker container exits. This script also takes the parameter `arm` or `x86`. 1. You can then run `./run.sh` for an interactive environment. In this case the full repo will be copied to new `repo-x` directory (where `x` depends on the architecture), so your changes do not disappear when the Docker container exits. This script also takes the parameter `arm` or `x86`.