xmr-btc-swap/libp2p-rendezvous-server
Mohan f2b23348d7
feat(monero-sys): Build system (#500)
* feat: use contrib/depends to build dependencies

* fix: bump min iOS sdk to 13

* fix: macos targets

* fix: show make output during build
fix: mingw linking issues

* chore: address AI review

* check target only once, stream make output to stdout, init ios project

* check whether patch is already applied before trying again

* copy contrib/depends to target dir and build dependencies there

* fix: use proper triplet for ios-sim

* fix(dprint): ignore monero_c, monero and monero-seed folders

* fix(swap): Missing import

* fix(ci): Add gperf as a required dependency for Linux

* add notes for unsafe usage to CLAUDE.md

* add clean command to justfile

* fix: minimumSystemVersion to 11.0 because tauri doesn't default behavior is wild

* update crunchy dependency to fix linux->windows cross compilation issue

* fix last commit

* link c++ std lib and libgcc statically on windows

* embed WebView2 Bootstrapper

* disable ccache on ios, update tauri deps, set minimumSystemVersion to 13.0

* fix

* fix: build env leaking into contrib/depends

* fix: version '-sim' in target triple 'arm64-apple-ios13.0-simulator-sim' is invalid

* get it working on ios

* Upgrade to nightly Rust toolchain for unstable features

- Change from Rust 1.85 to nightly to support yamux unstable features
- This resolves the unsigned_is_multiple_of compilation error

* fix

* WINDOWS WORKS

* Cargo.lock update

* android progress

* progress on gcc build script

* remove windows binary dependencies from git, running just prepare-windows-build will re-create them

* check for .dll's in src-tauri/build.rs and give hint how to build them

* document new build requirement

* add verification to gcc build script and error message when building windows from os other than linux

* fix windows build

* add just command for building windows  ss

* fix script: remove sudo, copy dlls when finished

* move path setup to its own function

* fix

* try and fix ci

* extract setup to single action

* clean up ci

* add actions/checkout everywhere

* fix missing input prefix

* fix missing autoconf

* fix add build deps to env

* fix add build deps to env

* add deps for cross building windows

* fix action call

* only bundle dll's on windows

* use ubuntu-latest, install yarn, don't use swap

* add build dependencies, remove no longer existing docker test

* add aclocal to macos setup

* include macos build depends

* change platform -> host for setup-build-environment, use matrix for building binaries for all platforms

* fix: prepare build env for docker for ubuntu, don't get host value from matrix

* manually install rust target

* include openssl on ubuntu for sqlx

* build cargo cache once before building individual tests

* only manually install target if provided

* fix: don't need special syntax for variables in if condition

* fix libssl problem by upgrading sqlx cli

* fix: specify host for prepare_docker_tests

* a lot of fixes

---------

Co-authored-by: Czarek Nakamoto <cyjan@mrcyjanek.net>
Co-authored-by: einliterflasche <einliterflasche@pm.me>
Co-authored-by: binarybaron <you@example.com>
Co-authored-by: Raphael <81313171+Einliterflasche@users.noreply.github.com>
2025-08-27 16:45:59 +02:00
..
src chore: Upgrade bdk to 2.0.0 (#494) 2025-08-03 01:55:40 +02:00
Cargo.toml feat(monero-sys): Build system (#500) 2025-08-27 16:45:59 +02:00
CHANGELOG.md feat: Move rendvous-server into mono repository (#490) 2025-08-02 01:27:45 +02:00
Dockerfile feat: Move rendvous-server into mono repository (#490) 2025-08-02 01:27:45 +02:00
README.md chore: Upgrade bdk to 2.0.0 (#494) 2025-08-03 01:55:40 +02:00

Standalone Rendezvous Server

A standalone libp2p rendezvous server binary.

Usage

Build the binary:

cargo build --release

Run the libp2p-rendezvous-server:

cargo run --release

The server will use default values:

  • Secret file: rendezvous-server-secret.key (created automatically if it doesn't exist)
  • Listen port: 8888

You can customize these with:

cargo run --release -- --secret-file <PATH-TO-SECRET-FILE> --listen-tcp <PORT>

Tor Onion Service Support

The rendezvous server can also listen on a Tor onion service for enhanced privacy:

cargo run --release -- --onion

This will:

  • Bootstrap a connection to the Tor network
  • Create a new onion service
  • Listen on both TCP (port 8888) and the onion address
  • Print the onion address in the logs

You can specify a custom port for the onion service:

cargo run --release -- --onion --onion-port 9999

Options

If the provided secret file doesn't exist, it will be created with a new random secret key.

Run cargo run --release -- --help for all available options:

  • --secret-file: Path to the secret key file
  • --listen-tcp: TCP port to listen on (default: 8888)
  • --onion: Enable Tor onion service
  • --onion-port: Port for the onion service (default: 8888)
  • --json: Format logs as JSON
  • --no-timestamp: Don't include timestamp in logs