107 lines
4.5 KiB
Markdown
107 lines
4.5 KiB
Markdown
# 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**.
|