Report a Bug or Get Help

Found a bug, or want something Freenet doesn’t do yet? Please tell us. This page shows you where.

Freenet is a network plus a set of separate apps built on top of it, and each has its own issue tracker, so first pick the one you were using. If you pick the wrong one, we’ll move your report.

Filing a report on GitHub needs a free GitHub account. If you’d rather not create one, tell us in our Matrix room and someone will file it for you. The exception is a security vulnerability, which should never be posted anywhere public (see below).

Found a security vulnerability? Please don’t open a public issue or report it anywhere else public. A public write-up of an unfixed hole tells everyone how to attack the network before there’s a fix.

Use the freenet-core advisory form even if the bug is in River, Delta or another project. The form takes reports for every project and needs a GitHub account. If you don’t have one, email Ian at ian at freenet dot org (written out so address scrapers don’t pick it up). We’ll acknowledge your report and work with you on a fix and a coordinated disclosure.

What were you using?

Group chat (River)

Messages not sending, a room that won’t load, an invite that doesn’t work, members missing, anything in the chat interface itself.

→ Report a River bug · existing River issues

Freenet itself

Install or uninstall trouble, the node won’t start or won’t stay running, no connections, high CPU or bandwidth use, the menu bar or system tray icon, errors from the freenet command. Anything underneath the apps rather than inside one.

→ Report a Freenet bug · existing Freenet issues

This website

A broken link, documentation that’s wrong or confusing, a page that won’t load, a typo.

→ Report a website bug · existing website issues

Ghost Keys

Trouble with the Ghostkey Vault: importing a key, backing one up, an app that can’t get a signature.

→ Report a Ghostkey Vault bug · existing Ghostkey Vault issues

Problems with donations and Ghost Key certificates belong to this website, not the vault, so report them as website bugs.

One of the other apps

Each of these apps has its own tracker: Delta, Mail, freenet-git, Raven and Atlas. If you’re not sure which one you were using, the apps page describes what each one does. Every tracker is also listed further down this page.

Not sure

Use the Freenet issue tracker. It’s the one the maintainers watch most closely, and they’ll move your report if it belongs somewhere else. A clear description of what happened matters far more than picking the right tracker.

If you’d rather have someone work it out with you, ask in Matrix.

Every project’s tracker

Every project you can file against, most-starred first. Most people only ever need the first three. Each name links to that project’s open issues, so you can check whether yours has already been reported. The New issue button is at the top of that page.

ProjectWhat it covers
freenet-coreThe Freenet peer itself
riverRiver group chat and riverctl
webThis website, freenet.org
freenet-gitGit hosting over Freenet
deltaDecentralized website builder
mailDecentralized email
atlasDiscovery layer, at the RFC stage
ravenLive social feed
freenet-agent-skillsSkills for AI coding agents
freenet-stdlibContract and delegate library
freenet-wikiDecentralized wiki
replay-channelRust broadcast-channel library
freenet-scaffoldMergeable contract state crate
paper-1Source of the architectural whitepaper
freenet-telemetry-dashboardThe dashboard at telemetry.freenet.org
ghostkeysGhost Keys vault and delegate
freenet-migrateApp data across version changes
freenet-delegatesShared utility delegates

Projects not listed are internal infrastructure, dormant, or have issues turned off. If a bug seems to belong to one of those, file it against freenet-core and we’ll move it.

What to put in a bug report

You don’t need to diagnose the problem. What makes a report easy to act on:

  • What you were doing, what you expected, and what happened instead.
  • Whether it happens every time or only sometimes.
  • Your operating system, and how you installed Freenet.
  • A screenshot, if it’s something you can see.

The quick way to gather diagnostics

If Freenet is installed on your machine, run this in a terminal:

freenet service report

It gathers your version, operating system, recent log entries and configuration, then asks you to describe the problem, uploads everything, and prints a short report code that looks like X7K2M9. Put that code in your bug report and the maintainers can pull up everything they need. If your node isn’t responding, the command waits up to a minute for a reply before carrying on, so the prompt may take a while to appear.

That upload is more than logs, so it’s worth knowing what’s in it: your machine’s hostname, recent log lines, your Freenet configuration file (which includes paths containing your username), and, if your node is running, its current network state. That state covers your peer ID, the addresses of the peers you’re connected to, and every contract your node holds. For River that includes the rooms you’re in.

Your IP address is recorded when the upload is received.

If you’d rather read all of that before sending it, freenet service report --local report.json writes the same bundle to a file on your own machine and uploads nothing. You can’t upload that saved file later, so once you’re happy with it, run the command again without --local to collect and send a fresh bundle.

Prefer to talk to a person?

Freenet’s developers and users talk in our Matrix room. It’s a good place for “is this even a bug?”, for questions the FAQ doesn’t answer, and for anything you’d rather not write up as a formal report.

Want to help fix things?

A clear bug report is already a real contribution. If you want to go further, freenet-core’s contributing guide explains how to submit changes. Read it before you write any code: feature work needs an agreed issue first, and pull requests that skip that step get closed. The Build section covers how Freenet works and how to write apps for it.