From 5f43264c3445d4123d8366cc846695896a9da910 Mon Sep 17 00:00:00 2001 From: Ian Clarke Date: Sun, 9 Aug 2026 11:59:58 -0500 Subject: [PATCH 1/3] docs(quickstart): stop competing with /try/, and link to it MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit /quickstart/ was titled "Try Freenet: Join River", which collided with /try/ ("Try Freenet in your browser"). The two were near-indistinguishable in a tab strip or a search result, while the nav called the page a third thing, "Quickstart". The collision is a leftover of one-directional editing. /quickstart/ got that title on 2026-05-04 (7e3cb08d), two months before /try/ existed. The /try/ work on 2026-07-07 (#68/#69/#70) added the new page and rewired the homepage, but never came back to the older one. The link was one-way for the same reason: /try/ pointed at /quickstart/ twice, /quickstart/ pointed at /try/ not at all. So anyone arriving from the nav, a search result, /apps/, /river/ or the manual never learned the no-install option existed, which is the direction that matters more since the install page is the one carrying the friction. - Title and become "Install Freenet: Join River", matching the homepage's primary CTA and freeing "Try Freenet" for /try/. The URL is unchanged, so no redirects. - A pointer to /try/ sits above Step 1, before the install friction rather than buried in "What's Next?", and describes the demo the way /try/ describes itself ("hosted demo", runs on our server, a preview). Both pages now name each other in the other's own vocabulary: /quickstart/ links "Try River in your browser", /try/ links "Install Freenet →". Verified with cargo make check-links (self-test plus 222 pages, no broken references) and by screenshotting both pages at 1280px and 390px. [AI-assisted - Claude] Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01KBzsn4BUH4dHQ9gMHSGj2P --- hugo-site/content/quickstart/_index.md | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/hugo-site/content/quickstart/_index.md b/hugo-site/content/quickstart/_index.md index a7d83446..ba3aa5b0 100644 --- a/hugo-site/content/quickstart/_index.md +++ b/hugo-site/content/quickstart/_index.md @@ -1,5 +1,5 @@ --- -title: "Try Freenet: Join River" +title: "Install Freenet: Join River" date: 2025-01-01 draft: false --- @@ -10,6 +10,10 @@ It's the fastest way to see the network in action. The room runs as a Freenet contract: code that lives across the peer-to-peer network instead of on a central server. No company hosts it, no account to make, no admin who can shut it down. +Want to look before installing? [Try River in your browser](/try/), a hosted demo of this same +room that needs no download. It runs on our server rather than peer-to-peer, so it's a preview +rather than the real thing. + {{< alert type="warning" >}} **Alpha notes:** Freenet is under active development. - **Auto-updates:** your peer updates as the network evolves; older versions stop working over From 5381858c21a0f98bec6e054deae0ccef56184bd6 Mon Sep 17 00:00:00 2001 From: Ian Clarke <sanity@users.noreply.github.com> Date: Sun, 9 Aug 2026 12:08:17 -0500 Subject: [PATCH 2/3] docs(quickstart): fix an inaccurate claim about the hosted demo Review found the new paragraph described /try/ as running "on our server rather than peer-to-peer". That is wrong, and it made /quickstart/ claim more centralization than /try/ claims for itself. try.freenet.org is a Freenet peer we run, not a non-P2P reimplementation. It serves the same node-gateway path shape a local peer serves, for the same contract key: /v1/contract/web/raAqMhMG7KUpXBU2SxgCQ3Vh4PYjttxdSWd9ftV7RLv/ against try.freenet.org, versus localhost:7509 for an installed peer (the default base in themes/freenet/layouts/shortcodes/river-invite-button.html). What is centralized is whose peer holds your session, not whether the network is involved. Reworded to say that, matching how /try/ puts it ("your data lives with us"). Two more review findings: - "fastest way to see the network in action" was contradicted one paragraph later by a no-download option. Now "best way". - Troubleshooting's network-requirements note was a dead end for exactly the reader /try/ serves: someone whose firewall blocks UDP hole punching, who has already tried to install and failed. It now points there, since the browser demo reaches the network over HTTPS. Not adopted: propagating /try/'s "export your data in one click" claim to this page. The reviewer flagged it as unverified and I did not verify it, so it stays on the one page that already asserts it. Verified again with a clean build: check-links self-test passes, no broken internal links across 222 pages. [AI-assisted - Claude] Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01KBzsn4BUH4dHQ9gMHSGj2P --- hugo-site/content/quickstart/_index.md | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/hugo-site/content/quickstart/_index.md b/hugo-site/content/quickstart/_index.md index ba3aa5b0..d2a26eb0 100644 --- a/hugo-site/content/quickstart/_index.md +++ b/hugo-site/content/quickstart/_index.md @@ -5,14 +5,14 @@ draft: false --- Install Freenet and you'll join the live chat room where the project's developers and users talk. -It's the fastest way to see the network in action. +It's the best way to see the network in action. The room runs as a Freenet contract: code that lives across the peer-to-peer network instead of on a central server. No company hosts it, no account to make, no admin who can shut it down. Want to look before installing? [Try River in your browser](/try/), a hosted demo of this same -room that needs no download. It runs on our server rather than peer-to-peer, so it's a preview -rather than the real thing. +room with no download. It runs on a peer we host instead of one on your machine, so your data +lives with us and it's a preview rather than the real thing. {{< alert type="warning" >}} **Alpha notes:** Freenet is under active development. @@ -55,7 +55,9 @@ room name, click **"Leave Room"**, then get a new invite. system-wide service instead: `sudo freenet service install --system` **Network requirements:** Freenet uses UDP hole punching for peer-to-peer connections. Most home -routers support this without configuration. Strict corporate firewalls may block connections. +routers support this without configuration. Strict corporate firewalls may block connections. If +yours does, [River in your browser](/try/) still works, since it reaches the network through a +peer we host. Need to remove Freenet? See the [uninstall guide](/uninstall/). From 0f8155879d9f2cb5f03cc40922474089686c471a Mon Sep 17 00:00:00 2001 From: Ian Clarke <sanity@users.noreply.github.com> Date: Sun, 9 Aug 2026 12:13:46 -0500 Subject: [PATCH 3/3] docs(quickstart): balance the hosted-demo caveats Second review pass. Three copy findings, all in the text this PR added: - "your data lives with us" carried the alarming half of /try/'s framing without the mitigation that follows it there ("encrypted with your access key, so while you're not using it even we can't read it"). A reader who never clicks through got only the scary part. Dropped rather than duplicated: "a preview rather than the real thing" already states the tradeoff, and /try/ carries the full data story where the reader actually decides to use it. - The firewall note promised the demo "still works", unconditional. The transport claim holds for the parts this repo can show (the page and the invite API are both HTTPS/443), but River in the browser also needs a WebSocket to the hosted node, which lives in another repo and was not verified, and a DPI proxy can block WS upgrades while allowing HTTPS. Now "usually still works", and says "over HTTPS" so the reason is legible. - That same sentence called it "River in your browser" with no indication it is hosted. Someone deep-linking to #troubleshooting from a search would read it as the real thing. Now "the hosted demo". - "best way to see the network in action" was still an unsupported superlative sitting above a paragraph that offers a different path first. Now "for real", which is the distinction that actually holds. Clean rebuild: check-links self-test passes, no broken internal links across 222 pages, and both /try/ links plus the new wording confirmed present in the built HTML. Re-screenshotted at 1280px. [AI-assisted - Claude] Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01KBzsn4BUH4dHQ9gMHSGj2P --- hugo-site/content/quickstart/_index.md | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/hugo-site/content/quickstart/_index.md b/hugo-site/content/quickstart/_index.md index d2a26eb0..e8158c39 100644 --- a/hugo-site/content/quickstart/_index.md +++ b/hugo-site/content/quickstart/_index.md @@ -5,14 +5,14 @@ draft: false --- Install Freenet and you'll join the live chat room where the project's developers and users talk. -It's the best way to see the network in action. +It's the best way to see the network for real. The room runs as a Freenet contract: code that lives across the peer-to-peer network instead of on a central server. No company hosts it, no account to make, no admin who can shut it down. Want to look before installing? [Try River in your browser](/try/), a hosted demo of this same -room with no download. It runs on a peer we host instead of one on your machine, so your data -lives with us and it's a preview rather than the real thing. +room with no download. It runs on a peer we host instead of one on your machine, so it's a +preview rather than the real thing. {{< alert type="warning" >}} **Alpha notes:** Freenet is under active development. @@ -56,8 +56,8 @@ system-wide service instead: `sudo freenet service install --system` **Network requirements:** Freenet uses UDP hole punching for peer-to-peer connections. Most home routers support this without configuration. Strict corporate firewalls may block connections. If -yours does, [River in your browser](/try/) still works, since it reaches the network through a -peer we host. +yours does, the [hosted demo](/try/) usually still works, since it reaches the network over HTTPS +through a peer we host. Need to remove Freenet? See the [uninstall guide](/uninstall/).