Skip to content

Build IPOP for Ubuntu and Raspberry Pi

Vahid Daneshmand edited this page Jan 31, 2020 · 8 revisions

Build IPOP for Ubuntu and Raspberry Pi

Description
Tested on Ubuntu 18.04 x64
Raspbian Buster on Raspberry Pi 3 and 4
Time ~ 15 Minutes

Download and Install Dependencies

sudo apt update -y
sudo apt install -y git make libssl-dev g++-5 python3 python3-pip python3-dev
sudo -H pip3 install --upgrade pip
sudo -H pip3 install sleekxmpp psutil requests 

Build IPOP

Run the following commands as a regular (non-root) user:

mkdir -p ~/workspace/ipop-project/ipop-vpn/config
cd ~/workspace/ipop-project/

Get Tincan and WebRTC Libraries

Note: If you have already built the WebRTC libraries yourself following this Wiki's instructions, this step is already done and you should skip it.

For master branch (Development):

git clone https://github.com/ipop-project/Tincan

For other branches, for instance bh1 (Latest Stable Release):

git clone -b bh1 --single-branch https://github.com/ipop-project/Tincan

Ubuntu, x86_64:

git clone -b ubuntu-x64 --single-branch https://github.com/ipop-project/3rd-Party-Libs.git Tincan/external/3rd-Party-Libs

Raspberry Pi 3, ARMv7:

git clone -b rpi3-arm7 --single-branch https://github.com/ipop-project/3rd-Party-Libs.git Tincan/external/3rd-Party-Libs

Raspberry Pi Zero, ARMv6:

git clone -b rpizero-arm6 --single-branch https://github.com/ipop-project/3rd-Party-Libs.git Tincan/external/3rd-Party-Libs

Get Controllers

For master branch (Development):

git clone https://github.com/ipop-project/Controllers

For other branches, for instance bh1 (Latest Stable Release):

git clone -b bh1 --single-branch https://github.com/ipop-project/Controllers

Then:

cd Tincan/trunk/build/

To build the Tincan binary in debug mode:

make DEBUG=1
cp -f ../out/debug/$(uname -m)/ipop-tincan ../../../ipop-vpn/

Otherwise, for release mode:

make
cp -f ../out/release/$(uname -m)/ipop-tincan ../../../ipop-vpn/

Then:

cd ../../../Controllers
cp -rf ./controller/ ../ipop-vpn/