tagdrop
Decode data URIs in QR codes
新版本 2.6.2
- Wire format: QDEF redefined Split's group_id as an opaque grouping token rather than a verified hash. This app adds its own payload_hash field to keep the same reassembly-integrity check (SPEC.md version 18). Multi-code QR/NFC drops (content or paper spanning more than one code) made before this update won't reassemble correctly, and vice versa — regenerate and reprint/rewrite any of those after updating. Single-code drops are unaffected.
- Security: a scanned file's declared name is now rejec
- Security: a scanned file's declared name is now rejec
TagDrop turns small files — text, HTML pages, images, audio, SVGs — into self-contained QR codes that work completely offline. Print one on a sticker or sheet of paper and leave it somewhere; anyone with the TagDrop app (or any QR scanner that follows tagdrop: links) can scan it and view the content immediately, with no internet connection, server, or account required.
Think of it as a digital geocache: instead of a logbook in a box, the "cache" is the QR code itself.
What you can do with it
How it works
Every code carries a tagdrop: URI — a QDEF container of CBOR Records, Base41-encoded so it packs efficiently into a QR code's alphanumeric mode. Content can optionally be DEFLATE-compressed and split across multiple codes with parity recovery. IDs are content-addressed (SHA-256 based), so identical content always gets the same ID regardless of who created it. The full wire-format spec is browsable in-app, no internet connection required.
Status
V2.5 — QDEF-based wire container encoding with content split into codes plus optional parity recovery, post-quantum (ML-DSA-44) content signing with trust-on-first-use verification, paper manifests with multi-file directories and relative-link navigation, geographic trails via "related" hints, ad-hoc collections, reply threading, an in-app scanner with a live scan board, NFC tag read/write, search and #hashtag filtering, full backup/restore, a Map tab for located finds, and remote drop-source feeds that pre-populate the map with community drops before you scan them.
Think of it as a digital geocache: instead of a logbook in a box, the "cache" is the QR code itself.
What you can do with it
- Drop a single page — encode text, an HTML page, an SVG image, or JSON into one QR code, either in-app (Create Cache) or with the web generator.
- Drop a whole "paper" — a printable sheet with a directory QR code (a paper manifest) plus one QR per file, built in-app (Create Paper) or with the web generator. Pages can link to each other with ordinary relative links, so a small static site survives being printed and scanned back in.
- Spread large content across multiple codes — split a payload too big for one QR into multiple sector codes placed along a trail. The app collects sectors in any order, reassembles and verifies them, and can recover a single missing sector from an optional parity code.
- Build trails, collections, and replies — link papers together with location hints, tag a loose set of stickers with a shared collection so they group into one card on the home screen and map, or mark a code as a reply to another to thread a conversation across drops.
- Browse offline — scanned pages render in an in-app viewer, with search and #hashtag filtering, and a hex/CBOR inspector for the curious. The Collections, History, and Map tabs let you revisit, locate, and manage everything you've found, and a single file can back up or restore it all.
- Tap instead of scan — write any TagDrop code to a blank or rewritable NFC tag, then read it back with a tap instead of the camera.
- Sign your drops — post-quantum (ML-DSA-44) Verified Authorship signing lets anyone who scans your codes recognise them as genuinely yours after the first scan (trust-on-first-use), with a ✅/⚠️/🔏 badge shown on every signed item. Back up your signing identity to a passphrase-protected file to keep the same recognisable signer across devices.
How it works
Every code carries a tagdrop: URI — a QDEF container of CBOR Records, Base41-encoded so it packs efficiently into a QR code's alphanumeric mode. Content can optionally be DEFLATE-compressed and split across multiple codes with parity recovery. IDs are content-addressed (SHA-256 based), so identical content always gets the same ID regardless of who created it. The full wire-format spec is browsable in-app, no internet connection required.
Status
V2.5 — QDEF-based wire container encoding with content split into codes plus optional parity recovery, post-quantum (ML-DSA-44) content signing with trust-on-first-use verification, paper manifests with multi-file directories and relative-link navigation, geographic trails via "related" hints, ad-hoc collections, reply threading, an in-app scanner with a live scan board, NFC tag read/write, search and #hashtag filtering, full backup/restore, a Map tab for located finds, and remote drop-source feeds that pre-populate the map with community drops before you scan them.
- 作者: mofosyne
- 授權條款: GNU General Public License v3.0 only
- 問題追蹤系統
- 原始碼
- 建置詮釋資料
- 可重現建置狀態
版本
雖然在下方可選擇下載 APK 檔案,但要留意這樣的安裝方式將不會收到更新通知,是一種較不安全的下載方法。建議您先安裝 F-Droid 用戶端使用。
下載 F-Droid-
此版本需要 Android 6.0 或更高的版本。
此套件包由 F-Droid 建置和簽署,並保證與此原始碼 Tarball 保持一致。
-
此版本需要 Android 6.0 或更高的版本。
此套件包由 F-Droid 建置和簽署,並保證與此原始碼 Tarball 保持一致。
-
此版本需要 Android 6.0 或更高的版本。
此套件包由 F-Droid 建置和簽署,並保證與此原始碼 Tarball 保持一致。
新版本 2.6.0
- Wire format: codes now follow the current QDEF specification's rules for declaring namespace and laying out fields. QR codes, NFC tags, and codes made with the web generator before this update will no longer scan correctly with this version, and codes made with this version won't scan with an older one — regenerate any QR codes and rewrite any NFC tags after updating.
- Fixed: reading the raw binary form of a QR code is now more resilient across different Android camera-library versions.
- Fixed: reading the raw binary form of a QR code is now more resilient across different Android camera-library versions.
新版本 2.5.1
- Fixed: byte-mode QR/JABCode codes now match the current QDEF wire format (the container's leading namespace declaration moved into the root array itself). Older QDEF-framed codes generated by this app's own web tools before this fix could fail to scan; tagdrop: URI and NFC tags were never affected.






