Report a Bug or Get Help

Found a bug, or want something Freenet doesn’t do yet? Please tell us. This page points you at the right place to say it.

Freenet is a network plus a set of separate apps built on top of it, and each one keeps its own list of bugs. So the first step is picking which one you were using. If you pick wrong, we’ll move your report for you.

Filing a report on GitHub needs a free GitHub account. If you’d rather not create one, say it in our Matrix room instead and someone will file it for you.

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

A donation that didn’t go through, or a Ghost Key certificate that never arrived, is handled by this website rather than by the vault, so report those here.

One of the other apps

Each keeps its own list: Delta, Mail, freenet-git, Raven, Atlas and Harvest. The apps page says what each one does, if you’re not sure which you were using.

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. Describing clearly what happened matters far more than landing it in the right place the first time.

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

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 answering, that step waits up to a minute before giving up, 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. There’s no way to send a saved file afterwards, so once you’re happy with it, run the command again without --local and it will collect a fresh copy of the same things.

Prefer to talk to a person?

Our Matrix room is where Freenet’s developers and users are. 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 the project takes 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.