EDGESEC
0.1.0-alpha.0+sha.ca29a8277b72f80785649ea9ef9cd7edf642d939
Secure router - reference implementation
|
edgesec defines a new architecture and toolset for edge based routers addressing fundamental security weaknesses that impact current IP and IoT router implementations.
For more information, please see the edgesec website: https://edgesec.info
On Debian/Ubuntu, build dependencies are listed in the debian/control
file.
You can use mk-build-deps
to automatically install these build-dependencies.
On other OSes, you can try to find dependencies yourself, or you can run the instructions in a new Ubuntu Docker or Podman container:
Compiling edgesec is done with CMake.
If you have CMake v3.22+, you can use the following cmake-presets
to compile edgesec:
A useful one-liner (i.e. for git rebase
) is the following, which given a preset, automatically configures, compiles (using all cores, but nice -n19
for lower CPU priority), tests (if a test config exists), then installs into the ./tmp
folder.
For older versions of CMake, or for manual configuration, please see the next headings for more details.
Configure cmake
in the build/
directory by running the following:
The configure stage will download some of the edgesec dependencies, so this may take a while.
To cross-compile edgesec, pass CMake a cmake-toolchain file.
For example:
In ./CMakeModules/CMakeToolchains
, we have some example toolchains that automatically download the OpenWRT SDK to cross-compile for specific OpenWRT SDK versions.
You can also make a new preset in the CMakePresets.json
file that points to this toolchain.
For production uses of edgesec, we recommend using the edgesec OpenWRT package feed at https://github.com/nqminds/manysecured-openwrt-packages
It comes with an /etc/init.d/edgesec
script that can be used to automatically run edgesec on startup.
Additionally, this package allows easy installation/uninstallation of edgesec.
To build, you can then run:
or to built on multiple core run:
-j4
means 4 jobs/threads, replace 4
with the amount of cores you want to use, equivalent to make -j4
.
After succesful compilation the binary will be located in ./build/src
folder.
To run edgesec
tool with the configuration file dev-config.ini
located in ./build
folder use:
To enable verbose debug mode use:
To compile the tests use:
To run each test individually, the test binaries can be located in ./build/tests
folder.
To compile the docs from ./build
folder:
See ./docs
for how to build the developer doxygen documentation website.