Repository navigation
12 windows
The Windows package is the same two pieces as the Linux .deb: the
dependency-free Rust launcher (desktop/launcher, serves the PWA on
loopback) plus the built web app — zipped with a Nysiris.bat entry point
instead of a .deb, because there is no system package manager to target.
dist/nysiris_<version>_windows-x86_64.zip
├── nysiris-launcher.exe
├── Nysiris.bat # double-click entry point (forwards extra args)
├── README.txt
└── web/ # built PWA, served on 127.0.0.1
- Install MSYS2 from https://www.msys2.org, then in a MINGW64 shell:
pacman -Syu pacman -S --needed mingw-w64-x86_64-toolchain git zip
- Install Rust (https://rustup.rs) and Node.js (https://nodejs.org).
With
--install-tools, the build adds the GNU target itself:rustup target add x86_64-pc-windows-gnu
- From a MINGW64 shell in the repo root:
The target defaults to
./build.sh windows --install-tools
x86_64-pc-windows-gnuunder MSYS2/MinGW, Cygwin, and Git Bash. Override with--target <triple>.
On a machine with the MSVC toolchain (or any host with the right linker), pass the target explicitly:
./build.sh windows --target x86_64-pc-windows-msvc
./build.sh windows --target aarch64-pc-windows-msvc # ARM64 WindowsCross-compiling from Linux additionally needs a Windows linker for the chosen target; the script says so and stops rather than failing obscurely.
The launcher opens the app in a Chromium app window. On Windows it looks for, in order:
-
--browser <path>if you pass one, -
%PROGRAMFILES%/%PROGRAMFILES(X86)%installs of Edge (msedge.exe), then Chrome (chrome.exe), -
msedge/chrome/chromium/braveonPATH(with or without.exe), - last resort: the default browser via
cmd /C start.
Edge ships with Windows 10/11, so a stock machine already qualifies.
Firefox has no --app mode and opens a plain window instead. The app
profile lives under %LOCALAPPDATA%\nysiris\chrome-profile, separate
from the personal browser profile.
- No install, no admin rights, no inbound ports: everything is loopback plus outbound gateway traffic. Windows Firewall may still prompt on first launch; loopback-only serving needs no exception.
- SmartScreen warns because release binaries are unsigned. Verify the
download against
SHA256SUMS.txton the GitHub release page. -
Nysiris.bat --port 8901pins the loopback port;--no-openserves only (open the printed URL yourself);--helplists everything.
Pushing a v* tag runs .github/workflows/release.yml: checks, the Linux
.deb, and the Windows zip (built on windows-latest with MSYS2, same
./build.sh windows path as local builds), published as a GitHub release
with a SHA256SUMS.txt. Bump with ./build.sh bump <version> first —
VERSION is the single source of truth.
- No auto-updates: re-download new releases (the PWA itself updates its cached assets on load; the launcher does not).
- No MSI installer: the zip is intentionally portable (runs from any folder, leaves only its profile dir behind).
- ARM64 builds need
--target aarch64-pc-windows-msvcand are untested on device; the launcher itself is portable std-only Rust.
⚠️ Experimental / pre-audit. This repository is under active development and has not had an independent security audit. The Sphinx core incrates/is a reference implementation, never production crypto. Do not rely on it for high-stakes anonymity yet — see the threat model. Apache-2.0 © 2026 odelyzid (tribewarez). Report a security issue.
Nysiris docs
- Home
- 1. High-Level Architecture
- 2. Addressing & Routing Deep-Dive: how "DNS" works in Sphinx/Nym
- 3. Browser & Mobile Client (Web, Android, Desktop)
- 4. Hosting a Web Server / Service Reachable via the Nym Mixnet
- 5. Security Analysis & Recommendations
- 6. Implementation Roadmap
- 7. Desktop on Linux Mint / Debian
- 8. Hidden-Service Abstraction
- 9. nysiris-social: Metadata-Minimal Microblog + Encrypted DMs
- 10. Portal Layers: Data, Replication, Discovery, Reputation
- 11. UX Redesign — Calm, Private-by-Default Client
- 12. Windows build (MSYS2 / MSVC)
- 13. Hosting SDK &
nysirisCLI