@le-space/rootfs 0.12.7 → 0.12.8
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/package.json
CHANGED
|
@@ -14,18 +14,24 @@ CADDY_UPSTREAM_WSS_PORT="${CADDY_UPSTREAM_WSS_PORT:-9092}"
|
|
|
14
14
|
CADDY_UPSTREAM_HOST="${CADDY_UPSTREAM_HOST:-127.0.0.1}"
|
|
15
15
|
CADDY_UPSTREAM_METRICS_PORT="${CADDY_UPSTREAM_METRICS_PORT:-9090}"
|
|
16
16
|
CADDY_UPSTREAM_ATTEST_PORT="${CADDY_UPSTREAM_ATTEST_PORT:-8787}"
|
|
17
|
-
# Internal libp2p listen ports. On the Aleph VM, IPv4 is NAT/port-mapped
|
|
18
|
-
# is announced on the externally assigned host ports
|
|
19
|
-
# routed with NO NAT — the VM is reachable directly on the real listen ports,
|
|
20
|
-
# and the mapped host ports are closed over IPv6. IPv6 must therefore be
|
|
21
|
-
# announced on these internal ports, otherwise AutoNAT/AutoTLS dial-backs to the
|
|
22
|
-
# IPv6 address hit a closed mapped port, the address is never confirmed, and
|
|
23
|
-
# `*.libp2p.direct` AutoTLS never provisions a certificate over IPv6.
|
|
17
|
+
# Internal libp2p listen ports. On the Aleph VM, IPv4 is NAT/port-mapped, so it
|
|
18
|
+
# is announced on the externally assigned host ports.
|
|
24
19
|
RELAY_TCP_LISTEN_PORT="${RELAY_TCP_LISTEN_PORT:-9091}"
|
|
25
20
|
RELAY_WS_LISTEN_PORT="${RELAY_WS_LISTEN_PORT:-${CADDY_UPSTREAM_WSS_PORT}}"
|
|
26
21
|
RELAY_WEBRTC_LISTEN_PORT="${RELAY_WEBRTC_LISTEN_PORT:-9093}"
|
|
27
22
|
RELAY_QUIC_LISTEN_PORT="${RELAY_QUIC_LISTEN_PORT:-9094}"
|
|
28
23
|
AUTOTLS_REFRESH_SERVICE="${AUTOTLS_REFRESH_SERVICE:-orbitdb-relay-autotls-refresh.service}"
|
|
24
|
+
# The VM's own IPv6 address is routed to it without NAT, but inbound IPv6 does
|
|
25
|
+
# not reach the relay's ports. Measured on 2026-11-15 from inside a running
|
|
26
|
+
# relay on vm4.alephvision.eu: the relay listened on [::]:9091 and [::]:9092,
|
|
27
|
+
# the guest had no firewall, and tcpdump on ens3 saw IPv6 SYNs for 22 and 443
|
|
28
|
+
# arrive while those for 9090, 9091 and 9092 never did; on other CRNs nothing
|
|
29
|
+
# answered over IPv6 at all. GitHub runners have no IPv6, so the deploy probe
|
|
30
|
+
# reports these addresses as "not checked" and never catches it. Announcing
|
|
31
|
+
# them only sends IPv6 peers to dead addresses first, so the relay neither
|
|
32
|
+
# announces nor listens on raw IPv6 unless a CRN is known to pass it. Browsers
|
|
33
|
+
# still reach it over IPv6 through the 2n6 proxy (/dns6/... on 443).
|
|
34
|
+
ANNOUNCE_PUBLIC_IPV6="${ANNOUNCE_PUBLIC_IPV6:-0}"
|
|
29
35
|
BOOTSTRAP_REFRESH_TIMER="${BOOTSTRAP_REFRESH_TIMER:-orbitdb-relay-bootstrap-refresh.timer}"
|
|
30
36
|
BOOTSTRAP_REFRESH_SERVICE="${BOOTSTRAP_REFRESH_SERVICE:-orbitdb-relay-bootstrap-refresh.service}"
|
|
31
37
|
BOOTSTRAP_DEREGISTER_SERVICE="${BOOTSTRAP_DEREGISTER_SERVICE:-orbitdb-relay-bootstrap-deregister.service}"
|
|
@@ -260,7 +266,7 @@ announce=(
|
|
|
260
266
|
"/ip4/${PUBLIC_IPV4}/tcp/${TCP_PORT}"
|
|
261
267
|
)
|
|
262
268
|
|
|
263
|
-
if [ -n "${PUBLIC_IPV6}" ]; then
|
|
269
|
+
if [ -n "${PUBLIC_IPV6}" ] && [ "${ANNOUNCE_PUBLIC_IPV6}" = "1" ]; then
|
|
264
270
|
announce+=(
|
|
265
271
|
"/ip6/${PUBLIC_IPV6}/tcp/${RELAY_TCP_LISTEN_PORT}"
|
|
266
272
|
)
|
|
@@ -272,20 +278,20 @@ if [ -n "${PROXY_HOSTNAME}" ]; then
|
|
|
272
278
|
fi
|
|
273
279
|
|
|
274
280
|
announce+=("/ip4/${PUBLIC_IPV4}/tcp/${WS_PORT}/ws")
|
|
275
|
-
if [ -n "${PUBLIC_IPV6}" ]; then
|
|
281
|
+
if [ -n "${PUBLIC_IPV6}" ] && [ "${ANNOUNCE_PUBLIC_IPV6}" = "1" ]; then
|
|
276
282
|
announce+=("/ip6/${PUBLIC_IPV6}/tcp/${RELAY_WS_LISTEN_PORT}/ws")
|
|
277
283
|
fi
|
|
278
284
|
|
|
279
285
|
if [ -n "${WEBRTC_PORT}" ]; then
|
|
280
286
|
announce+=("/ip4/${PUBLIC_IPV4}/udp/${WEBRTC_PORT}/webrtc-direct")
|
|
281
|
-
if [ -n "${PUBLIC_IPV6}" ]; then
|
|
287
|
+
if [ -n "${PUBLIC_IPV6}" ] && [ "${ANNOUNCE_PUBLIC_IPV6}" = "1" ]; then
|
|
282
288
|
announce+=("/ip6/${PUBLIC_IPV6}/udp/${RELAY_WEBRTC_LISTEN_PORT}/webrtc-direct")
|
|
283
289
|
fi
|
|
284
290
|
fi
|
|
285
291
|
|
|
286
292
|
if [ -n "${QUIC_PORT}" ]; then
|
|
287
293
|
announce+=("/ip4/${PUBLIC_IPV4}/udp/${QUIC_PORT}/quic-v1")
|
|
288
|
-
if [ -n "${PUBLIC_IPV6}" ]; then
|
|
294
|
+
if [ -n "${PUBLIC_IPV6}" ] && [ "${ANNOUNCE_PUBLIC_IPV6}" = "1" ]; then
|
|
289
295
|
announce+=("/ip6/${PUBLIC_IPV6}/udp/${RELAY_QUIC_LISTEN_PORT}/quic-v1")
|
|
290
296
|
fi
|
|
291
297
|
fi
|
|
@@ -296,6 +302,13 @@ write_env_var "PUBLIC_IPV4" "${PUBLIC_IPV4}"
|
|
|
296
302
|
if [ -n "${PUBLIC_IPV6}" ]; then
|
|
297
303
|
write_env_var "PUBLIC_IPV6" "${PUBLIC_IPV6}"
|
|
298
304
|
fi
|
|
305
|
+
# Listening on [::] would put the address back: libp2p announces the global
|
|
306
|
+
# IPv6 of every interface it listens on, appendAnnounce or not.
|
|
307
|
+
if [ "${ANNOUNCE_PUBLIC_IPV6}" = "1" ]; then
|
|
308
|
+
write_env_var "RELAY_DISABLE_IPV6" "0"
|
|
309
|
+
else
|
|
310
|
+
write_env_var "RELAY_DISABLE_IPV6" "1"
|
|
311
|
+
fi
|
|
299
312
|
write_env_var "EXTERNAL_RELAY_TCP_PORT" "${TCP_PORT}"
|
|
300
313
|
write_env_var "EXTERNAL_RELAY_WS_PORT" "${WS_PORT}"
|
|
301
314
|
if [ -n "${PROXY_HOSTNAME}" ]; then
|
|
Binary file
|