{% extends "base.html" %} {% block content %}
Bridgy Fed turns your web site into its own fediverse account, visible in Mastodon and beyond. You can post, reply, like, repost, and follow fediverse accounts by posting on your site with microformats2 and sending webmentions. Bridgy Fed translates those posts to fediverse protocols like ActivityPub and OStatus, and sends fediverse interactions back to your site as webmentions.
This isn't syndication or POSSE! You don't need an account on Mastodon or anywhere else. Bridgy Fed lets your site act like a first class member of the fediverse. People there will see your posts directly from your site, and vice versa.
Bridgy Fed takes some technical know-how to set up, and there are simpler (but less powerful) alternatives. If you just want your site's posts to show up in the fediverse, without any other interactions, consider an RSS or Atom feed bot instead. Or, if you want to cross-post to an existing Mastodon account, try Bridgy.
Setup
Usage
About
https://fed.brid.gy/
, including query parameters:/.well-known/host-meta /.well-known/webfinger
Here are instructions for a few common web servers:
WordPress (self-hosted): install the Safe Redirect Manager plugin, then add these entries:
/.well-known/host-meta* => https://fed.brid.gy/.well-known/host-meta*
/.well-known/webfinger* => https://fed.brid.gy/.well-known/webfinger*
.htaccess
file:RewriteEngine on RewriteBase / RewriteRule ^.well-known/(host-meta|webfinger).* https://fed.brid.gy/$0 [redirect=302,last](
RewriteEngine on
is optional if you already have it earlier in your .htaccess
. RewriteBase /
is optional if you don't have any other RewriteBase
directives, or if you put this RewriteRule
inside an existing RewriteBase /
section.)
nginx.conf
file, in the server
section:rewrite ^/\.well-known/(host-meta|webfinger).* https://fed.brid.gy$request_uri redirect;
netlify.toml
file.
[[redirects]] from = "/.well-known/host-meta*" to = "https://fed.brid.gy/.well-known/host-meta:splat" status = 302 [[redirects]] from = "/.well-known/webfinger*" to = "https://fed.brid.gy/.well-known/webfinger" status = 302
Your site's fediverse profile comes from the microformats2 representative h-card on your site's home page. Here's a minimal example to set your name and a profile picture:
<span class="h-card"> <a rel="me" href="/">Alice Foo</a> <img class="u-photo" src="/me.jpg" /> </span>
If you want to set a header image, add a u-featured
image to your h-card, eg:
<img class="u-featured" src="/my-header.png" />
By default, your fediverse address will be @yourdomain.com@yourdomain.com
. Many services (eg Mastodon) default to only showing the username, so this generally shows up as just @yourdomain.com
in posts, and the full address appears on hover.
We recommend this for simplicity and predictability, for everyone else as well as you, but if you want a different username, you can set it by adding an acct:
u-url link inside your h-card with username@yourdomain.com
, eg:
<a class="u-url" href="acct:alice@yourdomain.com"></a>
Enter your domain here to see your user page. It shows your site's current status, recent interactions, remote follow UI, and links to your timeline feeds in various formats.
Create a post with the h-entry
microformat on your web site. Many web servers include this or compatible microformats automatically. The post can be a note, article, like, repost, reply, or follow. For example:
<div class="h-entry"> Regarding <a class="u-in-reply-to" href="https://mastodon.technology/@snarfed/3194674">this post</a>: <p class="e-content">Highly entertaining. Please subscribe me to your newsletter.</p> <a href="https://fed.brid.gy/"></a> </div>
Basic HTML formatting like links, bold, and italics are generally preserved and visible in the fediverse, but specifics vary from site to site.
Then, include a link (optionally blank) to https://fed.brid.gy/
in that post and send Bridgy Fed a webmention. That webmention will trigger Bridgy Fed to forward your post into the fediverse. Your web server may send the webmention automatically if it supports them, or you can send it manually.
Only the ones you explicitly trigger with a webmention. Bridgy Fed doesn't automatically create posts in the fediverse based on your site's Atom feed, HTML, or anything else. It only create posts in the fediverse on an opt in basis, per post, via webmention.
Put the reply in a new post on your web site, and include a link to the fediverse post you're replying to with class u-in-reply-to
, as if you were publishing a normal IndieWeb reply. For example:
<div class="h-entry"> <p class="e-content">Highly entertaining. Please subscribe me to your newsletter.</p> <a class="u-in-reply-to" href="https://indieweb.social/@tchambers/109243684867780200"></a> <a href="https://fed.brid.gy/"></a> </div>
Favoriting and boosting are almost exactly the same as replying. The only difference is that you use u-like-of
for a favorite/like or u-repost-of
for a boost/repost.
<a class="u-like-of" href="https://octodon.social/@cwebber/109405439825087368"></a>
<a class="u-repost-of" href="https://prodromou.pub/@evan/109390803478257847"></a>
Post an IndieWeb follow on your site with u-follow-of
microformats2, then send a webmention to Bridgy Fed. Your site may do that automatically if it supports webmentions. For example:
<div class="h-entry"> I'm now following <a class="u-follow-of" href="https://octodon.social/@cwebber">@cwebber@octodon.social</a>! <a href="https://fed.brid.gy/"></a> </div>
Use <img class="u-photo">
for the image in your post. For example:
<img class="u-photo" src="/full_glass.jpg" /> I love scotch. Scotchy scotchy scotch.
If that HTML element has its own id, then sure! Just put the id in the fragment of the URL that you publish. For example, to publish the bar
post here:
<div id="a" class="h-entry">foo</div> <div id="b" class="h-entry">bar</div> <div id="c" class="h-entry">baz</div>
...just add the id to your page's URL in a fragment, e.g. http://site/post#b
here.
To receive likes, reposts, replies, @-mentions, and follows from the fediverse, just make sure your site accepts webmentions! Bridgy Fed translates those interactions and sends them to your site as webmentions. The source URL will usually be a proxy page on fed.brid.gy
. For best results, make sure your webmention handler detects and handles u-url
links.
Your user page has links to your fediverse timeline/feed, ie posts from people you follow, in HTML, Atom, and RSS formats. Add them to your feed reader or read them in your browser!
They can search for your web site in any Mastodon instance! Often you can just enter your domain, eg yourdomain.com
, in any Mastodon search box. If that doesn't work, try your full fediverse address, eg @yourdomain.com@yourdomain.com
. This can be finicky now and then, but it usually works.
Your user page also has a "remote follow" form that lets people enter their fediverse address and follow you directly.
Check out your user page! It detects and describes common problems with your setup, and it shows your recent interactions and detailed logs.
I'm Ryan Barrett. I'm just a guy who likes the web and owning my data.
Nothing! Bridgy Fed is small, and it doesn't cost much to run. We don't need donations, promise.
If you really want to contribute, file an issue or send a pull request, or donate to the IndieWeb!
Nothing! Bridgy Fed isn't a business, and never will be, so we don't have the same motivations to abuse your data that other services might. More concretely, Bridgy Fed won't ever send you email, it stores as little of your PII (personally identifiable information) as possible, and it never has access to any of your passwords.
I started thinking about bridging federated social networks and peer to peer networks when I discovered them in the early 2000s. I started talking about bridging them to the IndieWeb in 2016, led a session on it at IndieWeb Summit in July 2017, wrote up concrete designs soon after, started working on Bridgy Fed in August 2017, and launched it on October 22, 2017.
Bridgy Fed's terms of service are very simple. You agree not to deliberately attack, breach, or otherwise harm the service. If you manage to access private keys or other private data, you agree to report the vulnerability and not use or disclose that data.
Otherwise, you may use the service for any purpose you see fit. However, we may terminate or block your access for any reason, or no reason at all. (We've never done this, and we expect we never will. Just playing it safe.)
Do you an administer an instance or other service that Bridgy Fed interacts with? If you have any concerns or questions, feel free to file an issue!
Great! Please file it in GitHub. Thank you!
Oof. Thank you for reporting it! Please send details to security@brid.gy. We may provide monetary awards for reports of significant vulnerabilities, eg reading or modifying stored access tokens, if you follow these rules:
/admin/*
pages.
Otherwise, the code is open source, feel free to try to break in, let us know if you succeed!