mirror of
https://github.com/simplex-chat/simplexmq.git
synced 2026-05-14 05:25:07 +00:00
3f40febe60
* smp web: initial setup * encoding/decoding of LGET/LNK * SMP over websocket handshake works * parse short connection links * hkdf for short links * refactor hkdf * decrypt link data * fetch link data via websocket * signed challenge in web handshake * test: skip smp-web tests when TS not built * block encryption * gitignore * parse FixedLinkData --------- Co-authored-by: Evgeny @ SimpleX Chat <259188159+evgeny-simplex@users.noreply.github.com>
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/.