Dokumentasi Hour Share
Pengantar
Hour Share adalah alat web lokal untuk berbagi file dan teks antar perangkat dalam satu jaringan Wi-Fi. Terdiri dari runner CLI Node.js ringkas dan server Flask Python yang menyajikan dashboard web. Dengan memindai QR code, perangkat mana pun dapat langsung mengakses dashboard untuk mengunggah, mengunduh, dan berbagi konten — tanpa koneksi internet atau akun.
Fitur
- Koneksi QR — Pindai QR code dari dashboard untuk membukanya di perangkat mana pun dalam Wi-Fi yang sama.
- Unggah & Unduh File — Unggah file hingga 100 MB per file. Unduh dengan satu klik — dilindungi password.
- Berbagi Teks — Tempel teks, cuplikan, atau tautan dan bagikan secara instan melalui panel receive.
- Perlindungan Password — Password bcrypt per bundle dan per grup — aman bahkan di jaringan bersama.
- Kadaluwarsa Otomatis — Semua bundle, grup, dan item-nya otomatis kedaluwarsa setelah 60 menit — tanpa sampah disk.
- Grup Chat — Buat atau bergabung grup dengan nama dan password — bagikan file dan teks secara real-time.
Instalasi
Instal secara global via npm dan jalankan:
# Install globally npm install -g hourshare # Start Hour Share hourshare
Build dari Source
# 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
Teknologi
- CLI: Node.js (vanilla, no deps)
- Server: Python 3.10+, Flask 3
- Frontend: Vanilla HTML/CSS/JS (no build step)
- Autentikasi: bcrypt password per bundle
- Penyimpanan: File-based JSON (no DB)
- Lisensi: MIT
Cara Kerja
Hour Share menjalankan server Flask Python di mesin lokal Anda, menyajikan dashboard web melalui HTTP. CLI Node.js (`hourshare`) meluncurkan server di latar belakang, membuka URL dashboard di browser, dan menampilkan QR code. Perangkat mana pun dalam Wi-Fi yang sama dapat memindai QR code untuk membuka dashboard. File dan teks disimpan dalam file JSON di server dan kedaluwarsa setelah 60 menit. Perlindungan password opsional menggunakan bcrypt untuk menjaga keamanan transfer Anda.