signing for extension deployment, tuning for download crawl depth, and dependency version visibility in settings view
This commit is contained in:
@@ -0,0 +1 @@
|
||||
{"uploadUuid":"fe2853742907461a9436c0b20d45bcd9","channel":"unlisted","xpiCrcHash":"59496211d207900b7b0f4ee7cbece6aba1be1d2f6523229fee17f6652dc38d95"}
|
||||
@@ -0,0 +1,170 @@
|
||||
# GallerySubscriber Browser Extension
|
||||
|
||||
A Firefox extension that exports authentication cookies and tokens from supported platforms to the GallerySubscriber backend for automated content downloading.
|
||||
|
||||
## Features
|
||||
|
||||
### Cookie Export
|
||||
Automatically extracts authentication cookies from supported platforms and sends them to your GallerySubscriber backend. This enables gallery-dl to download content that requires login authentication.
|
||||
|
||||
### Supported Platforms
|
||||
|
||||
| Platform | Auth Type | How It Works |
|
||||
|----------|-----------|--------------|
|
||||
| **Patreon** | Cookies | Exports session cookies after you log in |
|
||||
| **SubscribeStar** | Cookies | Exports session cookies (supports both .com and .adult domains) |
|
||||
| **Hentai-Foundry** | Cookies | Exports session cookies after you log in |
|
||||
| **Discord** | Token | Captures authorization token from API requests |
|
||||
|
||||
### Discord Token Capture
|
||||
Unlike other platforms that use cookies, Discord requires an authorization token. The extension automatically captures this token by monitoring Discord API requests when you use Discord in your browser. Simply:
|
||||
1. Open Discord in Firefox
|
||||
2. Interact with it (switch channels, send a message, etc.)
|
||||
3. The extension captures and stores your token automatically
|
||||
|
||||
### Dark/Light Theme Support
|
||||
The extension automatically matches your system's color scheme preference:
|
||||
- Detects `prefers-color-scheme` media query
|
||||
- Supports manual theme override via `data-theme` attribute
|
||||
- Consistent theming across popup and options pages
|
||||
|
||||
## Installation
|
||||
|
||||
### Temporary Installation (Development)
|
||||
1. Open Firefox and navigate to `about:debugging#/runtime/this-firefox`
|
||||
2. Click "Load Temporary Add-on"
|
||||
3. Select any file in the `extension` folder (e.g., `manifest.json`)
|
||||
|
||||
### Permanent Installation (Unsigned)
|
||||
Requires Firefox Developer Edition or Nightly:
|
||||
1. Navigate to `about:config`
|
||||
2. Set `xpinstall.signatures.required` to `false`
|
||||
3. Go to `about:addons` → gear icon → "Install Add-on From File"
|
||||
4. Select `gallerysubscriber.xpi`
|
||||
|
||||
### Permanent Installation (Signed)
|
||||
1. Create an account at [addons.mozilla.org](https://addons.mozilla.org)
|
||||
2. Use `web-ext sign` to sign the extension
|
||||
3. Install the signed `.xpi` file
|
||||
|
||||
## Configuration
|
||||
|
||||
### Initial Setup
|
||||
1. Click the extension icon in the toolbar
|
||||
2. Click "Open Settings" or the gear icon
|
||||
3. Enter your GallerySubscriber backend URL (e.g., `http://localhost:8000`)
|
||||
4. Enter your API key (found in GallerySubscriber web UI → Settings)
|
||||
5. Click "Test Connection" to verify
|
||||
6. Click "Save"
|
||||
|
||||
### Options Page Settings
|
||||
- **API URL**: The base URL of your GallerySubscriber backend
|
||||
- **API Key**: Authentication key for the extension API
|
||||
|
||||
## Usage
|
||||
|
||||
### Exporting Cookies for a Single Platform
|
||||
1. Log into the platform in Firefox (e.g., patreon.com)
|
||||
2. Click the GallerySubscriber extension icon
|
||||
3. Click on the platform card
|
||||
4. Cookies are exported to the backend
|
||||
|
||||
### Exporting All Platforms
|
||||
1. Ensure you're logged into all desired platforms
|
||||
2. Click the extension icon
|
||||
3. Click "Export All Platforms"
|
||||
4. All available cookies/tokens are exported
|
||||
|
||||
### Checking Platform Status
|
||||
The popup shows the status of each platform:
|
||||
- **"X cookies ready"** - Cookies found, ready to export
|
||||
- **"No cookies found"** - Not logged in or cookies expired
|
||||
- **"Token captured"** - Discord token available
|
||||
- **"Open Discord in browser"** - Need to use Discord to capture token
|
||||
|
||||
## Architecture
|
||||
|
||||
```
|
||||
extension/
|
||||
├── manifest.json # Extension manifest (Manifest V2)
|
||||
├── background/
|
||||
│ └── background.js # Background script - handles API calls & cookie extraction
|
||||
├── popup/
|
||||
│ ├── popup.html # Popup UI
|
||||
│ ├── popup.js # Popup logic
|
||||
│ └── popup.css # Popup styles with theme support
|
||||
├── options/
|
||||
│ └── options.html # Settings page (inline CSS/JS)
|
||||
├── lib/
|
||||
│ ├── platforms.js # Platform definitions and configuration
|
||||
│ ├── cookies.js # Cookie extraction utilities
|
||||
│ └── api.js # Backend API client
|
||||
└── icons/
|
||||
└── icon.svg # Extension icon
|
||||
```
|
||||
|
||||
## Permissions
|
||||
|
||||
The extension requires the following permissions:
|
||||
|
||||
| Permission | Purpose |
|
||||
|------------|---------|
|
||||
| `cookies` | Read cookies from supported platform domains |
|
||||
| `storage` | Store API configuration and Discord token |
|
||||
| `tabs` | Access active tab information |
|
||||
| `activeTab` | Interact with the current tab |
|
||||
| `webRequest` | Monitor Discord API requests to capture token |
|
||||
| `*://*.patreon.com/*` | Access Patreon cookies |
|
||||
| `*://*.subscribestar.com/*` | Access SubscribeStar cookies |
|
||||
| `*://*.subscribestar.adult/*` | Access SubscribeStar Adult cookies |
|
||||
| `*://*.hentai-foundry.com/*` | Access Hentai-Foundry cookies |
|
||||
| `*://*.discord.com/*` | Monitor Discord API for token capture |
|
||||
|
||||
## API Endpoints Used
|
||||
|
||||
The extension communicates with these GallerySubscriber backend endpoints:
|
||||
|
||||
| Endpoint | Method | Purpose |
|
||||
|----------|--------|---------|
|
||||
| `/api/health` | GET | Connection test |
|
||||
| `/api/credentials` | POST | Upload cookies/tokens |
|
||||
|
||||
## Troubleshooting
|
||||
|
||||
### Extension shows "Setup Required"
|
||||
- Open settings and configure the API URL and key
|
||||
- Ensure the backend is running and accessible
|
||||
|
||||
### Connection test fails
|
||||
- Verify the API URL is correct (include protocol, e.g., `http://`)
|
||||
- Check that the backend is running
|
||||
- Verify the API key matches the one in GallerySubscriber settings
|
||||
|
||||
### "No cookies found" for a platform
|
||||
- Ensure you're logged into the platform in Firefox
|
||||
- Try logging out and back in
|
||||
- Clear cookies and re-authenticate
|
||||
|
||||
### Discord token not captured
|
||||
- Open discord.com in Firefox (not the desktop app)
|
||||
- Interact with Discord (switch channels, scroll, etc.)
|
||||
- The token is captured from API requests automatically
|
||||
|
||||
### Popup is blank or slow
|
||||
- Check the browser console for errors (`about:debugging` → Inspect)
|
||||
- The extension caches connection status for 2 minutes to improve performance
|
||||
|
||||
## Privacy & Security
|
||||
|
||||
- Cookies and tokens are sent only to your configured backend URL
|
||||
- No data is sent to third parties
|
||||
- API key is stored locally in browser storage
|
||||
- Discord tokens are stored locally and only sent to your backend when you export
|
||||
|
||||
## Version History
|
||||
|
||||
### 1.0.0
|
||||
- Initial release
|
||||
- Support for Patreon, SubscribeStar, Hentai-Foundry, Discord
|
||||
- Dark/light theme support
|
||||
- Connection caching for improved performance
|
||||
@@ -0,0 +1,74 @@
|
||||
# GallerySubscriber Extension - Release Notes
|
||||
|
||||
## Version 1.0.0
|
||||
|
||||
**Release Date:** January 2026
|
||||
|
||||
### Overview
|
||||
|
||||
Initial release of the GallerySubscriber browser extension for Firefox. This extension streamlines the process of exporting authentication credentials from supported platforms to your self-hosted GallerySubscriber backend, enabling automated content downloading via gallery-dl.
|
||||
|
||||
### Features
|
||||
|
||||
#### Multi-Platform Cookie Export
|
||||
- **Patreon** - Export session cookies for accessing patron-only content
|
||||
- **SubscribeStar** - Support for both .com and .adult domains
|
||||
- **Hentai-Foundry** - Export authentication cookies for mature content access
|
||||
|
||||
#### Discord Token Capture
|
||||
- Automatic authorization token capture from Discord API requests
|
||||
- No manual token entry required - just use Discord in your browser
|
||||
- Secure local storage with timestamp tracking
|
||||
|
||||
#### User Interface
|
||||
- Clean, modern popup interface for quick access
|
||||
- Real-time platform status indicators showing cookie/token availability
|
||||
- One-click export for individual platforms or bulk export all at once
|
||||
- Connection status indicator showing backend connectivity
|
||||
|
||||
#### Theme Support
|
||||
- Automatic light/dark theme matching system preferences
|
||||
- Uses CSS custom properties for consistent theming
|
||||
- Seamless appearance across popup and options pages
|
||||
|
||||
#### Performance Optimizations
|
||||
- Connection test caching (2-minute interval) to reduce API calls
|
||||
- Non-blocking UI - interface loads immediately while data fetches in background
|
||||
- Efficient background script initialization
|
||||
|
||||
#### Configuration
|
||||
- Simple setup via options page
|
||||
- Secure API key authentication with your GallerySubscriber backend
|
||||
- Connection test to verify setup before use
|
||||
|
||||
### Technical Details
|
||||
|
||||
- **Manifest Version:** 2
|
||||
- **Minimum Firefox Version:** 57+
|
||||
- **Permissions Required:**
|
||||
- `cookies` - Read authentication cookies from supported sites
|
||||
- `storage` - Store configuration and captured tokens
|
||||
- `webRequest` - Monitor Discord API for token capture
|
||||
- Host permissions for supported platforms
|
||||
|
||||
### Installation
|
||||
|
||||
1. Download `gallerysubscriber-signed.xpi`
|
||||
2. Open Firefox and navigate to `about:addons`
|
||||
3. Click the gear icon and select "Install Add-on From File"
|
||||
4. Select the downloaded .xpi file
|
||||
5. Click the extension icon and configure your backend URL and API key
|
||||
|
||||
### Known Limitations
|
||||
|
||||
- Discord token capture requires using Discord in the browser (not the desktop app)
|
||||
- Cookies must be refreshed if you log out and back into platforms
|
||||
- Token-based platforms other than Discord require manual configuration in the web UI
|
||||
|
||||
### Support
|
||||
|
||||
For issues, feature requests, or contributions, please visit the project repository.
|
||||
|
||||
---
|
||||
|
||||
*GallerySubscriber Extension is designed for personal use with self-hosted GallerySubscriber instances.*
|
||||
@@ -4,6 +4,12 @@
|
||||
"version": "1.0.0",
|
||||
"description": "Export cookies from supported platforms to GallerySubscriber for automated downloads",
|
||||
|
||||
"browser_specific_settings": {
|
||||
"gecko": {
|
||||
"id": "gallerysubscriber@fabledsword.com"
|
||||
}
|
||||
},
|
||||
|
||||
"permissions": [
|
||||
"cookies",
|
||||
"storage",
|
||||
|
||||
Reference in New Issue
Block a user