FediAct/README.md

169 wiersze
10 KiB
Markdown
Czysty Zwykły widok Historia

2022-12-14 19:23:10 +00:00
# FediAct (v0.9.7)
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-14 19:23:10 +00:00
- Follow, boost, bookmark, reply, favourite and vote polls 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-11 11:30:15 +00:00
- Hide muted content on external instances if enabled
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
2022-12-14 13:38:10 +00:00
- 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)
2022-12-13 23:17:47 +00:00
* [FAQ](#faq)
2022-11-22 11:30:02 +00:00
* [Screenshots / GIFs](#screenshots--gifs)
2022-11-23 13:29:17 +00:00
* [Manual installation](#manual-installation)
2022-12-14 13:31:36 +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-12-13 12:15:06 +00:00
* [Contributing](#contributing)
2022-11-22 11:30:02 +00:00
2022-11-16 14:46:36 +00:00
## Installation
2022-11-23 13:29:17 +00:00
2022-12-09 14:44:35 +00:00
[link-chrome]: https://chrome.google.com/webstore/detail/fediact/lmpcajpkjcclkjbliapfjfolocffednm 'Version published on Chrome Web Store'
[link-firefox]: https://addons.mozilla.org/en-US/firefox/addon/fediact/ 'Version published on Mozilla Add-ons'
2022-11-23 13:29:17 +00:00
2022-12-13 11:17:55 +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">][link-chrome] + other Chromium browsers
2022-11-23 13:29:17 +00:00
2022-12-14 13:31:36 +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/fediact.svg?label=%20%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-12-12 11:47:01 +00:00
If you like this addon, please consider donating: [paypal.me/lartsch](https://paypal.me/lartsch)
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)
2022-12-14 23:38:08 +00:00
4. Check out the other settings (optional)
2022-12-02 22:35:50 +00:00
5. Click the "Submit" button to save
2022-11-16 14:46:36 +00:00
2022-12-14 23:38:08 +00:00
If you have set your home instance correctly, you can now interact on other Mastodon instances. If you are logged in on other instances than your set home instance as well, FediAct will disable itself for these so you can use your actual account there.
2022-12-14 01:27:53 +00:00
2022-12-14 23:38:08 +00:00
### Options explained
>
> **Redirect settings**
>
> - Enable: Set if redirects (when replying or double-clicking) should be performed at all (default: on)
> - Prompt: Set if a prompt should be displayed before redirecting, including the URL (default: on)
> - Open in: Set if redirects should happen in the same or a new tab (default: same tab)
>
> **Other**
>
> - Actions: Set if actions (following, boosting etc.) should be performed when clicking or double clicking (default: on)
> - _**Usage tip:**_ Disable this if you only want redirects on double click or when replying without automatically performing the action
> - Show follows: Set if the following state of accounts should be reflected on profiles / account cards (default: on)
> - Show toot state: Set if the state of toots (favourited, boosted, bookmarked) should be synchronized (default: on)
> - Hide muted/blocked: If enabled, your blocked/muted users/instances will be synched every 60 seconds and all according toots, boosts and toots with mentions will be hidden (default: off)
> - _**Please note:**_ There are cases where hiding can fail and this is disabled by default because it can decrease performance
> - API delay: If enabled, there can only be one API request to your home instance per 500ms (default: on)
> - _**Please note:**_ Disabling this will likely lead to the extension stopping to work because your home instance uses rate limiting if too many requests come from your IP. 500ms have proven to prevent error 429 for the instances I have tested.
>
> **Mode**
> - Run if logged in: Enable FediAct on external instances if you are logged in there as well (default: off)
> - Blacklist (default) / Whitelist: Run the extension on _all_ domains except those on the blacklist / Run the extension on _no_ domains except those on the whitelist
2022-11-23 13:34:41 +00:00
2022-12-13 23:17:47 +00:00
## FAQ
2022-12-14 13:34:19 +00:00
**Why does it need permission for all websites?**
2022-12-13 23:17:47 +00:00
The addon needs to determine if the site you are currently browsing is a Mastodon instance or not. For that matter, it requires access to all sites. Otherwise, each existing Mastodon instance would have to be explicitly added.
2022-12-14 14:38:18 +00:00
**Can I use this on Android?**
Yes! There are three options that I am aware of: Kiwi Browser (Chromium with add-on support), Yandex Browser and Firefox Nightly (see [below](#install-in-firefox-for-android))
2022-12-14 13:34:19 +00:00
**Can I use this on iOS?**
2022-12-14 23:38:08 +00:00
As of now, this addon does not support Safari and I am not aware of any other browsers on iOS, that support extensions. So no, not at this time. PLEASE NOTE: Safari support will not happen at this time since Apple wants 99$ per year for the [Developer Program membership](https://developer.apple.com/support/compare-memberships), which is a requirement.
2022-12-14 13:34:19 +00:00
2022-12-14 13:38:59 +00:00
**Can you add feature XY?**
Feel free to create an issue here on Github and I will look into it.
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>
2022-12-09 14:51:10 +00:00
<img src="https://github.com/lartsch/FediAct/blob/main/img/settings.png?raw=true">
2022-12-02 22:43:48 +00:00
</details>
<details>
<summary>Showcase</summary>
2022-12-09 14:51:10 +00:00
<img src="https://github.com/lartsch/FediAct/blob/main/img/showcase.gif?raw=true">
2022-12-02 22:43:48 +00:00
</details>
2022-11-17 14:19:54 +00:00
2022-11-23 13:29:17 +00:00
## Manual installation
2022-12-09 14:51:10 +00:00
1. Download the [latest Github release](https://github.com/Lartsch/FediAct/releases/latest) for your browser (chrome or firefox)
2022-11-23 13:29:17 +00:00
### Chrome
2. Unzip the downloaded file somewhere
3. Go to your Chrome extension page (URL: chrome://extensions) and enable developer mode
2022-12-10 00:25:11 +00:00
4. Click the "Load unpacked" button and then select the unzipped folder
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-12-14 13:31:36 +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:**
2022-12-14 14:35:17 +00:00
- Firefox [**Nightly**](https://play.google.com/store/apps/details?id=org.mozilla.fenix) for Android
2022-11-23 16:04:19 +00:00
**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
2022-12-09 14:51:10 +00:00
- Name: FediAct
2022-11-23 16:05:50 +00:00
5. Click OK, Firefox will close - reopen it
2022-12-09 14:51:10 +00:00
6. FediAct 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
2022-12-12 11:44:15 +00:00
1. Support for other Fedi software is 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-12 11:44:51 +00:00
3. It can have several reasons why resolving might not work:
2022-12-12 11:27:52 +00:00
- Not logged in to your home instance
2022-12-12 11:42:16 +00:00
- Element identifiers have changed / instance uses an unsupported flavour
2022-12-12 11:27:52 +00:00
- The external instance you are browsing or the originating instance of a toot is not Mastodon
- Your home instance has strong rate limiting
- Your home instance / the external instance / the original instance of a toot have defederated / are moderated
2022-12-12 11:42:16 +00:00
- The toot has not yet federated to your home instace (follow the account and toots should start federating)
2022-12-12 11:27:52 +00:00
- The instance you are browsing does not use 302 redirects for external toots
- Maybe it also plays a role if the toot is set to unlisted on its original instance
2022-12-14 13:25:00 +00:00
4. There can be delays since API calls have to be made and it is attempted to prevent error 429 (too many requests). Especially if a page has many toots or you are scrolling through a feed really fast.
5. If the extension fails to resolve content, the affected buttons will behave like usually (popup modal) and a notice ("Unresolved") is added to the toot
2022-12-14 13:26:48 +00:00
6. If you are logged in on another instance than your home instance, the addon will not process that site (so you can still use other instances where you have an account)
2022-11-23 13:30:11 +00:00
2022-11-18 00:35:27 +00:00
## Todos / Planned features
2022-12-14 19:58:46 +00:00
Check out the according [Github project](https://github.com/users/Lartsch/projects/2) to see planned features and todos. They are sorted from most important to least important.
2022-11-18 14:36:35 +00:00
2022-12-13 12:15:19 +00:00
## Contributing
2022-12-14 16:38:01 +00:00
Feel free to create [issues](https://github.com/Lartsch/FediAct/issues) for bugs and feature suggestions. Even better: Create pull requests for whatever improvements you can make! :)
2022-12-13 12:15:06 +00:00
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