Skip to content

Latest commit

ย 

History

History
357 lines (256 loc) ยท 11.9 KB

File metadata and controls

357 lines (256 loc) ยท 11.9 KB
Fadlan Send Icon

๐Ÿช„ Fadlan Send

Python Flask MediaPipe PWA
License Build Status Stars


๐ŸŽฌ Demo

Demo Fadlan Send

๐Ÿ‡ฎ๐Ÿ‡ฉ Bahasa Indonesia

Transfer file dari HP Android ke Laptop dalam sekejap mata โ€” cukup dengan gerakan tangan.

โœŠ Genggam โ†’ ๐Ÿ–๏ธ Buka โ†’ ๐Ÿ’ฅ File mendarat di laptop!

โšก Kenapa Fadlan Send?

Bosan colok kabel USB? Males buka WhatsApp Web cuma buat kirim satu foto? Fadlan Send hadir sebagai solusi transfer file yang benar-benar ajaib:

Pilih foto di Galeri โ†’ Share ke Fadlan Send โ†’ Kepal tangan โœŠ โ†’ Buka jari ๐Ÿ–๏ธ โ†’ BAM! File langsung muncul di layar laptop.

Tidak ada kabel. Tidak ada login. Tidak ada aplikasi berat. Cukup tangan kosong.


๐ŸŒŸ Fitur

๐Ÿค– Smart AI Gesture Engine v2

  • Deteksi 4 jari sekaligus (telunjuk, tengah, manis, kelingking) untuk kepalan yang presisi
  • Anti False Trigger โ€” harus terdeteksi 8 frame berturut-turut
  • Hold Duration โ€” tangan harus digenggam minimal 1 detik sebelum bisa dilempar
  • Cooldown 3 detik โ€” mencegah pengiriman ganda yang tidak disengaja
  • Open Validation โ€” buka tangan harus stabil 5 frame sebelum dianggap sah

๐Ÿ“ฒ Native Android Share Integration (PWA)

  • Terinstall seperti aplikasi biasa di Home Screen HP
  • Muncul langsung di menu "Bagikan" bawaan Android (sebelahan sama WhatsApp, Telegram, dll)
  • File langsung tertangkap server tanpa perlu pilih ulang

๐ŸŽถ Immersive UX Feedback

  • Sound Effects โ€” suara synth yang disintesis langsung di browser via Web Audio API (tanpa file audio!)
    • Wush saat mulai menggenggam
    • Tiim saat genggaman terkunci (armed)
    • Ziuung saat melempar
    • Ting-ting saat berhasil mendarat
  • Haptic Vibration โ€” HP bergetar sesuai tahapan gesture
  • Flying Animation โ€” ikon ๐Ÿ“„ terbang meluncur keluar layar saat file dilempar

๐Ÿ’ป Auto-Open di Desktop

File yang mendarat di laptop langsung terbuka otomatis dengan aplikasi default:

Jenis File Dibuka Dengan
๐Ÿ“ธ Foto Image Viewer
๐ŸŽฌ Video Video Player
๐Ÿ“„ PDF Document Reader
๐ŸŽต Audio Music Player
๐Ÿ“ Teks Text Editor

๐Ÿ”” Desktop Notification

Notifikasi OS muncul instan di sudut layar laptop setiap kali file berhasil diterima.

๐Ÿ•ต๏ธ Hidden Camera Mode

Kamera aktif di latar belakang tapi tidak terlihat di UI sama sekali. Tampilannya bersih, hanya kotak instruksi bergaris putus-putus yang elegan.

๐Ÿ”’ Privacy First

Privasi terjaga: Pelacakan tangan diproses 100% lokal di perangkatmu menggunakan MediaPipe. Tidak ada data kamera yang dikirim ke server. Kameramu, datamu.


๐Ÿ› ๏ธ Kebutuhan Sistem

Laptop / Desktop (Penerima)

  • Python 3.8+
  • Satu jaringan Wi-Fi dengan HP
OS Status Perintah Buka File
๐Ÿง Linux (Mint/Ubuntu/Debian) โœ… Fully Supported xdg-open + notify-send
๐ŸŽ macOS ๐Ÿšง Coming Soon open
๐ŸชŸ Windows ๐Ÿšง Coming Soon start

Smartphone Android (Pengirim)

  • Google Chrome 76+
  • Kamera depan yang berfungsi

๐Ÿš€ Instalasi

1. Clone & Install

git clone https://github.com/MAliffadlan/magic_file_transfer.git
cd magic_file_transfer
pip install -r requirements.txt

2. Jalankan Server

python3 receiver.py

3. Buat Tunnel HTTPS (Wajib untuk PWA)

PWA di Android membutuhkan HTTPS. Gunakan Cloudflare Tunnel:

cloudflared tunnel --url http://127.0.0.1:5050

Catat URL https://xxxx.trycloudflare.com yang muncul.

4. Install di HP Android

  1. Buka link Cloudflare di Chrome HP
  2. Tap tombol ๐Ÿ“ฒ Install Aplikasi
  3. Fadlan Send kini ada di Home Screen!

๐Ÿช„ Cara Pakai

1. Buka Galeri โ†’ Pilih foto/video
2. Tap "Bagikan" โ†’ Pilih "Fadlan Send"
3. Layar hijau berkedip = file sudah siap
4. Kepalkan tangan โœŠ di depan kamera โ†’ Tahan 1 detik
5. Status berubah "SIAP DILEMPAR!" ๐Ÿ”ฅ
6. Buka jari lebar ๐Ÿ–๏ธ โ†’ File terbang ke laptop!
7. File langsung terbuka otomatis di layar laptop ๐ŸŽ‰

๐Ÿ“ Struktur Proyek

fadlan-send/
โ”œโ”€โ”€ receiver.py          # Server Flask (penerima file)
โ”œโ”€โ”€ templates/
โ”‚   โ””โ”€โ”€ index.html       # Web UI + MediaPipe + Gesture Engine
โ”œโ”€โ”€ manifest.json        # PWA manifest (Share Target)
โ”œโ”€โ”€ sw.js                # Service Worker
โ”œโ”€โ”€ icon-192.png         # App icon 192x192
โ”œโ”€โ”€ icon-512.png         # App icon 512x512
โ”œโ”€โ”€ requirements.txt     # Python dependencies
โ””โ”€โ”€ .gitignore

โš ๏ธ Catatan Penting

  • URL Cloudflare Tunnel bersifat sementara โ€” berubah setiap restart. Setelah restart tunnel, hapus & install ulang aplikasi di HP.
  • Untuk URL permanen, gunakan Cloudflare Named Tunnel.
  • Jika tampilan tidak berubah setelah update, clear cache browser atau reinstall PWA.


๐Ÿ‡ฌ๐Ÿ‡ง English

Transfer files from your Android phone to your Laptop in the blink of an eye โ€” using nothing but hand gestures.

โœŠ Clench โ†’ ๐Ÿ–๏ธ Open โ†’ ๐Ÿ’ฅ File lands on your laptop!

โšก Why Fadlan Send?

Tired of plugging in USB cables? Don't want to open WhatsApp Web just to send a single photo? Fadlan Send is a file transfer solution that's truly magical:

Pick a photo in Gallery โ†’ Share to Fadlan Send โ†’ Clench your fist โœŠ โ†’ Open your fingers ๐Ÿ–๏ธ โ†’ BAM! File instantly appears on your laptop screen.

No cables. No login. No heavy apps. Just your bare hands.


๐ŸŒŸ Features

๐Ÿค– Smart AI Gesture Engine v2

  • Detects 4 fingers simultaneously (index, middle, ring, pinky) for precise fist recognition
  • Anti False Trigger โ€” must be detected for 8 consecutive frames
  • Hold Duration โ€” fist must be held for at least 1 second before throwing
  • 3-second Cooldown โ€” prevents accidental duplicate sends
  • Open Validation โ€” open hand must be stable for 5 frames to be considered valid

๐Ÿ“ฒ Native Android Share Integration (PWA)

  • Installs like a regular app on your phone's Home Screen
  • Appears directly in Android's native "Share" menu (right alongside WhatsApp, Telegram, etc.)
  • File is captured by the server instantly โ€” no need to re-select

๐ŸŽถ Immersive UX Feedback

  • Sound Effects โ€” synthesized sounds generated directly in the browser via Web Audio API (no audio files needed!)
    • Whoosh when you start clenching
    • Teem when the fist locks in (armed)
    • Zwoom when throwing
    • Ting-ting upon successful landing
  • Haptic Vibration โ€” phone vibrates in sync with each gesture stage
  • Flying Animation โ€” a ๐Ÿ“„ icon flies across the screen when the file is thrown

๐Ÿ’ป Auto-Open on Desktop

Files that land on your laptop open automatically with the default application:

File Type Opens With
๐Ÿ“ธ Photo Image Viewer
๐ŸŽฌ Video Video Player
๐Ÿ“„ PDF Document Reader
๐ŸŽต Audio Music Player
๐Ÿ“ Text Text Editor

๐Ÿ”” Desktop Notification

An OS notification appears instantly in the corner of your laptop screen every time a file is successfully received.

๐Ÿ•ต๏ธ Hidden Camera Mode

The camera is active in the background but completely invisible in the UI. The interface stays clean โ€” just an elegant dashed-border instruction box.

๐Ÿ”’ Privacy First

Privacy focused: Hand tracking is processed entirely on your device using MediaPipe. No camera data is ever sent to the server. Your camera, your data.


๐Ÿ› ๏ธ System Requirements

Laptop / Desktop (Receiver)

  • Python 3.8+
  • Same Wi-Fi network as your phone
OS Status File Open Command
๐Ÿง Linux (Mint/Ubuntu/Debian) โœ… Fully Supported xdg-open + notify-send
๐ŸŽ macOS ๐Ÿšง Coming Soon open
๐ŸชŸ Windows ๐Ÿšง Coming Soon start

Android Smartphone (Sender)

  • Google Chrome 76+
  • Working front camera

๐Ÿš€ Installation

1. Clone & Install

git clone https://github.com/MAliffadlan/magic_file_transfer.git
cd magic_file_transfer
pip install -r requirements.txt

2. Start the Server

python3 receiver.py

3. Create an HTTPS Tunnel (Required for PWA)

PWA on Android requires HTTPS. Use Cloudflare Tunnel:

cloudflared tunnel --url http://127.0.0.1:5050

Note the https://xxxx.trycloudflare.com URL that appears.

4. Install on Android Phone

  1. Open the Cloudflare link in Chrome on your phone
  2. Tap the ๐Ÿ“ฒ Install App button
  3. Fadlan Send is now on your Home Screen!

๐Ÿช„ How to Use

1. Open Gallery โ†’ Select a photo/video
2. Tap "Share" โ†’ Choose "Fadlan Send"
3. Green screen flash = file is ready
4. Clench your fist โœŠ in front of the camera โ†’ Hold for 1 second
5. Status changes to "READY TO THROW!" ๐Ÿ”ฅ
6. Open your fingers wide ๐Ÿ–๏ธ โ†’ File flies to your laptop!
7. File opens automatically on your laptop screen ๐ŸŽ‰

๐Ÿ“ Project Structure

fadlan-send/
โ”œโ”€โ”€ receiver.py          # Flask server (file receiver)
โ”œโ”€โ”€ templates/
โ”‚   โ””โ”€โ”€ index.html       # Web UI + MediaPipe + Gesture Engine
โ”œโ”€โ”€ manifest.json        # PWA manifest (Share Target)
โ”œโ”€โ”€ sw.js                # Service Worker
โ”œโ”€โ”€ icon-192.png         # App icon 192x192
โ”œโ”€โ”€ icon-512.png         # App icon 512x512
โ”œโ”€โ”€ requirements.txt     # Python dependencies
โ””โ”€โ”€ .gitignore

โš ๏ธ Important Notes

  • Cloudflare Tunnel URLs are temporary โ€” they change on every restart. After restarting the tunnel, uninstall & reinstall the app on your phone.
  • For a permanent URL, use Cloudflare Named Tunnel.
  • If the UI doesn't update after changes, clear your browser cache or reinstall the PWA.


Made with โ˜• and sleepless nights by @MAliffadlan