FediAct/README.md

155 wiersze
9.0 KiB
Markdown
Czysty Zwykły widok Historia

2022-12-18 23:37:09 +00:00
# FediAct (v0.9.8)
2022-12-18 07:38:04 +00:00
A Chrome/Firefox extension that simplifies follow and post interactions on Mastodon instances other than your own.
2022-11-21 22:53:55 +00:00
2022-12-02 22:35:50 +00:00
**Features**:
2022-12-19 00:12:57 +00:00
- Supports Mastodon v3 + v4 (some features v4 only)
2022-12-19 00:40:31 +00:00
- Follow, boost, bookmark, reply, fav, vote polls and mute/block 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**:
2022-12-18 23:48:34 +00:00
- All up-to-date Chromium browsers, including Kiwi and Yandex browsers on Android
2022-12-20 00:10:25 +00:00
- Up-to-date Firefox (v107+), including Firefox Nightly on Android
2022-11-26 02:07:16 +00:00
2022-12-02 22:35:50 +00:00
**Important notes**:
2022-12-19 00:40:31 +00:00
- Data is processed locally only
- Performance depends on your home instance and to some degree on the external instance you are browsing (read more [below](#additional-notes))
2022-12-18 07:38:04 +00:00
- Some toots cannot be resolved to your home (in cases where searching for the post manually would not work either)
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-19 10:11:30 +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]
and other Chromium browsers
2022-11-23 13:29:17 +00:00
2022-12-19 10:11:30 +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]
2022-12-20 00:10:25 +00:00
including Nightly 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-20 00:13:21 +00:00
If you have set your home instance correctly, you can now interact on other Mastodon instances. If FediAct is running, a small box will be displayed in the bottom right corner. Also, it is indicated while content is resolving / could not be resolved.
2022-12-14 01:27:53 +00:00
2022-12-20 11:33:37 +00:00
**Please note:** It is NOT recommended to disable the API delay, since most instances use rate limiting and might block your requests if they happen too frequent, which will lead to FediAct not working anymore.
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-18 07:38:04 +00:00
The addon needs to determine whether or not the site you are currently browsing is a Mastodon instance. For that to work, it requires access to all sites. Otherwise, each existing Mastodon instance would have to be explicitly added.
2022-12-13 23:17:47 +00:00
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-20 00:10:25 +00:00
Currently not in a reliable way, but:
- It's possible that Orion Browser can soon be used (see issue [#16](https://github.com/Lartsch/FediAct/issues/16))
- There are plans for Safari support (see issue [#17](https://github.com/Lartsch/FediAct/issues/17))
2022-12-14 13:34:19 +00:00
2022-12-14 13:38:59 +00:00
**Can you add feature XY?**
2022-12-18 07:38:04 +00:00
Feel free to create an issue here on GitHub and I will look into it.
2022-12-14 13:38:59 +00:00
2022-12-20 00:27:10 +00:00
**Is this safe to use?**
This project is open source. Anyone with some programming knowledge can check out the source code, either here on GitHub or by extracting the addon file from the addon stores.
2022-12-20 00:32:08 +00:00
Considering the implementation, I am not aware of any risks. Efforts were made to prevent instances from abusing this addon to perform actions on the user's behalf (which already was a really specific and rather low risk). All data is stored in your browser locally. The only sensitive data it stores is your API token. This token is **only** sent to your home instance. No other data ever leaves your device. As far as I know, external instances cannot access the requests made by FediAct and can therefore not gain your token.
2022-12-20 00:27:10 +00:00
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-18 07:38:04 +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
2022-12-18 07:38:04 +00:00
Note: Some Chromium browsers allow you to directly load a .zip file - you can use it if available
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-12-18 07:38:04 +00:00
For a while now, Firefox on Android has only allowed installing from a [curated list](https://addons.mozilla.org/en-US/android/search/?promoted=recommended&sort=random&type=extension) of addons, preventing installation of anything else. The following instructions will guide you through installing it from the webstore anyway.
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
2022-12-18 07:38:04 +00:00
2. Click the Firefox logo 5 times to enable Developer options
2022-11-23 16:04:19 +00:00
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
2022-12-18 07:38:04 +00:00
To update the addon instantly, simply remove and re-install it. I don't know if or when 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-18 07:38:04 +00:00
2. There are several reasons why resolving/interacting might not work including:
- Not being logged in to your home instance
- Element identifiers have changed / the 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
2022-12-15 00:16:35 +00:00
- Your home instance has strong rate limiting and limited your IP
2022-12-12 11:27:52 +00:00
- 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
2022-12-15 00:16:35 +00:00
- The network conditions of your home instance or the external instance are bad (slow speed)
2022-12-18 07:38:04 +00:00
- That a toot is set to unlisted on its original instance may play a role
3. There can be delays because API calls have to be made and it is tries to avoid error 429 (too many requests). Especially if a page has many toots or you are scrolling through a feed really fast.
4. If the extension fails to resolve content, the affected buttons will behave as if the extension weren't active (popup modal) and a notice ("Unresolved") is added to the toot
2022-11-23 13:30:11 +00:00
2022-11-18 00:35:27 +00:00
## Todos / Planned features
2022-12-18 07:38:04 +00:00
Check out the [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