Firefox Android Connector prototype: saving authenticated PDFs through the Android app and WebDAV
I’d like to ask whether there is interest in a Firefox Android Connector that saves articles and PDFs through the Zotero Android app.
This relates to several existing discussions:
- Connecting the Connector to the Android app for WebDAV (https://forums.zotero.org/discussion/119308/can-i-connect-zotero-connector-to-the-android-app-on-chromeos)
- Proxy support on Android (https://forums.zotero.org/discussion/125706/proxy-on-android)
- Browser extensions on mobile devices (https://forums.zotero.org/discussion/120125/can-browser-extensions-support-mobile-devices)
- GitHub issue #531: Investigate deploying for Firefox for Android (https://github.com/zotero/zotero-connectors/issues/531)
My use case is saving papers while browsing on Android, including PDFs accessed through my university’s EZproxy, and syncing attachments through WebDAV. Sharing a URL to the Android app doesn’t carry the browser’s authenticated session, while saving directly to zotero.org doesn’t provide this WebDAV workflow.
I have an experimental implementation across forks of the Connector and Android app:
1. Firefox extracts metadata and downloads PDFs using its browser session.
2. The user approves pairing with the companion Android app.
3. Metadata and PDF bytes are transferred through an authenticated loopback connection.
4. The app saves the item locally, syncs metadata to Zotero, and uploads PDFs through its configured WebDAV account.
The connector provides collection selection, defaults to the collection currently open in the companion app, and retries failed PDFs against the existing item. When browser verification blocks a download, it offers a link to open the PDF in Firefox before retrying.
***AI disclosure***: This implementation was developed with substantial AI assistance, including code generation, debugging, and tests. I’m aware of the maintainers’ position on third-party AI-generated contributions (https://forums.zotero.org/discussion/comment/519190/). I’m presenting it as a prototype for discussion, not claiming it is independently human-reviewed or ready for upstream inclusion.
If there are some other people who are willing to get the same functionality, I will re-review or re-implement the codes to make it ready to merge.
Testing on my Android phone with Firefox Nightly has confirmed app launch, pairing, collection selection, and a PDF retry that reused the existing item and uploaded through WebDAV. Broader compatibility and security review would still be needed.
The prototype requires both modified components and currently supports individual articles in the personal library. It is not compatible with the official Android app as released. If you are willing to test, building and installing the forked app as a debug build will not break your release build one from Google Play Store.
Source branches:
- Connector fork (https://github.com/nindanaoto/zotero-connectors/tree/feature/android-connector-webdav)
- Android app fork (https://github.com/nindanaoto/zotero-android/tree/feature/android-connector-webdav)
This relates to several existing discussions:
- Connecting the Connector to the Android app for WebDAV (https://forums.zotero.org/discussion/119308/can-i-connect-zotero-connector-to-the-android-app-on-chromeos)
- Proxy support on Android (https://forums.zotero.org/discussion/125706/proxy-on-android)
- Browser extensions on mobile devices (https://forums.zotero.org/discussion/120125/can-browser-extensions-support-mobile-devices)
- GitHub issue #531: Investigate deploying for Firefox for Android (https://github.com/zotero/zotero-connectors/issues/531)
My use case is saving papers while browsing on Android, including PDFs accessed through my university’s EZproxy, and syncing attachments through WebDAV. Sharing a URL to the Android app doesn’t carry the browser’s authenticated session, while saving directly to zotero.org doesn’t provide this WebDAV workflow.
I have an experimental implementation across forks of the Connector and Android app:
1. Firefox extracts metadata and downloads PDFs using its browser session.
2. The user approves pairing with the companion Android app.
3. Metadata and PDF bytes are transferred through an authenticated loopback connection.
4. The app saves the item locally, syncs metadata to Zotero, and uploads PDFs through its configured WebDAV account.
The connector provides collection selection, defaults to the collection currently open in the companion app, and retries failed PDFs against the existing item. When browser verification blocks a download, it offers a link to open the PDF in Firefox before retrying.
***AI disclosure***: This implementation was developed with substantial AI assistance, including code generation, debugging, and tests. I’m aware of the maintainers’ position on third-party AI-generated contributions (https://forums.zotero.org/discussion/comment/519190/). I’m presenting it as a prototype for discussion, not claiming it is independently human-reviewed or ready for upstream inclusion.
If there are some other people who are willing to get the same functionality, I will re-review or re-implement the codes to make it ready to merge.
Testing on my Android phone with Firefox Nightly has confirmed app launch, pairing, collection selection, and a PDF retry that reused the existing item and uploaded through WebDAV. Broader compatibility and security review would still be needed.
The prototype requires both modified components and currently supports individual articles in the personal library. It is not compatible with the official Android app as released. If you are willing to test, building and installing the forked app as a debug build will not break your release build one from Google Play Store.
Source branches:
- Connector fork (https://github.com/nindanaoto/zotero-connectors/tree/feature/android-connector-webdav)
- Android app fork (https://github.com/nindanaoto/zotero-android/tree/feature/android-connector-webdav)
Upgrade Storage