CLI tool for Fediverse lookups. Ideal for debugging.
Find a file
2025-04-24 17:03:01 +02:00
cmd Update url 2025-04-24 14:24:00 +02:00
formatter Improved HTML to markdown convertor 2025-04-24 16:33:53 +02:00
resolver Fix generateRSAKey method 2025-04-24 17:03:01 +02:00
.gitignore Remove binary from git 2025-04-24 14:00:34 +02:00
go.mod Improved HTML to markdown convertor 2025-04-24 16:33:53 +02:00
go.sum Improved HTML to markdown convertor 2025-04-24 16:33:53 +02:00
LICENSE Add new file 2025-04-24 14:24:31 +02:00
main.go Update url 2025-04-24 14:24:00 +02:00
README.md of course add Mbin 2025-04-24 14:26:14 +02:00

FediResolve

FediResolve is a command-line tool for resolving and displaying Fediverse content. It can parse and display ActivityPub content from various Fediverse platforms including Mastodon, Mbin, Lemmy, PeerTube, and others.

Features

  • Resolve Fediverse URLs to their ActivityPub representation
  • Resolve Fediverse handles (e.g., @username@domain.tld)
  • Display both the full JSON data and a human-readable summary
  • Support for various ActivityPub types (Person, Note, Article, Create, Announce, etc.)
  • Automatic resolution of shared/forwarded content to the original source

Installation

Prerequisites

  • Go 1.16 or later

Building from source

git clone https://gitlab.melroy.org/melroy/fediresolve.git
cd fediresolve
go build

Usage

Basic usage

# Provide a URL or handle as an argument
./fediresolve https://mastodon.social/@user/12345
./fediresolve @username@domain.tld

# Or run without arguments and enter the URL/handle when prompted
./fediresolve

Examples

Resolving a Mastodon post

./fediresolve https://mastodon.social/@Gargron/12345

Resolving a user profile

./fediresolve @Gargron@mastodon.social

How it works

FediResolve uses the following process to resolve Fediverse content:

  1. For handles (@username@domain.tld), it uses the WebFinger protocol to discover the ActivityPub actor URL
  2. For URLs, it attempts to fetch the ActivityPub representation directly
  3. It checks if the content is shared/forwarded and resolves to the original source if needed
  4. It parses the ActivityPub JSON and displays both the raw data and a formatted summary

License

MIT