Digit implements the WebFinger protocol. It includes type definitions for WebFinger data structures, along with some utilities for sending and receiving WebFinger requests
Digit provides data types with a simple, chainable API for creating new resources.
resource := digit.NewResource("acct:sarah@sky.net").
Alias("http://sky.net/sarah").
Alias("http://other.website.com/sarah-connor").
Property("http://sky.net/ns/role", "employee").
Link(RelationTypeProfile, "text/html", "https://sky.net/sarah")
result, err := json.Marshal(resource)
Digit can look up WebFinger metadata using a variety of identifiers
resource, err := digit.Lookup("sarah@sky.net") // Email construction
resource, err := digit.Lookup("sarah@sky.net") // Fediverse "@username" construction
resource, err := digit.Lookup("http://sky.net/sarah") // Canonical URL construction
- https://webfinger.net - primary website for WebFinger protocol
- https://tools.ietf.org/html/rfc7033 - IETF specification
Digit is relatively stable and is performing well in Emissary. However, it is still a work in progress, and will benefit from your experience reports, use cases, and contributions. If you have an idea for making this library better, send in a pull request. We're all in this together! 👉