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.
| Project | What it covers |
|---|---|
| freenet-core | The Freenet peer itself |
| river | River group chat and riverctl |
| web | This website, freenet.org |
| freenet-git | Git hosting over Freenet |
| delta | Decentralized website builder |
| Decentralized email | |
| atlas | Discovery layer, at the RFC stage |
| raven | Live social feed |
| freenet-agent-skills | Skills for AI coding agents |
| freenet-stdlib | Contract and delegate library |
| freenet-wiki | Decentralized wiki |
| replay-channel | Rust broadcast-channel library |
| freenet-scaffold | Mergeable contract state crate |
| paper-1 | Source of the architectural whitepaper |
| freenet-telemetry-dashboard | The dashboard at telemetry.freenet.org |
| ghostkeys | Ghost Keys vault and delegate |
| freenet-migrate | App data across version changes |
| freenet-delegates | Shared 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.