Skip to content

melroy89/FediResolve

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

53 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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. For easy reading or debugging purposes.

Features

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

Demo of FediResolve

Download

FediResolve for Linux

Installation

Either download the prebuild binary from releases or build from source, see below.

Prerequisites

  • Go 1.21 or later

Building from source

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

Optionally, install the binary by executing:

go install

Which depending on the OS installs to the installation directory, under Linux that would be: $HOME/go/bin.
Be sure to add $HOME/go/bin path to your $PATH in your shell, more info.

Once installed (assuming the $HOME/go/bin path is in your $PATH) you can just execute the fediresolve binary without ./ of course.

Usage

Basic usage

# Provide a URL or handle as an argument
./fediresolve https://mastodon.social/@user/12345
./fediresolve @[email protected]

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

Examples

Resolving a Mbin thread

./fediresolve https://kbin.melroy.org/m/til/t/875629/Context7-Up-to-date-documentation-for-LLMs-and-AI-code-editors

Resolving a Mastodon post

./fediresolve https://mastodon.melroy.org/@melroy/114297155915355913

Resolving a user profile

./fediresolve @[email protected]

How it works

FediResolve uses the following process to resolve Fediverse content:

  1. For handles (@[email protected]), it uses the WebFinger protocol to discover the ActivityPub actor URL
  2. For URLs, it attempts to fetch the ActivityPub representation directly. Or if the content is needs to be resolved from another Fediverse instance.
  3. Content is parsed and displays both the raw JSON object and a nice looking summary.

License

MIT