mirror of
https://github.com/daeuniverse/dae.git
synced 2025-02-01 02:14:55 +07:00
e39ec7fc05
* refactor(/docs): rework documentation structure layout * refactor(/docs): update file reference paths * feat(/docs): add English version of other-proxy-protocol.md * refacotr: move docs/templates/ docs/sync/ to hack/ * fix(example.dae|readme): update ref link to adopt new file structure * refactor: rename other-proxy-protocol.md -> proxy-protocols.md * docs(readme): add ref to proxy-protocols.md * feat(/docs): add English version of how-it-works.md * refactor: rename how-it-works; add nav links * fix: fix linting errors * fix: fix linting errors --------- Co-authored-by: earrmouth <43926351+earrmouth@users.noreply.github.com>
1.4 KiB
1.4 KiB
Build Guide
Build
Make Dependencies
clang >= 10
llvm >= 10 (optional)
golang >= 1.18
make
Compilation
git clone https://github.com/daeuniverse/dae.git
cd dae
git submodule update --init
## Minimal dependency build
make GOFLAGS="-buildvcs=false" \
CFLAGS="-D__REMOVE_BPF_PRINTK" \
CC=clang
## Normal build
#make
## Cross compile
# To armv7 CPU architect:
#make CGO_ENABLED=0 GOARCH=arm GOARM=7
# 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.
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:
curl -L -o example.dae https://github.com/daeuniverse/dae/raw/main/example.dae
See example.dae.
After fine tuning, run dae:
./dae run -c example.dae
Note
: Alternatively, you may run dae as a daemon (systemd) service. Check out more details HERE.