Skip to content

(Alpha Software) Secure, Encrypted, P2P chat written atop Warp, IPFS, LibP2P, Dioxus and many more awesome projects and protocols.

License

Notifications You must be signed in to change notification settings

Satellite-im/Uplink

Repository files navigation


Uplink

Privacy First, Modular, P2P messaging client built atop Warp.


Uplink is written in pure Rust with a UI in Dioxus (which is also written in Rust). It was developed as a new foundation for implementing Warp features in a universal application.

The goal should be to build a hyper-customizable application that can run anywhere and support extensions.

Uplink UI


Pre-Compiled Development

For rapid inspection of our deployed binaries, you can open the settings once signed into Uplink, then navigate to About and click the version number 10 times, enabling a Developer section in the settings. From here, you can enable experimental features and helpful dev tools.

Quickstart

To get running fast, ensure you have Rust installed.

Standard Run:

cargo run --bin uplink

Rapid Release Testing: This version will run close to release but without recompiling crates every time.

cargo run --bin uplink --profile=rapid

Dependency List

macOS M1+

Dep Install Command
Build Tools xcode-select --install
Homebrew /bin/bash -c "\$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
Rust curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs
cmake brew install cmake
ffmpeg brew install ffmpeg
audio opus brew install opus

You can also run macos-install_dependencies.sh to install all of the above in bulk.

Windows 10+

Dep Install Command
Rust Installation Guide
ffmpeg Installation Guide

Ubuntu WSL (Maybe also Ubuntu + Debian)

Dep Install Command
Rust curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
Build Essentials sudo apt install build-essential
pkg-config sudo apt-get install pkg-config
alsa-sys sudo apt install librust-alsa-sys-dev
libgtk-dev sudo apt-get install libgtk-3-dev
libsoup-dev sudo apt install libsoup-3.0-dev
Tauri Deps sudo apt install libwebkit2gtk-4.1-dev build-essential curl wget libssl-dev libgtk-3-dev libayatana-appindicator3-dev librsvg2-dev
ffmpeg sudo apt-get install ffmpeg
libopus-dev sudo apt-get install libopus-dev
libxdo-dev sudo apt install libxdo-dev

Fedora 38

Dep Install Command
Rust curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
Build Essentials sudo dnf groupinstall "Development Tools" "Development Libraries"
pkg-config sudo dnf install pkg-config
alsa libs & headers sudo dnf install alsa-lib-devel
libgtk-dev sudo dnf install gtk3-devel
libsoup-dev sudo dnf install libsoup3-devel
Tauri Deps sudo dnf install webkit2gtk4.1-devel openssl-devel curl wget librsvg2-devel libindicator-devel
ffmpeg sudo dnf install ffmpeg
libopus-dev sudo dnf install opus-devel
libxdo-dev sudo dnf install libxdo-devel

Contributing

All contributions are welcome! Please keep in mind we're still a relatively small team, and any work done to ensure contributions don't cause bugs or issues in the application is much appreciated.

Guidelines for contributing are located in the contributing_process.md.

Contributors

GitHub Contributors Image