JstSync
Home / Release notes

Release notes

Version 0.1.0 · released 10 November 2026

Legal
  • Privacy policy
  • Data safety
  • Terms of use
  • Open-source licences
  • Software bill of materials
  • Report a security issue
Questions about these pages? mpashkov.work@gmail.com
Made with Slint

JstSync 0.1.0

Receives files from your Android phones over the local Wi‑Fi. Unzip and run: there is no installer and nothing else to install (on Linux the package libfontconfig1, which most desktops have).

Downloads

FileForHolds
jstsync-0.1.0-linux-x86_64.tar.gzLinux on 64-bit Intel/AMD: Debian 12+ and Ubuntu 24.04+ (glibc 2.36 or newer); Ubuntu 22.04 works with this buildthe jstsync program, README.txt, Roboto-LICENSE.txt, THIRD-PARTY-NOTICES.txt
jstsync-0.1.0-windows-x86_64.zipWindows on 64-bit Intel/AMDjstsync.exe, README.txt, Roboto-LICENSE.txt, THIRD-PARTY-NOTICES.txt
SHA256SUMSall of the abovethe SHA-256 checksum of each archive
SHA256SUMS.ascall of the abovethe OpenPGP signature of SHA256SUMS

Verify the download

Put SHA256SUMS (and SHA256SUMS.asc) in the folder with the archives, then:

  • Signature, with GnuPG and the key and fingerprint published at https://jstsync.com/security: gpg --verify SHA256SUMS.asc SHA256SUMS
  • Linux: sha256sum -c SHA256SUMS
  • Windows (PowerShell): Get-FileHash .\jstsync-0.1.0-windows-x86_64.zip -Algorithm SHA256, and compare the hash with the line for that file in SHA256SUMS.

(sha256sum -c and shasum -a 256 -c report a missing file for each archive you did not download; check the line of the one you did.)

Android app

Get JstSync on Google Play: https://play.google.com/store/apps/details?id=com.jstsync (the only place the phone app comes from: there is no APK and no checksum for it). It needs Android 10 or later and the desktop app above on a computer on the same Wi‑Fi. It is in English, Russian, Chinese (Simplified), Serbian (Latin), Hindi, French, Italian, German, Dutch, Spanish and Portuguese (Portugal); a phone set to another language or variant, such as Brazilian Portuguese, Serbian in Cyrillic or Traditional Chinese, shows English. You can choose the language yourself with Select your language on the first screen or in Settings (the button at the top left of the dashboard), and on Android 13 and later also on Android's App languages page for JstSync. The app lists its open-source licences: tap Open-source licences on the first screen or in Settings.

  • Permissions, and why. The camera, only while the scanner is open, to read the computer's QR code (you can paste the code instead). On Android 17 and later, access to devices on the local network, asked before pairing, so the phone can reach and find your computer. Notifications, for the transfer notification; the app explains this before the system asks, and works without it.
  • Background sync. After the first Save of folders, the phone checks for new files at least every 15 minutes (Android stretches this when the phone is idle or dozing). It runs on an unmetered Wi‑Fi, while the phone is charging or its battery is at 25 % or more. The app does not ask to be exempt from battery optimisation. A Wi‑Fi marked as metered, or one without a working internet connection, may hold the background sync back; the open app still syncs. Force stop in Android's settings stops it until you open the app again. When you have not opened JstSync for a long time, Android may pause it: the dashboard's Keep syncing when unused card leads to the setting that stops that. On some phones a battery saver also stops background work: Samsung's "sleeping apps" and Xiaomi's "Autostart" are the places to look.
  • Remove synced files (off by default). In Settings, Remove synced files lets the phone keep only the newest files of each folder: choose how many (from none to 500, or all, the default), and older files that are safely on the computer are removed from the phone. Files not yet sent stay, and nothing is removed from the computer.
  • What is not synced. Hidden files and folders, files over 1 TiB or with names the computer refuses, deletions, anything from the computer to the phone, and the folders Android does not let apps choose (Android/data and the top of the Download folder).
  • When the computer removed the phone, the app says so. Scan the code again and choose the same folder on the computer: what it already holds is not sent again.
  • A full disk or a missing folder on the computer shows a banner on the phone; sending resumes by itself when there is room again.
  • A new computer. Remove the phone on the old one; everything is sent to the new one.
  • Pairing asks on the computer. While pairing, the phone shows a six-digit code; click Allow on the computer only if it shows the same code. The phone connects only to computers on a local network: a code that names only an Internet address is refused.
  • Unpairing in Settings also removes the phone from the computer, when the computer can be reached.
  • Age. JstSync is for people aged 13 and older. Google Play may ask once whether to share an age range with the app, and an account that Google Play reports as under 13 sees "JstSync is not available".

Start

  • Linux: run ./jstsync. Supported: Debian 12 or newer and Ubuntu 24.04 or newer (glibc 2.36 or newer). Ubuntu 22.04 works with this build. It needs an X11 or Wayland desktop session and the package libfontconfig1.
  • Windows: double-click jstsync.exe.

Keep the unpacked folder outside the folders you choose for phones. The app refuses a download folder that holds its own program or data, so the home folder cannot be a download folder (on Windows, Downloads cannot be one while JstSync is unpacked inside it).

The app is not signed

The app is not signed with a certificate, so the system warns the first time.

  • Windows: SmartScreen shows "Windows protected your PC". Click More info > Run anyway.

Network

Allow JstSync in the firewall prompt. Windows asks for TCP port 48230 (or another port when 48230 is taken) and for UDP port 5353, which lets phones find the computer. Phones on a guest network, or on a network with "AP isolation", cannot find the computer: pair them with the QR code.

Pairing a phone

When a phone scans the code, the computer asks "Allow name?" and shows a six-digit code. Click Allow only if the phone shows the same code; Deny, or no answer within 60 seconds, refuses the phone and the code shown is replaced. A phone that pairs again is asked about too. More than five pairing tries from one address in a minute are refused; wait a minute. Two paired phones with the same name are told apart by four extra characters on their cards.

Paired phones

Unpairing in the phone app removes the phone from the computer too, when the computer can be reached. A phone not heard from for 180 days reads "Expired · pair again" and can no longer send files; its folder and the files it sent stay. Scan the code again to pair it again.

Where data lives

  • Linux: $XDG_DATA_HOME/jstsync, or ~/.local/share/jstsync
  • Windows: %LOCALAPPDATA%\JstSync\data

Portable mode (Linux and Windows only): an empty file named portable.flag beside jstsync or jstsync.exe makes the app keep its data in a folder named data beside it.

Logs

The app writes its log to standard error. The variable JSTSYNC_LOG sets the filter (default info,zbus=error), for example JSTSYNC_LOG=debug.

  • Windows: the log is visible only when standard error is redirected, for example in PowerShell: Start-Process .\jstsync.exe -RedirectStandardError jstsync.log

Command line

jstsync --version and jstsync --help. On Windows, in PowerShell: .\jstsync.exe --version | Out-String (the output of a Windows program without a console is otherwise invisible).

The language button at the top right of the window chooses the language; About JstSync is beside it.

JSTSYNC_LANG=<tag> sets the language of the window unless one was chosen with the language button (en, ru, zh-Hans, sr-Latn, hi, fr, it, de, nl, es, pt-PT); without either the language of the system is used.

Linux notes

  • The tray icon needs a StatusNotifier host (KDE, Xfce, Cinnamon, ...). Stock GNOME needs an AppIndicator extension; without a tray icon, closing the window asks before quitting.
  • A minimized window is not restored on Wayland.
  • The window brings its own fonts for Chinese and Hindi; the tray menu and the folder dialog use the system's fonts (fonts-noto-cjk and fonts-noto-core on Debian and Ubuntu).
  • If drawing is slow with your OpenGL driver, use the software renderer: SLINT_BACKEND=winit-software ./jstsync
jstsync.com Download Security © 2026 Maksim Pashkov. All rights reserved.