Hour Share ドキュメント
概要
Hour Share は、同じWi-Fiネットワーク上のデバイス間でファイルやテキストを共有するためのローカルWebツールです。Node.js CLIランナーとWebダッシュボードを提供するPython Flaskサーバーで構成されています。QRコードをスキャンすることで、任意のデバイスがダッシュボードにアクセスし、コンテンツのアップロード、ダウンロード、共有が行えます — インターネット接続やアカウントは不要です。
機能
- QR接続 — ダッシュボードからQRコードをスキャンして、同じWi-Fi上の任意のデバイスで開きます。
- ファイルアップロード・ダウンロード — 最大100MBのファイルをアップロード。ワンクリックでダウンロード — パスワード保護。
- テキスト共有 — テキスト、スニペット、リンクを貼り付けて、受信パネルから即座に共有。
- パスワード保護 — バンドルとグループごとにbcryptパスワード — 共有ネットワークでも安全。
- 自動消去 — すべてのバンドル、グループ、およびそのアイテムは60分後に自動消去 — ディスクを散らかしません。
- グループチャット — 名前とパスワードでグループを作成または参加 — ファイルとテキストをリアルタイムで共有。
インストール
npm でグローバルインストールして実行:
# Install globally npm install -g hourshare # Start Hour Share hourshare
ソースからビルド
# Clone the repository git clone https://github.com/Curzyori/hour-share.git cd hour-share # Set up Python environment python3 -m venv .venv source .venv/bin/activate pip install -r requirements.txt # Run the server directly python3 server.py
技術仕様
- CLI: Node.js (vanilla, no deps)
- サーバー: Python 3.10+, Flask 3
- フロントエンド: Vanilla HTML/CSS/JS (no build step)
- 認証: bcrypt password per bundle
- ストレージ: File-based JSON (no DB)
- ライセンス: MIT
仕組み
Hour Share は、ローカルマシン上で Python Flask サーバーを実行し、HTTP 経由で Web ダッシュボードを提供します。Node.js CLI(`hourshare`)はサーバーをバックグラウンドで起動し、ブラウザでダッシュボード URL を開き、QR コードを表示します。同じ Wi-Fi 上の任意のデバイスが QR コードをスキャンしてダッシュボードを開くことができます。ファイルとテキストはサーバー上の JSON ファイルに保存され、60 分後に自動消去されます。オプションのパスワード保護は bcrypt を使用して転送を安全に保ちます。