A linktree for the fediverse - activitypub enabled profiles
  • C# 85.7%
  • CSS 5.4%
  • HTML 5.3%
  • JavaScript 2.1%
  • Python 0.9%
  • Other 0.6%
Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
2026-10-03 20:25:23 +02:00
.forgejo/workflows Select large Kubernetes workers for heavier CI jobs [skip ci] 2026-10-03 20:25:23 +02:00
charts/fediprofile fix: bound retained feed item history 2026-09-29 18:30:11 +02:00
docs Revive withdrawn relay publications with fenced announcement generations 2026-10-01 00:00:20 +02:00
scripts Run native checks on Kubernetes and select ARM only for published images 2026-10-03 14:35:35 +02:00
src Run native checks on Kubernetes and select ARM only for published images 2026-10-03 14:35:35 +02:00
tests Run native checks on Kubernetes and select ARM only for published images 2026-10-03 14:35:35 +02:00
.gitignore fix(S5): exclude local configuration from published and Docker artifacts 2026-09-26 11:49:22 +02:00
AGENTS.md feat: confirm account compatibility before adding links 2026-09-28 20:22:47 +02:00
FediProfile.slnx Add optional live interoperability discovery suite 2026-09-28 14:01:12 +02:00
LICENSE.md Fediprofile 2026-02-27 07:53:13 -08:00
package-lock.json test: expand real actor documents against standard JSON-LD contexts (T2) 2026-09-27 20:32:18 +02:00
package.json test: expand real actor documents against standard JSON-LD contexts (T2) 2026-09-27 20:32:18 +02:00
playwright.config.mjs Run native checks on Kubernetes and select ARM only for published images 2026-10-03 14:35:35 +02:00
README.md Document ActivityPub and BadgeFed compatibility 2026-09-28 13:10:39 +02:00

Table of contents

FediProfile - The Decentralized Link-in-Bio

Your links, badges, and identity - powered by the Fediverse.
The open-source, federated alternative to Linktree.

What is FediProfile?

FediProfile is a free, privacy-respecting link-in-bio tool built on ActivityPub. Your profile page is itself a first-class Fediverse actor — people on Mastodon, Pleroma, Misskey, and any other ActivityPub platform can discover and interact with it directly.

It's designed for two audiences:

Newcomers — A clean, fast link-in-bio with no trackers, no ads, and no account lock-in. It also serves as a gateway into the Fediverse: your profile link is an ActivityPub actor, encouraging exploration of open platforms.

Fediverse power users — If you juggle multiple accounts (Mastodon, Pixelfed, Loops, a federated blog…), FediProfile gives you a single persona to share. It doesn't post on its own, but it automatically boosts content from your other accounts and has its own ActivityPub inbox — including the ability to receive and display verifiable badges issued through BadgeFed.

Features

  • Unlimited Links — Add as many links as you want, organize them your way.
  • ActivityPub Native — Your profile is discoverable and followable from any Fediverse instance.
  • Badge Collection — Receive and showcase verifiable badges from issuers across the Fediverse via BadgeFed.
  • Fediverse login — Authenticate with an existing Mastodon, Akkoma, Pleroma, or Pixelfed account. FediProfile detects the server software and rejects unsupported login flows before authorization.
  • Auto-Boost & Relay — Consolidate your Fediverse presence by automatically boosting posts from your other accounts.
  • Self-Hostable — Run your own instance with full control over your data.
  • No Tracking — Zero analytics sold, zero ads, zero corporate surveillance.

How It Works

  1. Sign in with the Fediverse — Enter a supported server domain and authorize FediProfile.
  2. Pick an optional short name — The permanent account-qualified path (for example /@michael@westergaard.social) always works; an available short alias such as /@michael may also be selected.
  3. Add links & badges — Drop in your links. Badges arrive automatically from issuers across the Fediverse.

Documentation

  • Compatibility: ActivityPub application and BadgeFed matrices
  • Development: clone, build, test, run from source, and run with Docker
  • Configuration: application settings, authentication, databases, object storage, and templates
  • Deployment: production requirements and Kubernetes examples
  • Architecture: project boundaries, replaceable infrastructure, and runtime data

Tech Stack

  • Runtime: .NET 10.0 / ASP.NET Core
  • UI: Blazor Server
  • Database: LINQ to DB with SQLite or PostgreSQL
  • Auth: Dynamically registered OAuth for Mastodon, Akkoma, Pleroma, and Pixelfed; optional GitHub and LinkedIn providers
  • Protocol: ActivityPub / ActivityStreams

Comparison

Feature FediProfile Linktree Others
Unlimited links ✓ Free ✓ Free Varies
Federated identity ✓ ✗ ✗
Badge / credential system ✓ Built-in ✗ ✗
ActivityPub integration ✓ Native ✗ ✗
Self-hostable ✓ ✗ Some
Open source ✓ ✗ Some
No tracking / analytics sold ✓ ✗ ✗
Price Free forever Free / $9+ Varies

Contributing

Contributions are welcome! Here's how to get involved:

  1. Fork the repository
  2. Create a branch for your feature or fix: git checkout -b my-feature
  3. Commit your changes: git commit -m "Add my feature"
  4. Push to your fork: git push origin my-feature
  5. Open a Pull Request against main

If you find a bug or have an idea, open an issue.

License

Licensed under the GNU Lesser General Public License v3.