Build from source code

There are two different project:
  • Mobile - Android
  • Desktop - Windows / Linux / macOS

Mobile Edition (Android)

Desktop Edition (Windows / Linux / macOS)

Sources are hosted on GitHub: https://github.com/AirVPN/Eddie

Repository contain the binary of tools used (openvpn, stunnel etc) already compiled for different architecture, for simplicity. Refer to Libraries and Tools.
In building, these binaries in some packages are included (for example AppImage or Portable editions), in some not (for example linux packages like Debian, OpenSuse etc, because it's expected that tools will be installed as dependencies).
The software automatically use tools if found it in bundle (same path), otherwise will search in your file system, or you can provide custom paths with options.

Desktop - Linux dependencies

  • The latest Mono: https://www.mono-project.com/
  • Packages: tar p7zip curl realpath mono-complete build-essential g++ liblzma.dev
  • Packages required for Debian builds: lintian dpkg-sig
  • Packages required for RPM builds: rpm
  • Optional: Mono-Develop for development/debugging.

Desktop - Windows dependencies

  • Visual Studio Community 2017

Desktop - macOS dependencies

  • Visual Studio for Mac
  • Xcode

Desktop - General build steps

There are scripts that build all kind of packages we support.
  • With terminal, goto /repository
  • Launch ./build_<your-os>.sh/.bat, for example under Linux ./build_linux.sh for building all possible packages, OR use a specific script (like /repository/linux_debian/build.sh ui)
  • Generated files will available in /repository/files
For debugging and development, use the solution project available in /src/*.sln (with Visual Studio for Windows, Visual Studio for Mac, or MonoDevelop under linux).

Additional notes

  • Build/deploy script contain code for advanced deploy like signing, notarization, deploy to our servers. This steps are ignored if the repo don't contain keys.