/Uplink

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

Primary LanguageRustOtherNOASSERTION


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


Quickstart

To get running fast, ensure you have Rust installed.

Standard Run:

cargo run --bin ui

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

cargo run --bin ui --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

For this to work, we need to install ffmpeg -> brew install ffmpeg for macOS And for Windows, I followed the steps on this site here

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

How to add the extension settings in Uplink:

  • Open Uplink and navigate to Settings > Extensions > Settings > Open Extensions.
  • In another Finder window, open Uplink.
  • Inside Uplink, go to Target > Debug, where you'll find the Emoji selector.
  • Drag the Emoji selector to the Extensions window that is still open.
  • Close all open windows.
  • Finally, run cargo run trace2.
emoji-extension.mov

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