https://github.com/Lartsch/FediAct Skip to content Toggle navigation Sign up * Product + Actions Automate any workflow + Packages Host and manage packages + Security Find and fix vulnerabilities + Codespaces Instant dev environments + Copilot Write better code with AI + Code review Manage code changes + Issues Plan and track work + Discussions Collaborate outside of code + Explore + All features + Documentation + GitHub Skills + Blog * Solutions + For + Enterprise + Teams + Startups + Education + By Solution + CI/CD & Automation + DevOps + DevSecOps + Case Studies + Customer Stories + Resources * Open Source + GitHub Sponsors Fund open source developers + The ReadME Project GitHub community articles + Repositories + Topics + Trending + Collections * Pricing [ ] * # In this repository All GitHub | Jump to | * No suggested jump to results * # In this repository All GitHub | Jump to | * # In this user All GitHub | Jump to | * # In this repository All GitHub | Jump to | Sign in Sign up {{ message }} Lartsch / FediAct Public * Notifications * Fork 4 * Star 152 Chrome/Firefox extension that simplifies interactions on other Mastodon instances than your own. License MIT license 152 stars 4 forks Star Notifications * Code * Issues 6 * Pull requests 0 * Actions * Projects 0 * Security * Insights More * Code * Issues * Pull requests * Actions * Projects * Security * Insights Lartsch/FediAct This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository. main Switch branches/tags [ ] Branches Tags Could not load branches Nothing to show {{ refName }} default View all branches Could not load tags Nothing to show {{ refName }} default View all tags Name already in use A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch? Cancel Create 2 branches 42 tags Code * Local * Codespaces * Clone HTTPS GitHub CLI [https://github.com/L] Use Git or checkout with SVN using the web URL. [gh repo clone Lartsc] Work fast with our official CLI. Learn more. * Open with GitHub Desktop * Download ZIP Sign In Required Please sign in to use Codespaces. Launching GitHub Desktop If nothing happens, download GitHub Desktop and try again. Launching GitHub Desktop If nothing happens, download GitHub Desktop and try again. Launching Xcode If nothing happens, download Xcode and try again. Launching Visual Studio Code Your codespace will open once ready. There was a problem preparing your codespace, please try again. Latest commit lartsch add "resolving" indicator, increase timeouts for bad network performa... ... d9beb0a Dec 18, 2022 add "resolving" indicator, increase timeouts for bad network performa... ...nce situations d9beb0a Git stats * 440 commits Files Permalink Failed to load latest commit information. Type Name Latest commit message Commit time firefox fix reply feature not working after introducing session detection, ad... Dec 18, 2022 img change media Dec 2, 2022 src add "resolving" indicator, increase timeouts for bad network performa... Dec 18, 2022 .gitignore another big update (utilize background script, remove redirect page, ... Nov 26, 2022 LICENSE Update LICENSE Nov 17, 2022 README.md Update README.md Dec 18, 2022 manifest.json fix reply feature not working after introducing session detection, ad... Dec 18, 2022 pack.sh changed release file names Dec 7, 2022 View code [ ] FediAct (v0.9.7) Navigation Installation Setup Options explained FAQ Screenshots / GIFs Manual installation Chrome Firefox Install in Firefox for Android Additional notes Todos / Planned features Contributing Thanks to... README.md FediAct (v0.9.7) A Chrome/Firefox extension that simplifies follow and post interactions on Mastodon instances other than your own. Features: * Supports Mastodon v3 + v4 (some features only for v4) * Follow, boost, bookmark, reply, favourite, vote polls and mute/ block on external instances while only being logged in to your home instance * Show following status and toot status (boosted, faved, bookmarked) on external instances * Single click to execute action only, double click to redirect to content on home instance * Reply button on external instances always redirects to home instance and enters reply-mode * Hide muted content on external instances if enabled * Customizable Supported browsers: * All up-to-date Chromium browsers, including Kiwi browser on Android * Up-to-date Firefox (v107+), including Firefox Nightly on Android Important notes: * All data is processed locally only * 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) * Some toots cannot be resolved to your home (in cases where searching for the post manually would not work either) Navigation * Installation * Setup * FAQ * Screenshots / GIFs * Manual installation + Install in Firefox for Android * Additional notes * Todos / Planned features * Contributing Installation Chrome [6874747073] + other Chromium browsers Firefox [6874747073] including Firefox for Android Note + If webstore release is outdated, use the manual installation method to install the latest version + Special installation steps for Firefox on Android If you like this addon, please consider donating: paypal.me/lartsch Setup 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 out the other settings (optional) 5. Click the "Submit" button to save If you have set your home instance correctly, you can now interact on other Mastodon instances. Options explained Redirect settings * Enable (default: on): Set if redirects (when replying or double-clicking) should be performed at all * Prompt (default: off): Set if a prompt should be displayed before redirecting, including the URL * Open in (default: same tab): Set if redirects should happen in the same or a new tab Other * Actions (default: on): Set if actions (following, boosting, etc.) should be performed when clicking or double clicking - Usage tip: Disable this if you only want redirects on double click or when replying without automatically performing the action * Hide muted/blocked (default: off): If enabled, your blocked/muted users/instances will be synched every 60 seconds and all matching toots, boosts and toots with mentions will be hidden - Note: There are cases where hiding can fail and this is disabled by default because it can decrease performance * API delay (default: on): If enabled, there can only be one API request to your home instance per 500ms - Note: Disabling this will likely result in the extension not working because your home instance uses rate limiting if too many requests come from your IP. 500ms has proven to prevent error 429 for the instances I have tested Mode * Run if logged in (default: off): Enable FediAct on external instances if you are logged in there as well * 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 FAQ Why does it need permission for all websites? 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. 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) Can I use this on iOS? 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, which is a requirement. Can you add feature XY? Feel free to create an issue here on GitHub and I will look into it. Screenshots / GIFs v0.8.0 Extension popup / settings [settings] Showcase [showcase] Manual installation 1. Download the latest GitHub release 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 Note: Some Chromium browsers allow you to directly load a .zip file - you can use it if available 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 Install in Firefox for Android For a while now, Firefox on Android has only allowed installing from a curated list of addons, preventing installation of anything else. The following instructions will guide you through installing it from the webstore anyway. 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: FediAct 5. Click OK, Firefox will close - reopen it 6. FediAct will now be available in the Add-ons menu of Firefox Nightly To update the addon instantly, simply remove and re-install it. I don't know if or when auto-update triggers in Firefox. 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 as well. Additional notes 1. Support for other Fedi software is planned 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 + The external instance you are browsing or the originating instance of a toot is not Mastodon + Your home instance has strong rate limiting and limited your IP + Your home instance / the external instance / the original instance of a toot have defederated / are moderated + The toot has not yet federated to your home instace (follow the account and toots should start federating) + The instance you are browsing does not use 302 redirects for external toots + The network conditions of your home instance or the external instance are bad (slow speed) + 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 Todos / Planned features Check out the GitHub project to see planned features and todos. They are sorted from most important to least important. Contributing Feel free to create issues for bugs and feature suggestions. Even better: Create pull requests for whatever improvements you can make! :) Thanks to... @raikasdev because I stole his fix for cross-browser storage API support @rosemarydotworld because I customized and use his awesome jQuery.DOMNodeAppear where MutationObservers and delegation failed About Chrome/Firefox extension that simplifies interactions on other Mastodon instances than your own. Resources Readme License MIT license Stars 152 stars Watchers 2 watching Forks 4 forks Releases 41 v0.9.7.1 Latest Dec 15, 2022 + 40 releases Packages 0 No packages published Contributors 2 * @Lartsch Lartsch Lartsch * @jsoref jsoref Josh Soref Languages * JavaScript 92.4% * HTML 3.9% * CSS 2.1% * Shell 1.6% Footer (c) 2022 GitHub, Inc. Footer navigation * Terms * Privacy * Security * Status * Docs * Contact GitHub * Pricing * API * Training * Blog * About You can't perform that action at this time. You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session.