# f0ckm Browser Integration Addon A ShareX-style browser extension for **Chrome, Brave, Edge, Opera, and Firefox** that allows you to upload images, media, links, and URLs directly to **f0ckm** from any web browser context menu or toolbar popup. --- ## Features - **Right-Click Context Menu (ShareX Style)**: - **Upload image to f0ckm** (on any image) - **Upload media to f0ckm** (on video/audio elements) - **Upload link with f0ckm** (on links) - **Upload selected URL with f0ckm** (on highlighted text URLs) - **Upload page URL to f0ckm** (on page background) - **Dual Upload Modes**: - **Desktop App Mode (`f0ckm://`)** *(Recommended)*: Hands off downloads and uploads to the KDE desktop system tray app. Gives you live system tray digit progress (`0`–`99`%), Spectacle notifications, audio sounds, and local history gallery. - **Direct API Mode**: Uploads directly from the browser background page using API URL and API Key without needing the tray app running. - **Toolbar Popup Interface**: - Upload current active tab URL with one click. - Paste any URL for quick upload. - Quick toggle between Desktop App Mode and Direct API Mode. - **Global Keyboard Shortcut**: `Alt+Shift+U` to immediately upload current page URL. --- ## Installation Instructions ### Chrome, Brave, Edge, Opera (Chromium) — Permanent by default 1. Open your browser and navigate to `chrome://extensions` (or `edge://extensions` in Edge). 2. Enable **Developer mode** (toggle switch in top-right). 3. Click **Load unpacked**. 4. Select the `browser-extension` folder in this repository (`/home/kibi/Projects/f0ckm-uploader/browser-extension`). 5. *Note*: In Chromium browsers, loading unpacked extensions **remains installed permanently** across browser restarts as long as the folder location is not moved or deleted. --- ### Mozilla Firefox Firefox restricts unsigned extensions from being permanently installed in standard release builds by default. Choose one of the following methods for permanent installation: #### Method 1: System Policy (`policies.json`) — Recommended for standard Firefox on Linux 1. Zip the extension directory: ```bash cd /home/kibi/Projects/f0ckm-uploader/browser-extension zip -r /tmp/f0ckm-uploader.xpi * ``` 2. Create or edit `/etc/firefox/policies/policies.json` with superuser privileges: ```json { "policies": { "ExtensionSettings": { "f0ckm-uploader@local": { "installation_mode": "force_installed", "install_url": "file:///tmp/f0ckm-uploader.xpi" } } } } ``` 3. Restart Firefox. The extension will be permanently installed. #### Method 2: Firefox Developer Edition / Nightly / ESR / LibreWolf / Waterfox 1. Open `about:config` in the address bar and accept the risk. 2. Search for `xpinstall.signatures.required` and toggle it to **`false`**. 3. Package the extension as `.xpi`: ```bash cd /home/kibi/Projects/f0ckm-uploader/browser-extension zip -r ~/f0ckm-uploader.xpi * ``` 4. Open `about:addons`, click the gear icon (⚙️) -> **Install Add-on From File...** and select `f0ckm-uploader.xpi`. #### Method 3: Self-Signing via Mozilla Add-ons Hub (AMO) — Works on standard Firefox release 1. Zip the `browser-extension` directory contents. 2. Go to the [Mozilla Add-on Developer Hub](https://addons.mozilla.org/en-US/developers/). 3. Submit a new add-on and choose **"On your own"** (Self-distribution / unlisted). 4. Mozilla's automated scanner will sign your `.xpi` file within a minute. 5. Download your signed `.xpi` file and open it in Firefox (`Ctrl+O` or drag and drop into `about:addons`) to install permanently. #### Method 4: Temporary Installation (Development mode) 1. Navigate to `about:debugging#/runtime/this-firefox`. 2. Click **Load Temporary Add-on...** 3. Select `manifest.json` from the `browser-extension` folder. *(Note: Temporary add-ons automatically unload when Firefox closes).* --- ## Usage 1. **Right-Click Context Menu**: Right-click any image, video, audio link, or page -> select **Upload to f0ckm**. 2. **Toolbar Popup**: Click the f0ckm icon in your browser toolbar to upload the active tab or paste a URL. 3. **Keyboard Shortcut**: Press `Alt+Shift+U` on any tab. --- ## Configuration Click **Settings** (or right-click extension icon -> Options) to configure: - **Upload Mode**: Desktop App (f0ckm://) vs Direct API. - **API Endpoint URL**: Default `https://your-f0ckm-instance.com/api/v2/upload`. - **API Key**: Secret API key for direct API mode. - **Default Rating / Tags / Visibility / OC / Copied Link Format**.