Firefox WebExtension (Desktop and Mobile) that lets you share the current tab to Margit.at, frontpage.fyi, etc. with minimal effort.
at main 93 lines 3.8 kB view raw view rendered
1## ATProto Social — Firefox extension 2 3A Firefox WebExtension for publishing to ATProto-based social platforms directly 4from your browser. 5 6> ℹ️ This repository is hosted on 7> [tangled](https://tangled.org/anton.galiglobal.com/frontpage_firefox_plugin) 8> (PRs, issues) and [GitHub](https://github.com/antonmry/atproto_firefox_plugin) 9> (CI/CD, releases). 10 11### Features 12 13- **Margin tab** — select text on any page and publish it as a highlight or 14 annotation to [margin.at](https://margin.at): 15 - No comment → creates an `at.margin.highlight` record. 16 - With comment → creates an `at.margin.annotation` record 17 (`motivation: commenting`). 18 - Uses the W3C `TextQuoteSelector` (exact text + surrounding context) for 19 precise targeting. 20- **Frontpage tab** — share the current tab to 21 [frontpage.fyi](https://frontpage.fyi) by creating a `fyi.frontpage.feed.post` 22 record on your ATProto account. 23 - Auto-fills the active tab's title and URL. 24 - Title length indicator (120 character limit). 25- Background service worker handles ATProto login, token refresh, and record 26 creation for both services. 27- Options page for storing your handle, app password, and optional PDS override. 28 29### Prerequisites 30 31- An ATProto account (Bluesky or self-hosted PDS). 32- An app password for that account (create one at 33 <https://bsky.app/settings/app-passwords> or via your own PDS). 34 35### Install on Firefox (desktop) 36 371. Visit the 38 [Releases](https://github.com/antonmry/atproto_firefox_plugin/releases) page 39 and download the latest `frontpage-submitter-<version>.xpi` (signed) or 40 `.zip` (unsigned) asset. 412. In Firefox, open `about:addons`, click the gear icon, and choose 42 **Install Add-on From File…**. 433. Select the downloaded `.xpi` (preferred) or `.zip` to complete the 44 installation and approve the permissions prompt. 45 46### Install on Firefox for Android 47 48Firefox for Android requires enabling the **"Install from file"** option first: 49 501. Open Firefox for Android → tap the three-dot menu → **Settings**51 **About Firefox**. 522. Tap the Firefox logo **5 times** to unlock debug options. 533. Go back to **Settings** — a new **Install extension from file** option now 54 appears at the bottom. 554. Download the signed `.xpi` from the 56 [Releases](https://github.com/antonmry/atproto_firefox_plugin/releases) page 57 to your device. 585. Tap **Install extension from file**, select the downloaded `.xpi`, and 59 approve the permissions prompt. 60 61> The extension must be signed by Mozilla. Unsigned `.xpi` files are rejected on 62> Android. Use the signed asset from the releases page. 63 64### Configure credentials 65 661. Open the add-on pop-up and press the gear icon (or use `about:addons`67 **Preferences**). 682. Enter your handle and app password. Supply a PDS URL only if you run a custom 69 server. 703. Click **Save credentials**. A success message confirms that the session 71 tokens are stored locally. 724. Use **Log out** at any time to remove stored tokens (you can also revoke the 73 app password server-side). 74 75### Publish a highlight or annotation (Margin) 76 771. Select text on any webpage. 782. Open the ATProto Social pop-up — the **Margin** tab opens by default with the 79 selected text pre-filled. 803. Optionally add a comment (turns a highlight into an annotation). 814. Click **Highlight on Margin** or **Annotate on Margin**. 82 83### Submit a link (Frontpage) 84 851. Browse to the page you want to share. 862. Open the ATProto Social pop-up and switch to the **Frontpage** tab; the title 87 and URL are pre-filled. 883. Adjust the text if necessary and click **Post to Frontpage**. 894. On success, the pop-up reports the record URI returned by 90 `com.atproto.repo.createRecord`. 91 92See [CONTRIBUTING.md](./CONTRIBUTING.md) for development setup, build pipeline, 93and implementation notes.