科学・技術
Decimen Optical Transfer: ファウンテンコード化されたQRファイル転送
Decimen Optical Transfer: fountain-coded QR file transfer (github.com)
要約
Decimen Optical Transferは、画面とカメラのみを使用してデバイス間でファイルを転送するシステムです。送信側はファイルをアニメーションQRコードのストリームとして表示し、受信側はカメラでそれを読み取ってファイルを再構築します。ネットワーク接続、アプリ、ペアリング、カメラ以外の権限は不要です。最大64MBのファイルを転送でき、ファイル名とメディアタイプも保持されます。受信したビデオはページ内で直接再生されます。このシステムは、ネットワークを介さずにファイルを共有する新しい方法を提供します。
全文翻訳
Decimen Optical Transfer: ファウンテンコード化されたQRファイル転送 画面とカメラだけで、2つのデバイス間でファイルを送信します。1つのページがファイルを無限に流れるアニメーションQRコードのストリームとして表示し、別のデバイスがその画面にカメラを向けてファイルを再構築します。デバイス間のネットワークパスなし、アプリなし、ペアリングなし、カメラ以外の権限なし。ペイロードは軽やかに移動します。 試してみる → decimen.app 両方のデバイスで開き、開始してください — インストール不要です。初回訪問後はオフラインで動作し、ホーム画面に追加したい場合はiOSとAndroidの両方でアプリとしてインストールできます。64MBまでのファイル(または貼り付けたテキストスニペット)、ファイル名とメディアタイプを保持、gzipは役立つ場合にのみ使用、すべてが提供される前にSHA-256で検証 — 受信したビデオはページ内で直接再生されます。128KB/sに達した128KB/sの電話間転送から抽出されました。どちらのモードも暗号化されていません — 送信画面にあるものは、それに向けられたどのカメラでも読み取ることができます。これにより、ネットワークがないというプロパティが得られますが、機密性はありません — プライバシーを参照してください。 ドキュメント 使用方法 — クイックスタート · 送信 · 受信 · トラブルシューティング · インストールとオフライン · プライバシー 構築方法 — アーキテクチャ · プロトコル · プラットフォームの癖 · ビルドとリリース プロトコルの短いバージョン:画面からカメラへのリンクにはバックチャネルがないため、送信側はファウンテンコード化されたフレーム(Luby変換)をストリーミングします — 受信側は、任意の順序で約K・1.15個の異なるフレームを収集し、ファイルを取り出します。ドロップされたフレームは時間を消費しますが、正確さを損なうことはありません。 自分で実行する npm install npm run dev # HMR付きHTTPS開発サーバー npm run serve # ビルド後、本番バンドルを提供 npm run demo # デモモード:バンドルされたペイロードのみ送信可能 npm test # ゴールデンワイヤーフォーマットベクトルと単体テスト npm run build # ホストされているサイト → dist/ npm run build:standalone # 自己完結型ページ2つ → dist-standalone/ npm run build:all # すべて 送信側デバイスでhttps://localhost:5173/send/を開き、受信側電話機で表示されるネットワークURL(自己署名証明書を一度受け入れる)を開きます。 ウォークスルー:クイックスタート。 類似プロジェクト ここでのコンセプトは独立して到達されました。いくつかの人が同様のアイデアを持っており、それらのアプローチはすべて一見の価値があることがわかりました: mohankumarelec/airgapped-qr-code-transfer: ブラウザベースのQRファイル転送、圧縮とシーケンシャルチャンキング付き。このプロジェクトを公開デモした後発見されました;収束進化の現れ。 divan/txqr (2018): GoでのアニメーションQRとファウンテンコード、ファウンテンコードがシーケンシャルループより優れている理由に関する2つの優れた解説。 sz3/libcimbar: QRを完全に超えて、このチャネル専用に設計されたカスタム高密度カラーコードを使用します。 Evan Crawley(Bash Alarmist)によって構築され、node-qrcodeとzxing-wasmを使用。 ライセンス MIT