FediAct/README.md

132 wiersze
7.7 KiB
Markdown
Czysty Zwykły widok Historia

2022-12-09 14:37:14 +00:00
# FediAct (v0.9.3)
2022-12-02 22:35:50 +00:00
A Chrome/Firefox extension that simplifies following and post interactions on other Mastodon instances than your own.
2022-11-21 22:53:55 +00:00
2022-12-02 22:35:50 +00:00
**Features**:
- Supports Mastodon v3 + v4
2022-12-07 23:50:52 +00:00
- Follow, boost, bookmark, reply and favourite on external instances while only being logged in to your home instance
2022-12-04 16:58:22 +00:00
- Show following status and toot status (boosted, faved, bookmarked) on external instances
2022-12-07 23:52:06 +00:00
- Single click to execute action only, double click to redirect to content on home instance
2022-12-04 16:58:22 +00:00
- Reply button on external instances always redirects to home instance and enters reply-mode
2022-12-02 22:35:50 +00:00
- Customizable
2022-11-16 14:46:36 +00:00
2022-12-02 22:35:50 +00:00
**Supported browsers**:
- All up-to-date Chromium browsers, including Kiwi browser on Android
- Up-to-date Firefox, including Firefox Nightly on Android
2022-11-26 02:07:16 +00:00
2022-12-02 22:35:50 +00:00
**Important notes**:
- All data is processed locally only
2022-12-07 19:28:18 +00:00
- Performance depends on the performance (and rate limiting) of your home instance and to some degree of the external instance you are browsing (read more [below](#additional-notes))
- Some toots cannot be resolved to your home (in cases where searching the post manually would also not work)
2022-11-21 23:01:24 +00:00
2022-12-02 22:35:50 +00:00
## Navigation
2022-11-22 11:30:02 +00:00
* [Installation](#installation)
* [Setup](#setup)
* [Screenshots / GIFs](#screenshots--gifs)
2022-11-23 13:29:17 +00:00
* [Manual installation](#manual-installation)
2022-11-25 09:51:57 +00:00
* [Install in Firefox for Android](#install-in-firefox-for-android)
2022-11-23 13:29:17 +00:00
* [Additional notes](#additional-notes)
2022-11-22 11:30:02 +00:00
* [Todos / Planned features](#todos--planned-features)
2022-11-16 14:46:36 +00:00
## Installation
2022-11-23 13:29:17 +00:00
[link-chrome]: https://chrome.google.com/webstore/detail/fedifollow/lmpcajpkjcclkjbliapfjfolocffednm 'Version published on Chrome Web Store'
[link-firefox]: https://addons.mozilla.org/en-US/firefox/addon/fedifollow/ 'Version published on Mozilla Add-ons'
2022-12-07 19:09:58 +00:00
[<img src="https://raw.githubusercontent.com/alrra/browser-logos/90fdf03c/src/chrome/chrome.svg" width="48" alt="Chrome" valign="middle">][link-chrome] [<img valign="middle" src="https://img.shields.io/chrome-web-store/v/lmpcajpkjcclkjbliapfjfolocffednm.svg?label=%20%20">][link-chrome] and other Chromium browsers (**currently in review** by Google)
2022-11-23 13:29:17 +00:00
2022-12-09 14:43:03 +00:00
[<img src="https://raw.githubusercontent.com/alrra/browser-logos/90fdf03c/src/firefox/firefox.svg" width="48" alt="Firefox" valign="middle">][link-firefox] [<img valign="middle" src="https://img.shields.io/amo/v/fedifollow.svg?label=%20">][link-firefox] including Firefox for Android
2022-11-23 13:29:17 +00:00
> **Note**
>
2022-11-23 16:16:39 +00:00
> - **If webstore release is outdated, use the [manual installation method](#manual-installation) to install the latest version**
2022-11-25 09:53:30 +00:00
> - **Special installation steps for [Firefox on Android](#install-in-firefox-for-android)**
2022-11-16 14:46:36 +00:00
2022-11-22 15:01:38 +00:00
## Setup
2022-11-22 10:42:44 +00:00
2022-12-02 22:35:50 +00:00
1. Make sure you are logged in to your home instance
2. Click the extension icon or open its settings page
3. Set your home instance (required)
4. Check the other settings (optional)
5. Click the "Submit" button to save
2022-11-16 14:46:36 +00:00
2022-11-23 13:34:41 +00:00
**Please read the [additional notes](#additional-notes).**
2022-11-21 23:11:44 +00:00
## Screenshots / GIFs
2022-12-07 20:00:35 +00:00
v0.8.0
2022-12-02 22:43:48 +00:00
<details>
<summary>Extension popup / settings</summary>
<img src="https://github.com/lartsch/FediFollow-Chrome/blob/main/img/settings.png?raw=true">
</details>
<details>
<summary>Showcase</summary>
<img src="https://github.com/lartsch/FediFollow-Chrome/blob/main/img/showcase.gif?raw=true">
</details>
2022-11-17 14:19:54 +00:00
2022-11-23 13:29:17 +00:00
## Manual installation
1. Download the [latest Github release](https://github.com/Lartsch/FediFollow-Chrome/releases/latest) for your browser (chrome or firefox)
### Chrome
2. Unzip the downloaded file somewhere
3. Go to your Chrome extension page (URL: chrome://extensions) and enable developer mode
4. Click the "Load unpacked" button and then select the unzipped folder (should be "fedifollow-X.X.X-chrome")
2022-12-07 19:04:48 +00:00
Note: Some Chromium browsers allow to directly load a .zip file - you can use it if available for you
2022-12-07 19:53:50 +00:00
2022-11-23 13:29:17 +00:00
### Firefox
2. Open the debugging page (URL: about:debugging)
3. Select "This Firefox"
4. Click the "Load Temporary Add-on" button and then select the downloaded Firefox ZIP file
2022-11-25 09:51:57 +00:00
### Install in Firefox for Android
2022-11-23 16:05:50 +00:00
Since a while, Firefox on Android only allows a [curated list](https://addons.mozilla.org/en-US/android/search/?promoted=recommended&sort=random&type=extension) of addons to install, preventing installation of anything else. The following explanation will guide you how to install it from the webstore anyways.
2022-11-23 16:04:19 +00:00
**Requirements:**
- Firefox **Nightly** for Android
**Steps:**
1. In Firefox, go to Settings > About Firefox Nightly
2. Click the Firefox logo 5 times to enable developer options
3. Go back to Settings > Custom Add-on Collection
4. Enter the following data:
- ID: 17665294
- Name: FediFollow
2022-11-23 16:05:50 +00:00
5. Click OK, Firefox will close - reopen it
2022-11-23 16:04:19 +00:00
6. FediFollow will now be available in the Add-ons menu of Firefox Nightly
2022-12-03 13:40:10 +00:00
To update the addon instantly, simply remove and re-install it. Not sure when/if auto-update triggers in Firefox.
2022-11-23 16:04:19 +00:00
2022-11-23 16:26:45 +00:00
I included all of the default add-ons in the custom collection, so you will not miss out on any of those. Of course, you can create [your own collection](https://support.mozilla.org/en-US/kb/how-use-collections-addonsmozillaorg) as well.
2022-11-23 16:04:19 +00:00
2022-11-23 13:30:11 +00:00
## Additional notes
1. Currently supports external Mastodon instances v3 + v4
2022-12-07 20:00:00 +00:00
- **I have not tested if Mastodon v3 works as home instance! v4 support is the main objective**
2022-11-26 03:54:05 +00:00
- Support for other Fedi software is still planned
2022-12-07 20:00:00 +00:00
2. The whitelist mode can be useful if you do not want the extension to run basic checks on every site (since it needs to determine if its a Mastodon site). Not sure if blacklist is good for anything but I still included it.
2022-12-02 22:52:07 +00:00
3. It can have several reasons why resolving/executing actions/redirection might not work:
2022-12-07 20:00:00 +00:00
- You're not logged in to your home instance (can't fix, log in lol)
- You're scrolling fast and posts are not resolved instantly (a delay is implemented to prevent 429 API errors - wait shortly and check again)
- Element identifiers have changed / instance uses a custom layout/flavour (identifiers need to be added / updated)
2022-12-07 19:28:18 +00:00
- The external instance you are browsing is not Mastodon (not supported yet)
- **Your home instance has strong rate limiting and blocks the API requests** (looking for a way to improve 429 prevention)
- The toot that was tried to resolve is from an original instance that is not Mastodon(-like) (not supported yet, at leat a fallback will be added)
- Your home instance or the original instance of a toot have defederated / are moderated in a way that affects the API search endpoint (can't fix)
- The instance you are browsing does not use 302 redirects for external toots (fallback will be added)
- Maybe it also plays a role if the toot is set to unlisted on its original instance (not sure yet)
2022-12-07 20:00:00 +00:00
5. There can be short delays since external API calls have to be made
2022-12-04 17:00:46 +00:00
6. If you only want redirects, simply turn off auto-action and leave redirect on - double click will then only redirect, not execute the action (alternatively, you can simply use the reply button, as it will always redirect to your home instance if redirects are enabled)
2022-12-02 22:51:18 +00:00
7. If the extension fails to resolve content, the affected buttons will behave like usually
2022-11-23 13:30:11 +00:00
2022-11-18 00:35:27 +00:00
## Todos / Planned features
2022-12-07 19:05:40 +00:00
- Fix last remaining resolve fails as far as **possible**
2022-12-03 16:55:33 +00:00
- General performance and code improvements
2022-12-04 14:58:34 +00:00
- Update settings in content script instantly (so no page reload is needed)
2022-12-03 16:55:33 +00:00
- Improve 429 prevention and add resolving fallbacks
- Add support for other implementations (Plemora, GNU Social, ...)
2022-11-17 16:48:14 +00:00
- Find additional layouts/flavours to add identifiers for
- Support for profiles views with follow button disabled
2022-12-03 17:09:54 +00:00
- Implement caching where applicable to decrease required requests
2022-11-16 14:47:30 +00:00
- If I find myself to be bored, probably more
2022-11-18 14:36:35 +00:00
## Thanks to...
2022-12-04 15:02:04 +00:00
@raikasdev because I stole his fix for cross-browser storage API support
2022-12-03 16:56:41 +00:00
@rosemarydotworld because I customized and use his awesome jQuery.DOMNodeAppear where MutationObservers and delegation failed