Skip to content

Build from source

Build

Make Dependencies

text
clang >= 10
llvm >= 10 (optional)
golang >= 1.26.0
make

Toolchain requirements depend on the source revision. This snapshot uses Go 1.26.0; consult its go.mod and build workflow.

Compilation

shell
git clone https://github.com/daeuniverse/dae.git
cd dae
git submodule update --init

Choose one build method:

shell
## Minimal dependency build
make GOFLAGS="-buildvcs=false" \
  CLANG=clang
shell
## Normal build
make
shell
## Cross compile
# To armv7 CPU architect:
make CGO_ENABLED=0 GOARCH=arm GOARM=7
shell
# To mips CPU architect:
make CGO_ENABLED=0 GOARCH=mips

Run

Runtime Dependencies

For traffic splitting, dae relies on the following data sources, geoip.dat and geosite.dat.

shell
sudo mkdir -p /usr/local/share/dae/
pushd /usr/local/share/dae/
sudo curl -L -o geoip.dat https://github.com/v2fly/geoip/releases/latest/download/geoip.dat
sudo curl -L -o geosite.dat https://github.com/v2fly/domain-list-community/releases/latest/download/dlc.dat
popd
shell
mkdir -p /usr/local/share/dae/
pushd /usr/local/share/dae/
curl -L -o geoip.dat https://github.com/v2fly/geoip/releases/latest/download/geoip.dat
curl -L -o geosite.dat https://github.com/v2fly/domain-list-community/releases/latest/download/dlc.dat
popd

Run

Download the example config file:

shell
curl -L -o example.dae https://github.com/daeuniverse/dae/raw/main/example.dae

See example.dae.

After fine tuning, run dae:

shell
sudo ./dae run -c example.dae
shell
./dae run -c example.dae

Note: Alternatively, you may run dae as a daemon (systemd) service. Check out more details HERE.


Source: dae upstream · AGPL-3.0 license.