mirror of
https://github.com/simplex-chat/simplexmq.git
synced 2026-03-29 16:39:58 +00:00
xftp-web
Browser-compatible XFTP file transfer client in TypeScript.
Prerequisites
- Haskell toolchain with
cabal(to buildxftp-server) - Node.js 20+
- Chromium system dependencies (see below)
Setup
# Build the XFTP server binary (from repo root)
cabal build xftp-server
# Install JS dependencies
cd xftp-web
npm install
# Install Chromium for Playwright (browser tests)
npx playwright install chromium
If Chromium fails to launch due to missing system libraries, install them with:
# Requires root
npx playwright install-deps chromium
Running tests
# Browser round-trip test (vitest + Playwright headless Chromium)
npm run test
The browser test automatically starts an xftp-server instance on port 7000 via globalSetup, using certs from tests/fixtures/.
Build
npm run build
Output goes to dist/.