A Chrome/Edge browser extension for uploading images directly to Szurubooru with right-click context menu.
- 🖱️ Right-click upload: Right-click any image and select "Upload to Szurubooru"
- 🏷️ Tag input modal: Easy-to-use popup for entering tags and safety rating
- ⚙️ Settings management: Configure server URL, username, and API token
- 🔐 Secure storage: Credentials stored locally in browser
- ✅ Connection testing: Test your settings before using
- 📱 Responsive design: Works on all screen sizes
-
Open Chrome/Edge Extensions page:
- Chrome:
chrome://extensions/ - Edge:
edge://extensions/
- Chrome:
-
Enable Developer Mode (toggle in top-right)
-
Load the extension:
- Click "Load unpacked"
- Select the
szuru-browser-extensionfolder
-
The extension is now installed! You should see the Szurubooru icon in your toolbar.
- Go to
chrome://extensions/ - Click "Pack extension"
- Select the
szuru-browser-extensionfolder - This creates a
.crxfile you can distribute
-
Click the extension icon in your browser toolbar
-
Fill in your Szurubooru details:
- Server URL: Your Szurubooru server (e.g.,
http://localhost:8080) - Username: Your Szurubooru username
- API Token: Get this from your Szurubooru user settings
- Server URL: Your Szurubooru server (e.g.,
-
Click "Test Connection" to verify your settings
-
Click "Save Settings" when everything works
- Log into your Szurubooru web interface
- Go to Settings → Account
- Find the API Tokens section
- Create a new token or copy existing one
- Paste the token into the extension settings
- Right-click any image on any webpage
- Select "Upload to Szurubooru" from context menu
- Fill in the upload form:
- Tags: Enter comma-separated tags (required)
- Safety: Choose safe/sketchy/unsafe
- Click "Upload" to submit
1. Browse to any website with images
2. Right-click an image
3. Click "Upload to Szurubooru"
4. Enter tags: "anime, girl, blue_hair"
5. Select safety: "safe"
6. Click "Upload"
7. ✓ Success: "Successfully uploaded as post #123"
szuru-browser-extension/
├── manifest.json # Extension manifest
├── background.js # Service worker for context menus
├── content.js # Content script for modal
├── modal.css # Styles for upload modal
├── popup.html # Settings popup HTML
├── popup.js # Settings popup logic
├── icons/ # Extension icons
│ ├── icon16.png
│ ├── icon48.png
│ └── icon128.png
└── README.md # This file
contextMenus: Create right-click menu for imagesactiveTab: Access current tab for modal injectionstorage: Store user settings locallytabs: Communication between scriptshost_permissions: Access any website for image uploads
- ✅ Local storage only: Credentials never leave your browser
- ✅ HTTPS support: Works with secure connections
- ✅ Token-based auth: Uses API tokens, not passwords
- ✅ Content Security Policy: Follows Chrome security guidelines
- Check if extension is enabled in
chrome://extensions/ - Try refreshing the webpage
- Make sure you're right-clicking on an actual image
- Check your username and API token in settings
- Test connection in settings popup
- Verify your Szurubooru account has upload permissions
- Check your server URL in settings
- Ensure the URL doesn't end with
/api/ - Verify your Szurubooru server is running
- Check if your settings are configured
- Look for JavaScript errors in browser console (F12)
- Try disabling other extensions that might conflict
- This shouldn't happen with proper extension permissions
- If it does, check your Szurubooru server CORS settings
- Make changes to the extension files
- Go to
chrome://extensions/ - Click "Reload" button on your extension
- Test the changes
The extension is modular:
- Context menu logic: Edit
background.js - Upload modal: Edit
content.jsandmodal.css - Settings page: Edit
popup.htmlandpopup.js
- Background script: Check in extension's service worker console
- Content script: Check in webpage's console (F12)
- Popup: Right-click extension icon → "Inspect popup"
- ✅ Chrome 88+ (Manifest V3)
- ✅ Edge 88+ (Chromium-based)
- ✅ Brave (Chromium-based)
- ❌ Firefox (uses different extension format)
- Fork the repository
- Make your changes
- Test thoroughly
- Submit pull request
MIT License - feel free to modify and distribute.
Made for Szurubooru users who want quick image uploads! 🚀