- Get source code from github:
git clone https://github.com/bytebeamio/uplink.git
- Build uplink your system's architecture, the binary should be in
target/release/
cargo build --release
In case you want to run uplink on an ARM system, follow instruction given below to create an ARM compatible binary.
- Install
cross
, aZero setup
cross compilation crate.
cargo install cross
- Build binary for the target architecture, e.g:
armv7-unknown-linux-gnueabihf
.
cross build --release --target armv7-unknown-linux-gnueabihf
- Retreive executable from
/target/armv7-unknown-linux-gnueabihf/release/uplink
and execute it on target device.
For an android target, the following instructions should help you build and install a compatible binary.
- Install cargo-ndk v2.11.0
cargo install cargo-ndk --version 2.11.0
- Ensure
ANDROID_NDK_HOME
env variable is set to point to the android NDK directory.
export ANDROID_NDK_HOME=~/Android/Sdk/ndk/25.0.8775105
- Run the cargo-ndk tool to build uplink for the specific version of android
cargo ndk --target x86_64-linux-android --platform 23 build --bin uplink
- Move executables to
/data/local/
on target device - Set the application's uplink port appropriately in the config.toml file
- Include the following line in config.toml
persistence_path = "/data/local/uplink"
- Ensure the uplink binary is executable and start it in the background
chmod +x uplink_exe
See releases for pre-compiled binaries to select platforms/architectures.