This release is versions behind 2.2.1 — the latest version of @fedify/webfinger.
Built and signed on GitHub ActionsBuilt and signed on GitHub Actions
Built and signed on GitHub Actions
Works with
•JSR Score100%•This package works with Cloudflare Workers, Node.js, Deno, BunIt is unknown whether this package works with Browsers




License
•MIT
Downloads90/wk
•Published5 days ago (2.1.12)
WebFinger client library for ActivityPub
@fedify/webfinger: WebFinger client library for ActivityPub
This package provides a WebFinger client implementation for looking up ActivityPub actors and other resources in the fediverse. It is part of the Fedify framework but can be used independently.
Features
- WebFinger resource lookup (RFC 7033)
- Support for
acct:URI scheme - Automatic HTTPS URL construction
- Configurable redirect handling
- OpenTelemetry integration for tracing
- Private IP address validation for security
Installation
deno add jsr:@fedify/webfinger # Deno npm add @fedify/webfinger # npm pnpm add @fedify/webfinger # pnpm yarn add @fedify/webfinger # Yarn bun add @fedify/webfinger # Bun
Usage
Looking up a WebFinger resource
You can look up a WebFinger resource using the lookupWebFinger() function:
import { lookupWebFinger } from "@fedify/webfinger"; // Look up by acct: URI const result = await lookupWebFinger("acct:alice@example.com"); // Look up by URL const result2 = await lookupWebFinger("https://example.com/users/alice");
Working with the result
The result is a ResourceDescriptor object containing the subject, aliases,
properties, and links:
import { lookupWebFinger } from "@fedify/webfinger"; const result = await lookupWebFinger("acct:alice@example.com"); if (result != null) { console.log("Subject:", result.subject); console.log("Aliases:", result.aliases); // Find the ActivityPub actor URL const actorLink = result.links?.find( (link) => link.rel === "self" && link.type === "application/activity+json" ); if (actorLink?.href != null) { console.log("Actor URL:", actorLink.href); } }
Configuration options
The lookupWebFinger() function accepts various options:
import { lookupWebFinger } from "@fedify/webfinger"; const result = await lookupWebFinger("acct:alice@example.com", { // Custom User-Agent header userAgent: "MyApp/1.0", // Maximum redirects to follow (default: 5) maxRedirection: 3, // AbortSignal for cancellation signal: AbortSignal.timeout(5000), });
API
Functions
lookupWebFinger(resource, options?): Looks up a WebFinger resource and returns aResourceDescriptorornullif not found.
Types
ResourceDescriptor: Describes a WebFinger resource with subject, aliases, properties, and links.Link: Represents a link in a WebFinger response with relation type, media type, href, titles, and properties.LookupWebFingerOptions: Options for thelookupWebFinger()function.
Documentation
For comprehensive documentation, please refer to:
Related packages
- @fedify/fedify: The main Fedify framework
- @fedify/vocab: Activity Vocabulary library
License
Built and signed on
GitHub Actions
Add Package
deno add jsr:@fedify/webfinger
Import symbol
import * as webfinger from "@fedify/webfinger";
Import directly with a jsr specifier
import * as webfinger from "jsr:@fedify/webfinger";