Stateless file sharing
XEP-0447: Stateless file sharing with encryption.
QXmpp:
-
Parsing: -
https://github.com/qxmpp-project/qxmpp/pull/447: Implement XEP-0300: Use of Cryptographic Hash Functions in XMPP -
https://github.com/qxmpp-project/qxmpp/pull/451: Implement XEP-0264: Jingle Content Thumbnails -
https://github.com/qxmpp-project/qxmpp/pull/449: Implement XEP-0446: File metadata element -
https://github.com/qxmpp-project/qxmpp/pull/448: Implement XEP-0447: Stateless file sharing: File sharing element -
https://github.com/qxmpp-project/qxmpp/pull/463: Implement XEP-0448: Encryption for stateless file sharing parsing -
Make all source types public, because the user / Kaidan needs to be able to store them in the database.
-
-
https://github.com/qxmpp-project/qxmpp/pull/462: BitsOfBinaryData: Add fromByteArray() utility function -
https://github.com/qxmpp-project/qxmpp/pull/476: Allow adding multiple oob urls and a description
-
-
https://github.com/qxmpp-project/qxmpp/pull/464: Async/Multithreaded hashing functions for file verifications -
https://github.com/qxmpp-project/qxmpp/pull/452: HttpUploadManager for generic purposes - optional: also output current upload speed in QXmppHttpUpload
- optional: support continuing partial downloads
-
SfsManager -
https://github.com/qxmpp-project/qxmpp/pull/477 -
generic http upload/download -
encrypted http upload/download -
file encryption: https://github.com/qxmpp-project/qxmpp/pull/465
-
- optional: Use static (maybe timer bound) QMimeDatabase instead of creating a new for each task
Kaidan:
-
!849 (merged) -
improve progress reporting in qml by using QObject instead of signals -
switch to FileSharingManager from QXmpp -
generate file/media thumbnails using KIO - optional: deduplication: check for existing downloaded files with identical hashes
Qt:
- https://codereview.qt-project.org/c/qt/qtbase/+/431863
- https://codereview.qt-project.org/c/qt/qtbase/+/431864
Metadata overview:
- user specified
- description
- file metadata
- filename
- file size
- last modified
- mime type
- hashes
- audio:
- length
- image:
- width, height
- thumbnail
- length
- video:
- width, height
- thumbnail
- length
Edited by Linus Jahn