Alpha — nicht produktiv getestet / Alpha — not production-tested This is an alpha release. Core features are implemented and covered by automated tests, but the extension has not been validated in sustained everyday use. Use at your own risk. For a stable, store-distributed alternative see RSS-BOOK.
RSS-BOOKSTORE is the power-user edition of RSS-BOOK: a Manifest V3 browser
extension that saves RSS/Atom entries as bookmarks and can also mirror them to a
Windows folder with .url files through a Native Messaging host.
RSS-BOOKSTORE ist die Power-User-Variante von RSS-BOOK: eine Manifest-V3- Browser-Erweiterung, die RSS-/Atom-Einträge als Lesezeichen speichert und sie über einen Native-Messaging-Host bidirektional mit einem Windows-Ordner synchronisieren kann.
RSS-BOOKSTORE is intended for GitHub/sideloading distribution, not for browser extension stores. The Native Messaging host requires a local registry entry, so the simpler RSS-BOOK extension remains the store-friendly version.
- RSS 2.0 and Atom feed updates
- Bookmark output for Chromium browsers
- Folder output as Windows
.urlfiles - Bidirectional sync between browser bookmarks and the export folder
- Automatic OneDrive default export path:
OneDrive\RSS-BOOKSTORE - Per-feed optional host permissions instead of blanket
<all_urls> - Native Messaging host with install, dry-run, and uninstall support
- Dark-first popup and options UI with a terminal-refined visual style and a full light-mode fallback
- Windows 10/11
- Python available as
pythononPATH - Chrome, Edge, Brave, or another Chromium browser with unpacked extensions
- PowerShell for Native Messaging host registration
- Download or clone this repository.
- Open
chrome://extensions,edge://extensions, orbrave://extensions. - Enable developer mode.
- Choose Load unpacked and select the
RSS-BOOKSTOREproject folder. - Copy the generated extension ID from the browser extension details page.
The extension ID is required for the Native Messaging manifest. Chromium IDs are
32 lowercase letters from a to p.
Open PowerShell in the project folder and replace the example ID with the ID shown by your browser:
powershell -NoProfile -ExecutionPolicy Bypass -File .\_native_host\install_nm_host.ps1 -ExtensionId aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaThe installer writes _native_host\nm_manifest.generated.json and registers the
host name com.file_bricks.rss_bookstore for Chrome, Edge, and Brave under
HKCU by default. The manifest points to _native_host\nm_host.bat, which
starts _native_host\nm_host.py with PYTHONIOENCODING=utf-8.
Preview the registry and manifest plan without writing anything:
powershell -NoProfile -ExecutionPolicy Bypass -File .\_native_host\install_nm_host.ps1 -ExtensionId aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -DryRunRegister only selected browsers:
powershell -NoProfile -ExecutionPolicy Bypass -File .\_native_host\install_nm_host.ps1 -ExtensionId aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -Browser EdgeUninstall the Native Messaging registration:
powershell -NoProfile -ExecutionPolicy Bypass -File .\_native_host\install_nm_host.ps1 -ExtensionId aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -UninstallUse -Scope LocalMachine only when a machine-wide registration is explicitly
needed and PowerShell is running with administrator rights.
Open the extension options page to add feeds and select a sync mode:
| Mode | Bookmarks | Folder | Direction |
|---|---|---|---|
BOOKMARKS |
yes | no | feed to bookmarks |
FOLDER |
no | yes | feed to .url files |
SYNC |
yes | yes | bookmarks and folder stay mirrored |
In FOLDER or SYNC mode, the OneDrive-Standard button asks the Native
Messaging host for the default export root and stores it in extension settings.
New feeds request only their specific host permission when they are added.
- If feed updates fail with a permission error, open options and grant host access for that feed.
- If folder export does nothing, run the installer with
-DryRunand verify the extension ID and browser registry target. - If the browser was already open while installing the host, restart the browser once so it reloads Native Messaging registrations.
- If Python is not found, install Python or adjust
_native_host\nm_host.batto call the correct interpreter.
There is no build step. Run the JavaScript extension tests and Python Native Messaging host tests separately:
npm.cmd test
python -m unittest discover -s tests -p "test_*.py" -vThe same checks run on GitHub Actions in the RSS-BOOKSTORE tests workflow.
npm test may be blocked by PowerShell execution policy on Windows; npm.cmd test avoids that wrapper issue.
Regenerate the extension icon PNGs from the source drawing script:
python .\scripts\generate_icons.pyThis developer helper uses Pillow; it is not required for installing or running the extension.
RSS-BOOKSTORE is distributed as a GitHub/sideloading ZIP. Build the package from the project root:
powershell -NoProfile -ExecutionPolicy Bypass -File .\scripts\package_github_release.ps1Preview the release contents without creating files:
powershell -NoProfile -ExecutionPolicy Bypass -File .\scripts\package_github_release.ps1 -DryRunThe package script writes releases\v1.0.0\RSS-BOOKSTORE-1.0.0-github.zip and
releases\v1.0.0\SHA256SUMS.txt. The ZIP contains the unpacked extension, the
release packaging script, the Native Messaging host,
_native_host\install_nm_host.ps1, and a short INSTALL_NATIVE_HOST.txt setup
note. Tests, caches, generated host manifests, and prior release output are
excluded.
RSS-BOOKSTORE/
|-- manifest.json
|-- scripts/
| |-- generate_icons.py
| `-- package_github_release.ps1
|-- sw.js
|-- lib/
| |-- bookmarks.js
| |-- native.js
| |-- permissions.js
| `-- sync.js
|-- ui/
| |-- options.html
| `-- options.js
|-- _native_host/
| |-- favextract_core.py
| |-- install_nm_host.ps1
| |-- nm_host.bat
| |-- nm_host.py
| `-- nm_manifest.json
|-- RELEASES.md
`-- tests/
Native Messaging export and bidirectional sync are implemented and covered by automated tests. The extension ships an original generated icon set and a dark-first popup/options interface. It remains an alpha sideloading build until there is sustained everyday-use validation.
| Projekt | Distribution | Sync | Native Messaging |
|---|---|---|---|
| RSS-BOOK | Chrome Web Store + GitHub | Einweg (Feeds → Lesezeichen) | Nein |
| RSS-BOOKSTORE (dieses Projekt) | GitHub / Sideloading | Bidirektional (Lesezeichen ↔ Ordner) | Ja |
RSS-BOOK is the store-friendly sibling: no Native Messaging, one-way feed-to-bookmark sync, installable from the Chrome Web Store for any Chromium browser. RSS-BOOKSTORE adds a local Windows folder mirror and bidirectional sync via a Python Native Messaging host — at the cost of a manual sideload installation.