git: 7363e53716b5 - main - net/rayfish: New port
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Tue, 29 Sep 2026 16:34:40 UTC
The branch main has been updated by feld:
URL: https://cgit.FreeBSD.org/ports/commit/?id=7363e53716b52eece3c002ea852957648487958e
commit 7363e53716b52eece3c002ea852957648487958e
Author: Mark Felder <feld@FreeBSD.org>
AuthorDate: 2026-09-29 16:32:55 +0000
Commit: Mark Felder <feld@FreeBSD.org>
CommitDate: 2026-09-29 16:32:55 +0000
net/rayfish: New port
Rayfish is a peer-to-peer mesh VPN for your computers, phones, servers,
and friends' machines. It creates encrypted private networks without an
account, control server, or infrastructure to host.
Peers connect directly when possible and use encrypted relays when they
cannot. Each device has a stable address derived from its cryptographic
identity, plus a name such as alice.gaming.ray through Magic DNS.
---
GIDs | 2 +-
net/Makefile | 1 +
net/rayfish/Makefile | 23 +
net/rayfish/Makefile.crates | 827 +++++++++++++++++++++
net/rayfish/distinfo | 1657 ++++++++++++++++++++++++++++++++++++++++++
net/rayfish/files/rayfish.in | 33 +
net/rayfish/pkg-descr | 4 +
net/rayfish/pkg-message | 25 +
8 files changed, 2571 insertions(+), 1 deletion(-)
diff --git a/GIDs b/GIDs
index cff0cfd1207d..f17deb934ed0 100644
--- a/GIDs
+++ b/GIDs
@@ -259,7 +259,7 @@ promscale:*:314:
lavinmq:*:315:
nut:*:316:
hedgedoc:*:317:
-# free: 318, UID used by icingadirector
+rayfish:*:318:
rustdesk:*:319:
teleirc:*:320:
caldera:*:321:
diff --git a/net/Makefile b/net/Makefile
index 67f37619ed27..64f923f5c5ff 100644
--- a/net/Makefile
+++ b/net/Makefile
@@ -1236,6 +1236,7 @@
SUBDIR += radsecproxy
SUBDIR += radvd
SUBDIR += rathole
+ SUBDIR += rayfish
SUBDIR += rclone
SUBDIR += rclone-browser
SUBDIR += rdapper
diff --git a/net/rayfish/Makefile b/net/rayfish/Makefile
new file mode 100644
index 000000000000..b797d930b9d6
--- /dev/null
+++ b/net/rayfish/Makefile
@@ -0,0 +1,23 @@
+PORTNAME= rayfish
+DISTVERSIONPREFIX=v
+DISTVERSION= 0.5.3
+CATEGORIES= net
+
+MAINTAINER= feld@FreeBSD.org
+COMMENT= P2P mesh VPN powered by Iroh
+WWW= https://rayfish.xyz
+
+LICENSE= MPL20
+
+USES= cargo
+
+GROUPS= rayfish
+
+USE_GITHUB= yes
+GH_ACCOUNT= rayfish
+
+USE_RC_SUBR= rayfish
+
+PLIST_FILES= bin/ray
+
+.include <bsd.port.mk>
diff --git a/net/rayfish/Makefile.crates b/net/rayfish/Makefile.crates
new file mode 100644
index 000000000000..bb60f41dcd8b
--- /dev/null
+++ b/net/rayfish/Makefile.crates
@@ -0,0 +1,827 @@
+CARGO_CRATES= acto-0.8.2 \
+ adler2-2.0.1 \
+ aead-0.5.2 \
+ aead-0.6.1 \
+ aes-0.8.4 \
+ aes-0.9.3 \
+ aes-gcm-0.10.3 \
+ aes-gcm-0.11.1 \
+ ahash-0.8.12 \
+ aho-corasick-1.1.5 \
+ allocator-api2-0.2.21 \
+ android_system_properties-0.1.6 \
+ anes-0.1.6 \
+ anstream-1.0.0 \
+ anstyle-1.0.14 \
+ anstyle-parse-1.0.0 \
+ anstyle-query-1.1.5 \
+ anstyle-wincon-3.0.11 \
+ anyhow-1.0.104 \
+ arc-swap-1.9.2 \
+ argon2-0.5.3 \
+ argon2-0.6.0 \
+ arraydeque-0.5.1 \
+ arrayvec-0.7.8 \
+ askama-0.13.1 \
+ askama_derive-0.13.1 \
+ askama_parser-0.13.0 \
+ async-broadcast-0.7.2 \
+ async-channel-2.5.0 \
+ async-recursion-1.1.1 \
+ async-task-4.7.1 \
+ async-trait-0.1.92 \
+ async_io_stream-0.3.3 \
+ atk-0.18.2 \
+ atk-sys-0.18.2 \
+ atomic-polyfill-1.0.3 \
+ atomic-waker-1.1.2 \
+ attohttpc-0.30.1 \
+ autocfg-1.5.1 \
+ backon-1.6.0 \
+ bao-tree-0.16.1 \
+ base16ct-1.0.0 \
+ base32-0.4.0 \
+ base64-0.13.1 \
+ base64-0.22.1 \
+ base64ct-1.8.3 \
+ basic-toml-0.1.10 \
+ bcrypt-pbkdf-0.11.0 \
+ binary-merge-0.1.2 \
+ bit-set-0.8.0 \
+ bit-vec-0.8.0 \
+ bitflags-2.13.1 \
+ blake2-0.10.6 \
+ blake2-0.11.0 \
+ blake3-1.8.7 \
+ block-buffer-0.9.0 \
+ block-buffer-0.10.4 \
+ block-buffer-0.12.1 \
+ block-padding-0.2.1 \
+ block-padding-0.4.2 \
+ block2-0.6.2 \
+ blocking-1.7.0 \
+ blowfish-0.10.0 \
+ borsh-1.8.1 \
+ bs58-0.5.1 \
+ bumpalo-3.20.3 \
+ bytemuck-1.25.2 \
+ byteorder-1.5.0 \
+ byteorder-lite-0.1.0 \
+ bytes-1.12.1 \
+ bytesize-2.7.0 \
+ cairo-rs-0.18.5 \
+ cairo-sys-rs-0.18.2 \
+ camino-1.2.5 \
+ cargo-platform-0.1.9 \
+ cargo_metadata-0.19.2 \
+ cast-0.3.0 \
+ cbc-0.2.1 \
+ cc-1.4.4 \
+ cesu8-1.1.0 \
+ cfg-expr-0.15.8 \
+ cfg-if-1.0.4 \
+ cfg_aliases-0.2.2 \
+ chacha20-0.9.1 \
+ chacha20-0.10.2 \
+ chacha20poly1305-0.10.1 \
+ chrono-0.4.45 \
+ ciborium-0.2.2 \
+ ciborium-io-0.2.2 \
+ ciborium-ll-0.2.2 \
+ cipher-0.4.4 \
+ cipher-0.5.2 \
+ clap-4.6.6 \
+ clap_builder-4.6.6 \
+ clap_complete-4.6.9 \
+ clap_derive-4.6.4 \
+ clap_lex-1.1.0 \
+ clocksource-0.8.3 \
+ cmov-0.5.4 \
+ cobs-0.3.0 \
+ colorchoice-1.0.5 \
+ combine-4.6.8 \
+ concurrent-queue-2.5.0 \
+ config-0.15.25 \
+ console-0.16.4 \
+ const-oid-0.10.2 \
+ constant_time_eq-0.4.2 \
+ convert_case-0.4.0 \
+ convert_case-0.10.0 \
+ cookie-0.18.2 \
+ cordyceps-0.3.5 \
+ core-foundation-0.9.4 \
+ core-foundation-0.10.1 \
+ core-foundation-sys-0.8.7 \
+ core-graphics-0.25.0 \
+ core-graphics-types-0.2.0 \
+ cpubits-0.1.1 \
+ cpufeatures-0.2.17 \
+ cpufeatures-0.3.1 \
+ crc32fast-1.5.1 \
+ criterion-0.5.1 \
+ criterion-plot-0.5.0 \
+ critical-section-1.2.0 \
+ crossbeam-channel-0.5.16 \
+ crossbeam-deque-0.8.7 \
+ crossbeam-epoch-0.9.20 \
+ crossbeam-utils-0.8.22 \
+ crossterm-0.28.1 \
+ crossterm-0.29.0 \
+ crossterm_winapi-0.9.1 \
+ crunchy-0.2.4 \
+ crypto-bigint-0.7.5 \
+ crypto-common-0.1.7 \
+ crypto-common-0.2.2 \
+ crypto-mac-0.11.0 \
+ cssparser-0.37.0 \
+ cssparser-macros-0.7.1 \
+ ctr-0.9.2 \
+ ctr-0.10.1 \
+ ctutils-0.4.2 \
+ curve25519-dalek-3.2.0 \
+ curve25519-dalek-5.0.0-rc.0 \
+ curve25519-dalek-derive-0.1.1 \
+ dashmap-6.2.1 \
+ data-encoding-2.11.1 \
+ data-encoding-macro-0.1.21 \
+ data-encoding-macro-internal-0.1.19 \
+ delegate-0.13.5 \
+ der-0.8.1 \
+ deranged-0.5.8 \
+ derive_more-0.99.20 \
+ derive_more-2.1.1 \
+ derive_more-impl-2.1.1 \
+ des-0.9.0 \
+ diatomic-waker-0.2.3 \
+ digest-0.9.0 \
+ digest-0.10.7 \
+ digest-0.11.3 \
+ dirs-6.0.0 \
+ dirs-7.0.0 \
+ dirs-sys-0.5.0 \
+ dispatch2-0.3.1 \
+ displaydoc-0.2.7 \
+ dlopen2-0.8.2 \
+ dlopen2_derive-0.4.3 \
+ document-features-0.2.12 \
+ dom_query-0.28.0 \
+ dpi-0.1.2 \
+ dtoa-1.0.11 \
+ dtoa-short-0.3.5 \
+ dunce-1.0.5 \
+ ecdsa-0.17.0-rc.18 \
+ ed25519-1.5.3 \
+ ed25519-3.0.0 \
+ ed25519-dalek-1.0.1 \
+ ed25519-dalek-3.0.0-rc.0 \
+ either-1.18.0 \
+ elliptic-curve-0.14.0-rc.33 \
+ embedded-io-0.4.0 \
+ embedded-io-0.6.1 \
+ enable-ansi-support-0.3.1 \
+ encode_unicode-1.0.0 \
+ encoding_rs-0.8.35 \
+ endi-1.1.1 \
+ enum-assoc-1.4.1 \
+ enum_dispatch-0.3.13 \
+ enumflags2-0.7.12 \
+ enumflags2_derive-0.7.12 \
+ equivalent-1.0.2 \
+ errno-0.3.14 \
+ event-listener-5.4.2 \
+ event-listener-strategy-0.5.4 \
+ fastrand-2.5.0 \
+ fdeflate-0.3.7 \
+ ff-0.14.0 \
+ fiat-crypto-0.3.0 \
+ field-offset-0.3.6 \
+ filetime-0.2.29 \
+ find-msvc-tools-0.1.11 \
+ flate2-1.1.10 \
+ flume-0.12.0 \
+ fnv-1.0.7 \
+ foldhash-0.2.0 \
+ foreign-types-0.5.0 \
+ foreign-types-macros-0.2.4 \
+ foreign-types-shared-0.3.1 \
+ form_urlencoded-1.2.2 \
+ fs-err-2.11.0 \
+ futures-0.3.34 \
+ futures-buffered-0.2.13 \
+ futures-channel-0.3.34 \
+ futures-core-0.3.34 \
+ futures-executor-0.3.34 \
+ futures-io-0.3.34 \
+ futures-lite-2.6.1 \
+ futures-macro-0.3.34 \
+ futures-sink-0.3.34 \
+ futures-task-0.3.34 \
+ futures-util-0.3.34 \
+ gdk-0.18.2 \
+ gdk-pixbuf-0.18.5 \
+ gdk-pixbuf-sys-0.18.0 \
+ gdk-sys-0.18.2 \
+ gdkwayland-sys-0.18.2 \
+ genawaiter-0.99.1 \
+ genawaiter-macro-0.99.1 \
+ genawaiter-proc-macro-0.99.1 \
+ generator-0.8.9 \
+ generic-array-0.14.7 \
+ generic-array-1.4.5 \
+ getifaddrs-0.6.2 \
+ getrandom-0.1.16 \
+ getrandom-0.2.17 \
+ getrandom-0.3.4 \
+ getrandom-0.4.3 \
+ ghash-0.5.1 \
+ ghash-0.6.0 \
+ gio-0.18.4 \
+ gio-sys-0.18.1 \
+ glib-0.18.5 \
+ glib-macros-0.18.5 \
+ glib-sys-0.18.1 \
+ glob-0.3.4 \
+ gloo-timers-0.3.0 \
+ gobject-sys-0.18.0 \
+ goblin-0.8.2 \
+ group-0.14.0 \
+ gtk-0.18.2 \
+ gtk-sys-0.18.2 \
+ gtk3-macros-0.18.2 \
+ h2-0.4.19 \
+ half-2.7.1 \
+ hash32-0.2.1 \
+ hashbrown-0.14.5 \
+ hashbrown-0.16.1 \
+ hashbrown-0.17.1 \
+ hashlink-0.11.1 \
+ heapless-0.7.17 \
+ heck-0.4.1 \
+ heck-0.5.0 \
+ hermit-abi-0.5.3 \
+ hex-0.4.3 \
+ hex-literal-1.1.0 \
+ hickory-net-0.26.1 \
+ hickory-proto-0.26.1 \
+ hickory-resolver-0.26.1 \
+ hkdf-0.13.0 \
+ hmac-0.11.0 \
+ hmac-0.13.0 \
+ html5ever-0.39.0 \
+ http-1.5.0 \
+ http-body-1.1.0 \
+ http-body-util-0.1.5 \
+ httparse-1.10.1 \
+ httpdate-1.0.3 \
+ humansize-2.1.3 \
+ humantime-2.4.0 \
+ hybrid-array-0.4.14 \
+ hyper-1.11.1 \
+ hyper-rustls-0.27.9 \
+ hyper-util-0.1.20 \
+ iana-time-zone-0.1.65 \
+ iana-time-zone-haiku-0.1.2 \
+ icu_collections-2.3.0 \
+ icu_locale_core-2.3.0 \
+ icu_normalizer-2.3.0 \
+ icu_normalizer_data-2.3.0 \
+ icu_properties-2.3.0 \
+ icu_properties_data-2.3.0 \
+ icu_provider-2.3.1 \
+ identity-hash-0.1.0 \
+ idna-1.1.0 \
+ idna_adapter-1.2.2 \
+ igd-next-0.17.1 \
+ image-0.25.10 \
+ indexmap-2.14.1 \
+ indicatif-0.18.6 \
+ inotify-0.11.5 \
+ inotify-sys-0.1.8 \
+ inout-0.1.4 \
+ inout-0.2.2 \
+ inplace-vec-builder-0.1.1 \
+ internal-russh-num-bigint-0.5.0 \
+ ipconfig-0.3.4 \
+ ipnet-2.12.1 \
+ iroh-blobs-0.103.0 \
+ iroh-io-0.6.2 \
+ iroh-metrics-1.0.1 \
+ iroh-metrics-derive-1.0.1 \
+ iroh-tickets-1.0.0 \
+ iroh-tor-transport-0.1.0 \
+ iroh-util-0.6.0 \
+ irpc-0.17.0 \
+ irpc-derive-0.17.0 \
+ is-terminal-0.4.17 \
+ is_executable-1.0.6 \
+ is_terminal_polyfill-1.70.2 \
+ itertools-0.10.5 \
+ itertools-0.14.0 \
+ itoa-1.0.18 \
+ jni-0.21.1 \
+ jni-0.22.4 \
+ jni-macros-0.22.4 \
+ jni-sys-0.3.1 \
+ jni-sys-0.4.1 \
+ jni-sys-macros-0.4.1 \
+ js-sys-0.3.104 \
+ keccak-0.1.6 \
+ keccak-0.2.2 \
+ kem-0.3.0 \
+ keyboard-types-0.8.3 \
+ lazy_static-1.5.0 \
+ libc-0.2.189 \
+ libloading-0.9.0 \
+ libm-0.2.16 \
+ libredox-0.1.23 \
+ linux-raw-sys-0.4.15 \
+ linux-raw-sys-0.12.1 \
+ litemap-0.8.3 \
+ litrs-1.0.0 \
+ lock_api-0.4.14 \
+ log-0.4.34 \
+ loom-0.7.2 \
+ lru-0.18.3 \
+ lru-slab-0.1.2 \
+ mac-addr-0.3.0 \
+ markup5ever-0.39.0 \
+ matchers-0.2.0 \
+ md5-0.8.1 \
+ memchr-2.8.3 \
+ memoffset-0.9.1 \
+ mime-0.3.17 \
+ mime_guess-2.0.5 \
+ minimal-lexical-0.2.1 \
+ miniz_oxide-0.8.9 \
+ miniz_oxide-0.9.1 \
+ mio-1.2.2 \
+ ml-kem-0.3.2 \
+ module-lattice-0.2.3 \
+ moka-0.12.16 \
+ moxcms-0.8.1 \
+ muda-0.20.0 \
+ n0-error-1.0.1 \
+ n0-error-macros-1.0.0 \
+ n0-future-0.3.2 \
+ n0-watcher-1.0.0 \
+ ndk-0.9.0 \
+ ndk-context-0.1.1 \
+ ndk-sys-0.6.0+11769913 \
+ nested_enum_utils-0.2.3 \
+ netconfig-rs-0.1.6 \
+ netdev-0.45.0 \
+ netdev-0.46.2 \
+ netlink-packet-core-0.8.2 \
+ netlink-packet-core-0.9.0 \
+ netlink-packet-route-0.25.1 \
+ netlink-packet-route-0.30.0 \
+ netlink-packet-route-0.31.0 \
+ netlink-packet-route-0.33.0 \
+ netlink-proto-0.12.2 \
+ netlink-sys-0.8.8 \
+ netlink-sys-0.9.0 \
+ new_debug_unreachable-1.0.6 \
+ nix-0.30.1 \
+ nix-0.31.3 \
+ nom-7.1.3 \
+ noq-1.3.0 \
+ noq-proto-1.3.0 \
+ noq-udp-1.3.0 \
+ noyalib-0.0.5 \
+ nu-ansi-term-0.50.3 \
+ num-bigint-0.4.8 \
+ num-conv-0.2.2 \
+ num-integer-0.1.47 \
+ num-traits-0.2.19 \
+ num_enum-0.7.6 \
+ num_enum_derive-0.7.6 \
+ objc2-0.6.4 \
+ objc2-app-kit-0.3.2 \
+ objc2-cloud-kit-0.3.2 \
+ objc2-core-data-0.3.2 \
+ objc2-core-foundation-0.3.2 \
+ objc2-core-graphics-0.3.2 \
+ objc2-core-image-0.3.2 \
+ objc2-core-location-0.3.2 \
+ objc2-core-text-0.3.2 \
+ objc2-core-wlan-0.3.2 \
+ objc2-encode-4.1.0 \
+ objc2-exception-helper-0.1.1 \
+ objc2-foundation-0.3.2 \
+ objc2-io-surface-0.3.2 \
+ objc2-quartz-core-0.3.2 \
+ objc2-security-0.3.2 \
+ objc2-security-foundation-0.3.2 \
+ objc2-system-configuration-0.3.2 \
+ objc2-ui-kit-0.3.2 \
+ objc2-user-notifications-0.3.2 \
+ objc2-web-kit-0.3.2 \
+ once_cell-1.21.4 \
+ once_cell_polyfill-1.70.2 \
+ oorandom-11.1.5 \
+ opaque-debug-0.3.1 \
+ openssl-probe-0.2.1 \
+ opentelemetry-0.32.0 \
+ opentelemetry-http-0.32.0 \
+ opentelemetry-otlp-0.32.0 \
+ opentelemetry-proto-0.32.0 \
+ opentelemetry_sdk-0.32.1 \
+ option-ext-0.2.0 \
+ ordered-stream-0.2.0 \
+ p256-0.14.0-rc.10 \
+ p384-0.14.0-rc.10 \
+ p521-0.14.0-rc.10 \
+ pageant-0.2.2 \
+ pango-0.18.3 \
+ pango-sys-0.18.0 \
+ papaya-0.2.5 \
+ parking-2.2.1 \
+ parking_lot-0.12.5 \
+ parking_lot_core-0.9.12 \
+ password-hash-0.5.0 \
+ password-hash-0.6.1 \
+ paste-1.0.15 \
+ pathdiff-0.2.3 \
+ pbkdf2-0.13.0 \
+ pem-rfc7468-1.0.0 \
+ percent-encoding-2.3.2 \
+ pharos-0.5.3 \
+ phc-0.6.1 \
+ phf-0.13.1 \
+ phf_codegen-0.13.1 \
+ phf_generator-0.13.1 \
+ phf_macros-0.13.1 \
+ phf_shared-0.13.1 \
+ pin-project-1.1.13 \
+ pin-project-internal-1.1.13 \
+ pin-project-lite-0.2.17 \
+ piper-0.2.5 \
+ pkcs5-0.8.1 \
+ pkcs8-0.11.0 \
+ pkg-config-0.3.34 \
+ plain-0.2.3 \
+ plist-1.10.0 \
+ plotters-0.3.7 \
+ plotters-backend-0.3.7 \
+ plotters-svg-0.3.7 \
+ png-0.18.1 \
+ poly1305-0.8.0 \
+ poly1305-0.9.1 \
+ polyval-0.6.2 \
+ polyval-0.7.3 \
+ portable-atomic-1.15.0 \
+ portmapper-0.19.3 \
+ positioned-io-0.3.5 \
+ postcard-1.1.3 \
+ postcard-derive-0.2.2 \
+ potential_utf-0.1.6 \
+ powerfmt-0.2.0 \
+ ppv-lite86-0.2.21 \
+ precomputed-hash-0.1.1 \
+ prefix-trie-0.8.4 \
+ primefield-0.14.0 \
+ primeorder-0.14.0-rc.10 \
+ proc-macro-crate-1.3.1 \
+ proc-macro-crate-2.0.2 \
+ proc-macro-crate-3.5.0 \
+ proc-macro-error-0.4.12 \
+ proc-macro-error-1.0.4 \
+ proc-macro-error-attr-0.4.12 \
+ proc-macro-error-attr-1.0.4 \
+ proc-macro-hack-0.5.20+deprecated \
+ proc-macro2-1.0.107 \
+ proptest-1.11.0 \
+ prost-0.14.4 \
+ prost-derive-0.14.4 \
+ pty-process-0.5.3 \
+ pxfm-0.1.30 \
+ qr2term-0.3.3 \
+ qrcode-0.14.1 \
+ quick-error-1.2.3 \
+ quick-xml-0.41.0 \
+ quote-1.0.47 \
+ r-efi-5.3.0 \
+ r-efi-6.0.0 \
+ rand-0.7.3 \
+ rand-0.9.5 \
+ rand-0.10.2 \
+ rand_chacha-0.2.2 \
+ rand_chacha-0.9.0 \
+ rand_core-0.5.1 \
+ rand_core-0.6.4 \
+ rand_core-0.9.5 \
+ rand_core-0.10.1 \
+ rand_hc-0.2.0 \
+ rand_pcg-0.10.2 \
+ rand_xorshift-0.4.0 \
+ range-collections-0.4.6 \
+ ratelimit-0.10.1 \
+ raw-window-handle-0.6.2 \
+ rayon-1.12.0 \
+ rayon-core-1.13.0 \
+ redb-4.2.0 \
+ redox_syscall-0.5.18 \
+ redox_users-0.5.2 \
+ ref-cast-1.0.27 \
+ ref-cast-impl-1.0.27 \
+ reflink-copy-0.1.30 \
+ regex-1.13.1 \
+ regex-automata-0.4.18 \
+ regex-syntax-0.8.11 \
+ reqwest-0.13.4 \
+ resolv-conf-0.7.6 \
+ rfc6979-0.5.0 \
+ ring-0.17.14 \
+ rmp-0.8.15 \
+ rmp-serde-1.3.1 \
+ route_manager-0.2.13 \
+ rpassword-7.5.4 \
+ rtnetlink-0.21.0 \
+ rtoolbox-0.0.6 \
+ russh-0.61.2 \
+ russh-cryptovec-0.61.0 \
+ russh-util-0.52.0 \
+ rustc-hash-2.1.3 \
+ rustc_version-0.4.1 \
+ rustix-0.38.44 \
+ rustix-1.1.4 \
+ rustls-0.23.43 \
+ rustls-native-certs-0.8.4 \
+ rustls-pki-types-1.15.1 \
+ rustls-platform-verifier-0.7.0 \
+ rustls-platform-verifier-android-0.1.1 \
+ rustls-webpki-0.103.15 \
+ rustversion-1.0.23 \
+ rusty-fork-0.3.1 \
+ ryu-1.0.23 \
+ salsa20-0.11.0 \
+ same-file-1.0.6 \
+ schannel-0.1.29 \
+ scoped-tls-1.0.1 \
+ scopeguard-1.2.0 \
+ scroll-0.12.0 \
+ scroll_derive-0.12.1 \
+ scrypt-0.12.0 \
+ sec1-0.8.1 \
+ security-framework-3.7.0 \
+ security-framework-sys-2.17.0 \
+ seize-0.5.1 \
+ selectors-0.38.0 \
+ self-replace-1.5.0 \
+ self_cell-1.3.0 \
+ semver-1.0.28 \
+ send_wrapper-0.6.0 \
+ serde-1.0.229 \
+ serde_bytes-0.11.19 \
+ serde_core-1.0.229 \
+ serde_derive-1.0.229 \
+ serde_json-1.0.151 \
+ serde_repr-0.1.21 \
+ serde_spanned-0.6.9 \
+ serde_spanned-1.1.1 \
+ serde_yml-0.0.13 \
+ serdect-0.4.3 \
+ servo_arc-0.4.3 \
+ sha1-0.11.0 \
+ sha1_smol-1.0.1 \
+ sha2-0.9.9 \
+ sha2-0.10.9 \
+ sha2-0.11.0 \
+ sha3-0.9.1 \
+ sha3-0.11.0 \
+ sharded-slab-0.1.7 \
+ shlex-2.0.1 \
+ signal-hook-0.3.18 \
+ signal-hook-mio-0.2.5 \
+ signal-hook-registry-1.4.8 \
+ signature-1.6.4 \
+ signature-3.0.0 \
+ simd-adler32-0.3.10 \
+ simd_cesu8-1.2.0 \
+ simdutf8-0.1.5 \
+ simple-dns-0.11.3 \
+ simple-dns-0.12.0 \
+ siphasher-0.3.11 \
+ siphasher-1.0.3 \
+ slab-0.4.12 \
+ smallvec-1.15.2 \
+ smawk-0.3.3 \
+ smol_str-0.1.24 \
+ smol_str-0.3.6 \
+ socket2-0.6.5 \
+ sorted-index-buffer-0.2.1 \
+ spez-0.1.2 \
+ spin-0.9.9 \
+ spin-0.10.1 \
+ spki-0.8.0 \
+ ssh-cipher-0.3.0-rc.9 \
+ ssh-encoding-0.3.0-rc.9 \
+ ssh-key-0.7.0-rc.10 \
+ stable_deref_trait-1.2.1 \
+ static_assertions-1.1.0 \
+ string_cache-0.9.0 \
+ string_cache_codegen-0.6.1 \
+ strsim-0.11.1 \
+ strum-0.28.0 \
+ strum_macros-0.28.0 \
+ subtle-2.6.1 \
+ swarm-discovery-0.6.3 \
+ symlink-0.1.0 \
+ syn-1.0.109 \
+ syn-2.0.119 \
+ syn-3.0.4 \
+ syn-mid-0.5.4 \
+ sync_wrapper-1.0.2 \
+ synstructure-0.13.2 \
+ system-configuration-0.7.0 \
+ system-configuration-sys-0.6.0 \
+ system-deps-6.2.2 \
+ tagptr-0.2.0 \
+ tao-0.37.0 \
+ tao-macros-0.1.4 \
+ tar-0.4.46 \
+ target-lexicon-0.12.16 \
+ tempfile-3.27.0 \
+ tendril-0.5.1 \
+ terminal_size-0.4.4 \
+ textwrap-0.16.2 \
+ thiserror-1.0.69 \
+ thiserror-2.0.20 \
+ thiserror-impl-1.0.69 \
+ thiserror-impl-2.0.20 \
+ thread_local-1.1.10 \
+ time-0.3.55 \
+ time-core-0.1.9 \
+ time-macros-0.2.32 \
+ tinystr-0.8.4 \
+ tinytemplate-1.2.1 \
+ tinyvec-1.12.0 \
+ tinyvec_macros-0.1.1 \
+ tokio-1.53.1 \
+ tokio-macros-2.7.2 \
+ tokio-rustls-0.26.4 \
+ tokio-socks-0.5.3 \
+ tokio-stream-0.1.19 \
+ tokio-util-0.7.19 \
+ tokio-websockets-0.13.3 \
+ toml-0.5.11 \
+ toml-0.8.2 \
+ toml-1.1.4+spec-1.1.0 \
+ toml_datetime-0.6.3 \
+ toml_datetime-1.1.1+spec-1.1.0 \
+ toml_edit-0.19.15 \
+ toml_edit-0.20.2 \
+ toml_edit-0.25.13+spec-1.1.0 \
+ toml_parser-1.1.3+spec-1.1.0 \
+ toml_writer-1.1.2+spec-1.1.0 \
+ torut-0.2.1 \
+ tower-0.5.3 \
+ tower-http-0.6.11 \
+ tower-layer-0.3.3 \
+ tower-service-0.3.3 \
+ tracing-0.1.44 \
+ tracing-appender-0.2.5 \
+ tracing-attributes-0.1.31 \
+ tracing-core-0.1.36 \
+ tracing-log-0.2.0 \
+ tracing-opentelemetry-0.33.0 \
+ tracing-oslog-0.3.0 \
+ tracing-subscriber-0.3.23 \
+ tray-icon-0.25.1 \
+ try-lock-0.2.5 \
+ tun-rs-2.8.9 \
+ typenum-1.20.1 \
+ uds_windows-1.2.1 \
+ unarray-0.1.4 \
+ unicase-2.9.0 \
+ unicode-ident-1.0.24 \
+ unicode-segmentation-1.13.3 \
+ unicode-width-0.2.2 \
+ unicode-xid-0.2.6 \
+ uniffi-0.29.5 \
+ uniffi_bindgen-0.29.5 \
+ uniffi_core-0.29.5 \
+ uniffi_internal_macros-0.29.5 \
+ uniffi_macros-0.29.5 \
+ uniffi_meta-0.29.5 \
+ uniffi_pipeline-0.29.5 \
+ uniffi_udl-0.29.5 \
+ unit-prefix-0.5.2 \
+ universal-hash-0.5.1 \
+ universal-hash-0.6.1 \
+ untrusted-0.9.0 \
+ url-2.5.8 \
+ utf8_iter-1.0.4 \
+ utf8parse-0.2.2 \
+ uuid-1.26.0 \
+ uzers-0.12.2 \
+ valuable-0.1.1 \
+ version-compare-0.2.1 \
+ version_check-0.9.5 \
+ wait-timeout-0.2.1 \
+ walkdir-2.5.0 \
+ want-0.3.1 \
+ wasi-0.9.0+wasi-snapshot-preview1 \
+ wasi-0.11.1+wasi-snapshot-preview1 \
+ wasip2-1.0.4+wasi-0.2.12 \
+ wasm-bindgen-0.2.127 \
+ wasm-bindgen-futures-0.4.77 \
+ wasm-bindgen-macro-0.2.127 \
+ wasm-bindgen-macro-support-0.2.127 \
+ wasm-bindgen-shared-0.2.127 \
+ wasm-streams-0.5.0 \
+ web-sys-0.3.104 \
+ web-time-1.1.0 \
+ web_atoms-0.2.6 \
+ webpki-root-certs-1.0.9 \
+ webpki-roots-1.0.9 \
+ webview2-com-0.39.1 \
+ webview2-com-macros-0.8.1 \
+ webview2-com-sys-0.39.1 \
+ weedle2-5.0.0 \
+ widestring-1.2.1 \
+ winapi-0.3.9 \
+ winapi-i686-pc-windows-gnu-0.4.0 \
+ winapi-util-0.1.11 \
+ winapi-x86_64-pc-windows-gnu-0.4.0 \
+ windows-0.61.3 \
+ windows-0.62.2 \
+ windows-collections-0.2.0 \
+ windows-collections-0.3.2 \
+ windows-core-0.61.2 \
+ windows-core-0.62.2 \
+ windows-future-0.2.1 \
+ windows-future-0.3.2 \
+ windows-implement-0.60.2 \
+ windows-interface-0.59.3 \
+ windows-link-0.1.3 \
+ windows-link-0.2.1 \
+ windows-numerics-0.2.0 \
+ windows-numerics-0.3.1 \
+ windows-registry-0.6.1 \
+ windows-result-0.3.4 \
+ windows-result-0.4.1 \
+ windows-service-0.8.1 \
+ windows-strings-0.4.2 \
+ windows-strings-0.5.1 \
+ windows-sys-0.45.0 \
+ windows-sys-0.52.0 \
+ windows-sys-0.59.0 \
+ windows-sys-0.61.2 \
+ windows-targets-0.42.2 \
+ windows-targets-0.52.6 \
+ windows-threading-0.1.0 \
+ windows-threading-0.2.1 \
+ windows-version-0.1.7 \
+ windows_aarch64_gnullvm-0.42.2 \
+ windows_aarch64_gnullvm-0.52.6 \
+ windows_aarch64_msvc-0.42.2 \
+ windows_aarch64_msvc-0.52.6 \
+ windows_i686_gnu-0.42.2 \
+ windows_i686_gnu-0.52.6 \
+ windows_i686_gnullvm-0.52.6 \
+ windows_i686_msvc-0.42.2 \
+ windows_i686_msvc-0.52.6 \
+ windows_x86_64_gnu-0.42.2 \
+ windows_x86_64_gnu-0.52.6 \
+ windows_x86_64_gnullvm-0.42.2 \
+ windows_x86_64_gnullvm-0.52.6 \
+ windows_x86_64_msvc-0.42.2 \
+ windows_x86_64_msvc-0.52.6 \
+ winnow-0.5.40 \
+ winnow-0.7.15 \
+ winnow-1.0.4 \
+ winreg-0.56.0 \
+ winresource-0.1.31 \
+ wit-bindgen-0.57.1 \
+ wmi-0.18.4 \
+ writeable-0.6.4 \
+ wry-0.57.0 \
+ ws_stream_wasm-0.7.5 \
+ xattr-1.6.1 \
+ xml-rs-0.8.29 \
+ xmltree-0.10.3 \
+ yaml-rust2-0.11.1 \
+ yoke-0.8.3 \
+ yoke-derive-0.8.2 \
+ zbus-5.19.0 \
+ zbus_macros-5.19.0 \
+ zbus_names-4.3.4 \
+ zcheapstr-1.1.0 \
+ zerocopy-0.8.56 \
+ zerocopy-derive-0.8.56 \
+ zerofrom-0.1.8 \
+ zerofrom-derive-0.1.7 \
+ zeroize-1.9.0 \
+ zeroize_derive-1.5.0 \
+ zerotrie-0.2.5 \
+ zerovec-0.11.8 \
+ zerovec-derive-0.11.6 \
+ zlib-rs-0.6.7 \
+ zmij-1.0.23 \
+ zvariant-5.15.0 \
+ zvariant_derive-5.15.0 \
+ zvariant_utils-4.2.0 \
+ netwatch@git+https://github.com/n0-computer/net-tools?branch=main\#d73b994abce8f683d7d6dcc163eee5eaefb952f5 \
+ iroh,iroh-base,iroh-dns,iroh-relay@git+https://github.com/rayfish/iroh?branch=rayfish-integration\#251af60ba1ca39645b6dd62ba0f845a74a764cb0 \
+ iroh-mdns-address-lookup@git+https://github.com/rayfish/iroh-address-lookups?rev=3c439994559d15fd6683695757ca72f70eccc060\#3c439994559d15fd6683695757ca72f70eccc060
diff --git a/net/rayfish/distinfo b/net/rayfish/distinfo
new file mode 100644
index 000000000000..143eda39b583
--- /dev/null
+++ b/net/rayfish/distinfo
@@ -0,0 +1,1657 @@
+TIMESTAMP = 1790642452
+SHA256 (rust/crates/acto-0.8.2.crate) = 598381761ee991bf2f1455f700380e2191fb370dc9df1ee764f348b7f089d8b6
+SIZE (rust/crates/acto-0.8.2.crate) = 19344
+SHA256 (rust/crates/adler2-2.0.1.crate) = 320119579fcad9c21884f5c4861d16174d0e06250625266f50fe6898340abefa
+SIZE (rust/crates/adler2-2.0.1.crate) = 13366
+SHA256 (rust/crates/aead-0.5.2.crate) = d122413f284cf2d62fb1b7db97e02edb8cda96d769b16e443a4f6195e35662b0
+SIZE (rust/crates/aead-0.5.2.crate) = 15509
+SHA256 (rust/crates/aead-0.6.1.crate) = 1973cfbc1a2daf9cf550e74e1f088c28e7f7d8c1e1418fb6c9dc5184b7e84c99
+SIZE (rust/crates/aead-0.6.1.crate) = 18672
+SHA256 (rust/crates/aes-0.8.4.crate) = b169f7a6d4742236a0a00c541b845991d0ac43e546831af1249753ab4c3aa3a0
+SIZE (rust/crates/aes-0.8.4.crate) = 124812
+SHA256 (rust/crates/aes-0.9.3.crate) = 35f0f96ce78e38c3dc6d8948aa8163d06385be74000f3c7a95bf1eef35d3ea32
+SIZE (rust/crates/aes-0.9.3.crate) = 112408
+SHA256 (rust/crates/aes-gcm-0.10.3.crate) = 831010a0f742e1209b3bcea8fab6a8e149051ba6099432c8cb2cc117dec3ead1
+SIZE (rust/crates/aes-gcm-0.10.3.crate) = 148991
+SHA256 (rust/crates/aes-gcm-0.11.1.crate) = 7f2b8006a0c83f52b62ba44a97b58bf76fe2f70a329e588f67f89691d93d498f
+SIZE (rust/crates/aes-gcm-0.11.1.crate) = 155976
+SHA256 (rust/crates/ahash-0.8.12.crate) = 5a15f179cd60c4584b8a8c596927aadc462e27f2ca70c04e0071964a73ba7a75
+SIZE (rust/crates/ahash-0.8.12.crate) = 43413
+SHA256 (rust/crates/aho-corasick-1.1.5.crate) = c982642fa9e8606056828ee9a8505737230110bb1099153c79efe865c59d12ba
+SIZE (rust/crates/aho-corasick-1.1.5.crate) = 184315
+SHA256 (rust/crates/allocator-api2-0.2.21.crate) = 683d7910e743518b0e34f1186f92494becacb047c7b6bf616c96772180fef923
+SIZE (rust/crates/allocator-api2-0.2.21.crate) = 63622
+SHA256 (rust/crates/android_system_properties-0.1.6.crate) = ae221649c9976a6f6c56ae1facf410f3ddb33cc661c4b7b61020a912d4237fbc
+SIZE (rust/crates/android_system_properties-0.1.6.crate) = 5625
+SHA256 (rust/crates/anes-0.1.6.crate) = 4b46cbb362ab8752921c97e041f5e366ee6297bd428a31275b9fcf1e380f7299
+SIZE (rust/crates/anes-0.1.6.crate) = 23857
+SHA256 (rust/crates/anstream-1.0.0.crate) = 824a212faf96e9acacdbd09febd34438f8f711fb84e09a8916013cd7815ca28d
+SIZE (rust/crates/anstream-1.0.0.crate) = 28916
+SHA256 (rust/crates/anstyle-1.0.14.crate) = 940b3a0ca603d1eade50a4846a2afffd5ef57a9feac2c0e2ec2e14f9ead76000
+SIZE (rust/crates/anstyle-1.0.14.crate) = 17787
+SHA256 (rust/crates/anstyle-parse-1.0.0.crate) = 52ce7f38b242319f7cabaa6813055467063ecdc9d355bbb4ce0c68908cd8130e
+SIZE (rust/crates/anstyle-parse-1.0.0.crate) = 22042
+SHA256 (rust/crates/anstyle-query-1.1.5.crate) = 40c48f72fd53cd289104fc64099abca73db4166ad86ea0b4341abe65af83dadc
+SIZE (rust/crates/anstyle-query-1.1.5.crate) = 10264
+SHA256 (rust/crates/anstyle-wincon-3.0.11.crate) = 291e6a250ff86cd4a820112fb8898808a366d8f9f58ce16d1f538353ad55747d
+SIZE (rust/crates/anstyle-wincon-3.0.11.crate) = 12638
+SHA256 (rust/crates/anyhow-1.0.104.crate) = 330a5ed07fa54e4702c9d6c4174f74427fc0ef6e214bbd677ae50a5099946470
+SIZE (rust/crates/anyhow-1.0.104.crate) = 48819
+SHA256 (rust/crates/arc-swap-1.9.2.crate) = c049c0be4daef0b145cb3555416b3b8ef5b7888a38aea1a3a155801fe7b0810b
+SIZE (rust/crates/arc-swap-1.9.2.crate) = 81495
+SHA256 (rust/crates/argon2-0.5.3.crate) = 3c3610892ee6e0cbce8ae2700349fcf8f98adb0dbfbee85aec3c9179d29cc072
+SIZE (rust/crates/argon2-0.5.3.crate) = 28795
+SHA256 (rust/crates/argon2-0.6.0.crate) = 134c52ddac6d63c576bef8168db10c83c49c26444ecbc68060fef078925a901c
+SIZE (rust/crates/argon2-0.6.0.crate) = 34538
+SHA256 (rust/crates/arraydeque-0.5.1.crate) = 7d902e3d592a523def97af8f317b08ce16b7ab854c1985a0c671e6f15cebc236
+SIZE (rust/crates/arraydeque-0.5.1.crate) = 17671
+SHA256 (rust/crates/arrayvec-0.7.8.crate) = d3fb67a6e08acf24fdeccbac2cb6ac4305825bd1f117462e0e6f2f193345ad56
+SIZE (rust/crates/arrayvec-0.7.8.crate) = 33260
+SHA256 (rust/crates/askama-0.13.1.crate) = 5d4744ed2eef2645831b441d8f5459689ade2ab27c854488fbab1fbe94fce1a7
+SIZE (rust/crates/askama-0.13.1.crate) = 41236
+SHA256 (rust/crates/askama_derive-0.13.1.crate) = d661e0f57be36a5c14c48f78d09011e67e0cb618f269cca9f2fd8d15b68c46ac
+SIZE (rust/crates/askama_derive-0.13.1.crate) = 63648
+SHA256 (rust/crates/askama_parser-0.13.0.crate) = cf315ce6524c857bb129ff794935cf6d42c82a6cff60526fe2a63593de4d0d4f
+SIZE (rust/crates/askama_parser-0.13.0.crate) = 57577
+SHA256 (rust/crates/async-broadcast-0.7.2.crate) = 435a87a52755b8f27fcf321ac4f04b2802e337c8c4872923137471ec39c37532
+SIZE (rust/crates/async-broadcast-0.7.2.crate) = 22746
+SHA256 (rust/crates/async-channel-2.5.0.crate) = 924ed96dd52d1b75e9c1a3e6275715fd320f5f9439fb5a4a11fa51f4221158d2
+SIZE (rust/crates/async-channel-2.5.0.crate) = 18624
+SHA256 (rust/crates/async-recursion-1.1.1.crate) = 3b43422f69d8ff38f95f1b2bb76517c91589a924d1559a0e935d7c8ce0274c11
+SIZE (rust/crates/async-recursion-1.1.1.crate) = 14874
+SHA256 (rust/crates/async-task-4.7.1.crate) = 8b75356056920673b02621b35afd0f7dda9306d03c79a30f5c56c44cf256e3de
+SIZE (rust/crates/async-task-4.7.1.crate) = 38077
+SHA256 (rust/crates/async-trait-0.1.92.crate) = 82f6aeea286b8eb4dd3431a1be1b59d290ace00f5bfd8e2a159bc2a05e2c1667
*** 1673 LINES SKIPPED ***