From 1bb973e4a7fb10148df8d3401adc95a4cce85a31 Mon Sep 17 00:00:00 2001 From: import this <97586125+serinko@users.noreply.github.com> Date: Fri, 19 Sep 2025 13:15:16 +0000 Subject: [PATCH] Feature: Nym node html landing page (#6053) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * add proper landing page and hook it to node autorun * Update nym-node version --------- Co-authored-by: benedetta davico <46782255+benedettadavico@users.noreply.github.com> Co-authored-by: Jędrzej Stuczyński --- nym-node/Cargo.toml | 2 +- scripts/nym-node-setup/landing-page.html | 250 ++++++++++++++++-- .../nym-node-setup/setup-nginx-proxy-wss.sh | 57 +++- 3 files changed, 284 insertions(+), 25 deletions(-) diff --git a/nym-node/Cargo.toml b/nym-node/Cargo.toml index 45f494d408..f73e8a2962 100644 --- a/nym-node/Cargo.toml +++ b/nym-node/Cargo.toml @@ -3,7 +3,7 @@ [package] name = "nym-node" -version = "1.18.0" +version = "1.16.0" authors.workspace = true repository.workspace = true homepage.workspace = true diff --git a/scripts/nym-node-setup/landing-page.html b/scripts/nym-node-setup/landing-page.html index 4e09450870..cdf09e5f77 100644 --- a/scripts/nym-node-setup/landing-page.html +++ b/scripts/nym-node-setup/landing-page.html @@ -1,24 +1,238 @@ - + - - - Nym Node - + +This is a NYM Exit Gateway + + + + + + + + -

Nym Node

-

This is a devrel testing placeholder page for Nym Node landing page.

+
+

This is a NYM Exit Gateway

+ + +

+ You are most likely accessing this website because you've had some issue with + the traffic coming from this IP. This router is part of the NYM project, which is + dedicated to create outstanding + privacy software that is legally compliant without sacrificing integrity or + having any backdoors. + This router IP should be generating no other traffic, unless it has been + compromised. +

+ +

+ If you are a representative of a company who feels that this router is being + used to violate the DMCA, please be aware that this machine does not host or + contain any illegal content. Also be aware that network infrastructure + maintainers are not liable for the type of content that passes over their + equipment, in accordance with DMCA + "safe harbor" provisions. In other words, you will have just as much luck + sending a takedown notice to the Internet backbone providers. +

+ +

+ Nym Network is operated by a decentralised community of node operators + and stakers. Nym Network is trustless, meaning that no parts of the system + nor its operators have access to information that might compromise the privacy + of users. Nym software enacts a strict principle of data minimisation and has + no back doors. The Nym mixnet works by encrypting packets in several layers + and relaying those through a multi-layered network called a mixnet, eventually + letting the traffic exit the Nym mixnet through an exit gateway like this one. + This design makes it impossible for a service to know which user is connecting to it, + since it can only see the IP-address of the Nym exit gateway: +

+ +

+ + Illustration showing how a user might connect to a service through the Nym Network. The user first sends their data through three daisy-chained encrypted Nym nodes that exist on three different continents. Then the last Nym node in the chain connects to the target service over the normal internet. + + + + + + + + + + + + + + + + + + + + + + + The user + This server + Your service + Nym network link + Unencrypted link + + + + + + +

+ +

Read more about how Nym works.

+ +

+ Nym relies on a growing ecosystem of users, developers and researcher partners + aligned with the mission to make sure Nym software is running, remains usable + and solves real problems. While Nym is not designed for malicious computer + users, it is true that they can use the network for malicious ends. This + is largely because criminals and hackers have significantly better access to + privacy and anonymity than do the regular users whom they prey upon. Criminals + can and do build, sell, and trade far larger and more powerful networks than + Nym on a daily basis. Thus, in the mind of this operator, the social need for + easily accessible censorship-resistant private, anonymous communication trumps + the risk of unskilled bad actors, who are almost always more easily uncovered + by traditional police work than by extensive monitoring and surveillance anyway. +

+ +

+ In terms of applicable law, the best way to understand Nym is to consider it a + network of routers operating as common carriers, much like the Internet + backbone. However, unlike the Internet backbone routers, Nym mixnodes do not + contain identifiable routing information about the source of a packet and do + mix the user internet traffic with that of other users, making communications + private and protecting not just the user content but the metadata + (user's IP address, who the user talks to, when, where, from what device and + more) and no single Nym node can determine both the origin and destination + of a given transmission. +

+ +

+ As such, there is nothing the operator of this Exit Gateway can do to help you + track the connection further. This Exit Gateway maintains no logs of any of the + Nym Network, so there is little that can be done to trace either legitimate or + illegitimate traffic and most importantly the operator cannot tell apart one from + the other because of the cryptography design making such selection impossible + for the operator. Attempts to seize this router will accomplish nothing. +

+ +

+ To decentralise and enable privacy for a broad range of services, this + Exit Gateway adopts an Exit Policy + serving as a safeguard. +

+ +

+ That being said, if you still have a complaint about the router, you may email the + maintainer. If complaints are related to a particular service that is being abused, + the maintainer will submit that to the NYM Operators Community in order to add it to the Exit Policy cited above. + The community governance can only blacklist entire IP:port destinations across the entire network. +

+ +

+ You also have the option of blocking this IP address and others on the Nym network if you so desire. + The Nym project provides a + web service to fetch a list of all IP addresses of Nym Gateway Exit nodes that allow exiting to a + specified IP:port combination. Please be considerate when using these options. +

+

+ +

+
diff --git a/scripts/nym-node-setup/setup-nginx-proxy-wss.sh b/scripts/nym-node-setup/setup-nginx-proxy-wss.sh index 7dd613fd2a..03d000ad99 100644 --- a/scripts/nym-node-setup/setup-nginx-proxy-wss.sh +++ b/scripts/nym-node-setup/setup-nginx-proxy-wss.sh @@ -63,21 +63,64 @@ cert_ok() { [[ -s "/etc/letsencrypt/live/${HOSTNAME}/fullchain.pem" && -s "/etc/letsencrypt/live/${HOSTNAME}/privkey.pem" ]] } -fetch_landing() { +fetch_landing_html() { local url="https://raw.githubusercontent.com/nymtech/nym/refs/heads/feature/node-setup-cli/scripts/nym-node-setup/landing-page.html" + mkdir -p "${WEBROOT}" + if command -v curl >/dev/null 2>&1; then curl -fsSL "$url" -o "${WEBROOT}/index.html" || true else wget -qO "${WEBROOT}/index.html" "$url" || true fi + if [[ ! -s "${WEBROOT}/index.html" ]]; then cat > "${WEBROOT}/index.html" <<'HTML' -Nym Node - -

Nym node landing

-

This is a placeholder page served by nginx.

- + + + + + + Nym Exit Gateway + + + +

Nym Exit Gateway

+

This is a Nym Exit Gateway. The operator of this router has no access to any of the data routing through that due to encryption design.

+ + HTML + +HTML + fi +} + +inject_email() { + if [[ -n "${EMAIL:-}" ]]; then + sed -i "s|/dev/null 2>&1; then + curl -fsSL "$logo_url" -o "${WEBROOT}/images/nym_logo.png" || true + else + wget -qO "${WEBROOT}/images/nym_logo.png" "$logo_url" || true + fi fi } @@ -85,6 +128,8 @@ reload_nginx() { nginx -t && systemctl reload nginx; } # landing page (idempotent) fetch_landing +inject_email +fetch_logo echo "Landing page at ${WEBROOT}/index.html" # disable default and stale SSL configs