Open source

Help build Pzync

Pzync is made in the open. Bug reports, ideas, docs fixes and code are all welcome.

Ways to help

Project layout

Pzync is two projects, each in its own repository:

  • Android app: Kotlin, with the sols.sync package, built with Gradle.
  • Desktop app: Tauri 2 with a React 19 and TypeScript front end and a Rust back end. Source: pzynk/desktop.

Build the desktop app

You need Node.js 18 or later and the Rust toolchain. See the Tauri prerequisites for your platform.

git clone https://github.com/pzynk/desktop.git
cd desktop
npm install
npm run tauri dev

To check the Rust side:

cd src-tauri
cargo check
cargo test

On Linux you also need scrot, xdotool, wmctrl and gnome-screenshot or flameshot.

Build the Android app

You need JDK 11 or later and the Android SDK. Use the Gradle wrapper from the project folder:

./gradlew test
./gradlew assembleDebug

The Android app uses Firebase. To build it you need your own google-services.json in the app/ module, with the package name sols.sync.

Sending a pull request

  1. Open or find an issue so we agree on the change first.
  2. Fork the repository and create a branch for your change.
  3. Keep the change focused, match the surrounding code style, and add a test when the project has a place for it.
  4. Open the pull request and describe what changed and how you tested it.

Reporting a security problem

Pzync can run commands and capture the screen of a paired computer, so security reports matter. Please do not post vulnerabilities in a public issue. Use GitHub's private vulnerability reporting on the repository if it is available, or ask for a private channel in an issue without sharing the details.