{% extends "base.html" %} {% block content %}
Bridgy Fed lets you interact with Mastodon and the rest of the fediverse from your web site. It translates IndieWeb posts, replies, likes, reposts, and follows from webmentions to federated social networking protocols like ActivityPub and OStatus, and vice versa.
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. Other people on the fediverse will see your posts directly from your own site, and vice versa.
Here's an example on Mastodon, and another example on Hubzilla.
(If you just want people in the fediverse to see posts from your web site, consider an RSS or Atom feed bot instead. Bridgy Fed is more powerful, but also more work to set up and use.)
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;
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>
By default, your fediverse address will be @yourdomain.com@yourdomain.com
. 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>
These sites are currently supported:
/about/more
page, e.g. mastodon.social/about/more.
/siteinfo
page, e.g. hub.somaton.com/siteinfo. It also needs the GNU Social addon installed and enabled, and you also need to enable it in your account settings on the Feature/Addon settings page (/settings/featured
).
We're aware of the sites below, and we've made progress on some, but they're not yet supported. Click through and vote for their feature requests if you're interested in any of them!
Federated social network identities take the form @username@example.com
, like an email address with a leading @
. Your site's identity via Bridgy Fed will be @yourdomain.com@yourdomain.com
. (You can customize the username if you prefer.)
To use it, first set up your site, then create an IndieWeb post, like, repost, reply, or follow as usual, and include a link to https://fed.brid.gy/
in that post. Your web server should then send Bridgy Fed a webmention, which it will translate to a Salmon slap or ActivityPub activity and forward to the destination. 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, lists, blockquotes, bold, and italics are often preserved and visible in the fediverse, but specifics vary from site to site.
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 webmention 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!
You can see your recent interactions at fed.brid.gy/user/yourdomain.com.
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.
In general, all you have to do is use Bridgy Fed to interact with the fediverse once. Send an original post from your site, like or repost something, follow someone, etc. Then, when other users search for @yourdomain.com@yourdomain.com
, they should find your profile!
In practice, this can be a bit finicky, and takes time to propagate to other instances besides the one you first interacted with, but it generally does work.
If you sent a webmention, check the HTTP response code and body. It will usually describe the error.
If you got an HTTP 204 from an attempt to federate a response to Mastodon, that means Mastodon accepted the response. If it doesn't show up, that's a known inconsistency right now. We're actively working with them to debug these cases.
You can also see all recent Bridgy Fed requests here, including raw logs. Warning: not for the faint of heart!
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, and started working on Bridgy Fed in August 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!