• Stars
    star
    220
  • Rank 180,422 (Top 4 %)
  • Language
    JavaScript
  • License
    Other
  • Created over 6 years ago
  • Updated over 1 year ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Simplifies following and interacting with remote users on other Mastodon instances.

Mastodon – Simplified Federation!

Mozilla Add-on version
Mozilla Add-on downloads Mozilla Add-on users Mozilla Add-on stars

Simplifies following or interacting with other users on remote Mastodon instances in the Fediverse. Basically, it skips the "Enter your Mastodon handle" popup and takes you directly to your own "home" instance, saving you from cumbrously entering your Mastodon handle again and again in that input box when you click on a “Follow”, “Retoot”/“Fav” or other remote interaction button on another instance. 😄

Idea by @akkes.

Download

Get it for Firefox!

BTW: If you want to generate QR codes privately, do check out our Offline QR Code Generator too!

In action…

GIF demo showing how I click on a reply button and directly get to the toot site and how I click on follow and directly get to the page, where I can click "Follow"

Why?

You may wonder why to use this browser add-on. But actually, it's easy!

You do not need to enter your Mastodon account handle anymore! (except for login 😉) This makes interacting with remote instances much simpler.

Additionally, this add-on makes sure to keep your Mastodon handle private. It will never expose it to any third-party site. Therefore it does not – literally – enter your Mastodon ID into the input field you normally see, but basically "skips" this page. For the technical details, on how this works, see How does it work? below.

How does it work?

  1. It intercepts any remote interaction popup/request.
  2. It tries to get the toot/account you want to interact with from the "Enter your Mastodon ID" popup.
  3. for remote follows: It get's the account to follow from the URL.
  4. for toot interactions:
    1. It gets the local toot ID from the URL.
    2. It sends an additional web request to the remote server to get the remote toot ID.
      Alternatively, it does try to get the remote toot URL from the "Enter your Mastodon ID" popup when it is shown/rendered.
  5. Afterwards it redirects you to the "remote_follow"/"remote_interaction" endpoint of your own Mastodon instance directly, thus skipping entering the Mastodon handle in that "foreign" page.

Due to the fact that it does not block loading of the "Enter your Mastodon ID" popup, it may – especially in the case of "toot interactions" – happen, that the "Enter your Mastodon ID" popup is shown anyway for some seconds. After some time, it should be redirected though. If it really fails, this behavior ensures you still have a fallback to be able to manually enter your Mastodon handle.

Note for new Mastodon v4 instances, this is not enough. It also needs to inject some code into the website and modify Mastodon instances. See the release adding compatibility to see what is done in detail.

Other Fediverse instances

Note this add-on also include (partially limited) support for redirecting other Fediverse instances to your Mastodon instance. There, it may use different (or similar) methods for getting information about the user you want to follow.

Note, however, it only triggers when a redirect/loading of an URL specific to a Fediverse type occurs. As such, it e.g. cannot “intercept” small text-fields, where you can enter your handle, inside of a page.

Here a short description on how it is done:

  • for GNU Social: It can get the user from the URL, if the URL is /main/ostatus/nickname/<username>.
  • for Pleroma: If /main/ostatus is accessed, it tries to get the the username from the referrer. If not possible, it tries to scrape it from the website.
  • for Friendica: It can get the user from the URL, if the URL is e.g. /main/remote_follow/<username>.

Contribute

You can easily get involved in this FLOSS project and any help is certainly appreciated. Here are some ideas:

Or, in any case, support us by spreading the word! ❤️

More Repositories

1

offline-qr-code

📱 Browser add-on allowing you to quickly generate a QR code offline with the URL of the open tab or other text!
HTML
350
star
2

awesome-emoji-picker

Add-on/WebExtension that provides a modern emoji picker that you can use to find and copy/insert emoji into the active web page.
JavaScript
87
star
3

borg-cron-helper

Helper shell scripts for BorgBackup to automate backups and make your life easier… 😉
Shell
77
star
4

website-dark-mode-switcher

This is a (Firefox) add-on (WebExtension) that lets you invert the website's color scheme by inverting/changing the prefers-color-scheme media feature of CSS.
JavaScript
50
star
5

googerteller

A Geiger counter for Google emitting a sound for each request that goes to Google.
JavaScript
35
star
6

crops-parser

🌱🍎🍆 A shell script to parse the data by the Food and Agriculture Organization of the United Nations on crops/fruits.
Shell
15
star
7

threema-msgapi-sdk-php

Gateway MsgApi SDK - PHP
PHP
12
star
8

how-did-i-get-here

Which tab did you use to open this tab? Don't remember? This is your add-on…
JavaScript
11
star
9

unicodify

✍️ A browser add-on (Firefox, Chrome, Thunderbird) that allows you to autocorrect common text sequences and convert text characters to a look like a special font.
JavaScript
11
star
10

ifg-letter-appeal

A LaTeX template for appeals to official notifications of agencies to (German) “Freedom of information” (FOI) requests, in German the Informationsfreiheitsgesetz (IFG).
TeX
8
star
11

streetcomplete-quest-svgs

Extracted icons of the StreetComplete quests as SVGs
6
star
12

xenforo-threema-gateway

Threema Gateway implementation for XenForo, offers two-step-authentication (or two-factor-authentication 2FA) for users
PHP
6
star
13

atom-flatpak-wrapper

Small wrapper scripts providing a good development experience if you install Atom via a flatpak…
Shell
6
star
14

streetcomplete-website

A website for the Android app StreetComplete https://github.com/westnordost/StreetComplete/issues/1130
JavaScript
5
star
15

emoji-mart-embed

Uses Preact and remount to provide emoji-mart in plain JavaScript.
JavaScript
5
star
16

streetcomplete-ad-c3

Advertisement for StreetComplete at 34c3
4
star
17

fp3-unlock

FP3 'verify code' generator
HTML
4
star
18

threema-msgapi-webui

A sample web UI for the Threema Gateway using the PHP SDK
PHP
3
star
19

ESET-Firewall-Rules-Generator

This is a small tool for ESET Smart Security which allows an easy creation of a firewall rules with many IPs.
AutoIt
2
star
20

liberapay-ad-34c3

Ad for Liberapay at 34c3
1
star
21

emojione-phpbb

Emoji One smilies for phpBB 3
Python
1
star
22

opengraph-template

Template for open graph card/add-ons on GitHub
1
star
23

tictactoe

Small C#/.NET tictactoe game.
C#
1
star
24

threema-web-container-compress

Dockerfile
1
star
25

gittools

A collection of some shell scripts for git…
Shell
1
star