Skip to content

Macxzew/WormLink

Repository files navigation

WormLink

πŸŒ€ WormLink is an encrypted P2P desktop application, compatible with WebWormhole servers, designed to reduce the trust required in remote servers.

WormLink


✨ Features

  • Encrypted peer-to-peer messaging
  • Encrypted file transfer (up to 512 MB)
  • Session code + QR sharing
  • Drag & drop file sending
  • Runtime backend selector (with validation)
  • Debug journal
  • Reduced motion support

πŸ” Security Notes

  • Encryption is done locally before any transport
  • PAKE handshake (WebAssembly) for session setup
  • Signalling is encrypted after handshake
  • Session fingerprint is shown for manual verification

Strict mode (optional)

  • Blocks messages and files until both peers verify the fingerprint
  • Blocks relay routes until a direct connection is available
  • Verification state is shared between both peers

πŸ“¦ File Transfer

  • Chunked transfer (64 KiB)
  • SHA-256 integrity check per chunk
  • Manual save for received files (no auto-download)
  • Local preview for images and videos

🌐 Backend

  • Default: https://hole.0x0.st/
  • Custom endpoints supported
  • Endpoints are validated before use
  • HTTPS required (except localhost)

πŸš€ Usage

To use this project, follow the steps below in your preferred terminal.

1️⃣ Installing Dependencies

Before anything else, install the necessary dependencies:

npm install

Note: This step is mandatory before building or running the application.

2️⃣ Run in Development

You can start the application in development mode with:

npm run dev

3️⃣ Build and Run

πŸ”Ή Windows

  1. Run the following command to build the Windows version:
npm run build-win
  1. You can then launch the application from the generated output folder.

πŸ”Ή MAC

  1. Run the following command to build the macOS version:
npm run build-mac
  1. Copy the application to /Applications/ so that it appears in the Launchpad:
sudo cp -R WormLink.app /Applications/
  1. You can then run WormLink directly from the Launchpad.

πŸ”Ή Linux

  1. Run the following command to build the Linux version:
npm run build-linux
  1. You can then launch the generated application from the output folder.

πŸ‘€ Author

Give a ⭐️ if this project helped you!


πŸ“ License

Copyright Β© 2026 Macxzew.
This project is licensed under the MIT License.

About

πŸŒ€ WormLink is an encrypted P2P desktop application, compatible with WebWormhole servers, designed to reduce the trust required in remote servers.

Topics

Resources

License

Stars

Watchers

Forks

Contributors