LocalSend - Aplikasi berbagi file lokal lintas platform open source pengganti AirDrop
(github.com/localsend)Repository: https://github.com/localsend/localsend
- Aplikasi open source gratis yang memungkinkan pertukaran file dan pesan secara aman dengan perangkat terdekat di dalam jaringan lokal tanpa koneksi internet
- Mendukung komunikasi lokal yang cepat dan andal tanpa bergantung pada server eksternal atau server pihak ketiga, dengan komunikasi antarperangkat ditangani melalui REST API dan enkripsi HTTPS
- Semua data transfer dilindungi dengan HTTPS, dan sertifikat TLS/SSL dibuat secara instan di masing-masing perangkat untuk meningkatkan keamanan
- Tersedia di Windows, macOS, Linux, Android, iOS, dan Fire OS, dengan instalasi melalui app store atau package manager sebagai cara yang paling direkomendasikan
- Aplikasi ini tidak memiliki fitur pembaruan otomatis, sehingga README merekomendasikan penggunaan jalur app store atau package manager
- Kanal distribusinya mencakup Winget, Scoop, Chocolatey, EXE, Portable ZIP di Windows; App Store dan Homebrew di macOS; Flathub, Nixpkgs, Snap, AUR, DEB, AppImage, TAR di Linux; Play Store, F-Droid, APK di Android; serta Amazon di Fire OS
- Versi minimum yang didukung adalah Android 5.0, iOS 12.0, macOS 11 Big Sur, dan Windows 10, sedangkan versi terakhir yang mendukung Windows 7 adalah v1.15.4
- Di Linux, dependensi keluarga xdg-desktop-portal diperlukan tergantung lingkungan desktop; Gnome memerlukan
xdg-desktop-portaldanxdg-desktop-portal-gtk, sedangkan KDE memerlukanxdg-desktop-portaldanxdg-desktop-portal-kde - Sebagian besar dapat berjalan tanpa pengaturan tambahan, tetapi jika ada masalah pengiriman atau penerimaan, perlu mengizinkan inbound TCP/UDP 53317 di firewall dan juga mengizinkan outbound TCP/UDP
- Jika AP isolation di router aktif, koneksi antarperangkat akan terblokir, sehingga perlu dinonaktifkan saat muncul masalah penemuan perangkat
- Mode portabel dapat diaktifkan dengan menempatkan file
settings.jsonyang boleh kosong di direktori yang sama dengan file executable, dan lokasi penyimpanan pengaturan akan dipindahkan ke file tersebut alih-alih jalur bawaan - Untuk memulai aplikasi dalam keadaan hanya tersembunyi di tray, dapat menggunakan flag
--hidden - Jika kecepatan lambat, disarankan menggunakan 5 Ghz dan menonaktifkan enkripsi di kedua perangkat, sementara penurunan kecepatan penerimaan di Android masih menjadi isu yang diketahui
- Untuk build dari source diperlukan Flutter dan Rust, dan karena proyek ini menggunakan Flutter versi lama yang ditentukan di
.fvmrc, disarankan memakaifvm flutter
2 komentar
Saya sering memakainya untuk berbagi timelapse yang diambil saat kumpul main board game.
Belakangan, karena Galaxy dan Pixel sama-sama sudah bisa berbagi ala AirDrop, kegunaannya jadi agak tanggung.
Tapi tentu saja, untuk mengirim ke desktop, ini masih bagus.
Opini Hacker News
Masalahnya, semua alternatif seperti ini harus berada di jaringan lokal yang sama
Sejauh yang saya pahami, hal bagus dari Airdrop adalah ia secara otomatis membuat dan menangani jaringan lokal itu di balik layar
Jadi bahkan saat sedang hiking bersama teman, saya bisa langsung mengirim sesuatu
Setelah pindah ke Android, saya menyalakan tethering ke perangkat teman untuk membuat LAN lalu memakai Localsend, tetapi pengalaman keseluruhannya jauh kurang mulus
Ini alat transfer antarperangkat yang berjalan hanya sebagai halaman GitHub statis
repo gh: https://github.com/mbarlow/thinair
Masing-masing perangkat membuat kode QR untuk dipindai, lalu membangun koneksi WebRTC
Antar-Android, ini juga memakai audio chirp yang memberi tahu satu sama lain untuk beralih dari mode QR ke mode pemindaian kamera
Sudah diuji juga untuk Android↔Apple dan memang berjalan, tetapi Apple tidak bisa menangkap audio chirp itu
Dalam kasus seperti itu, tunggu sebentar saja dan kode QR akan hilang sehingga bisa lanjut ke tahap pemindaian
Ini dibuat terburu-buru, dan awalnya saya sedang bereksperimen dengan handshake audio antarsmartphone memakai chirp mirip kicauan burung atau gaya modem lama
Menempelkan ponsel dan saling mengirim frame audio untuk mengonfirmasi awal transfer memang menyenangkan, tetapi handshakenya lambat dan kurang andal
Saya ingin lebih memoles alurnya, dan saat ini saya sudah memakainya untuk mengirim file antara iPhone/Android/PC tanpa aplikasi, email, atau akun
Hanya saja, ini tidak terlalu stabil atau ramah pengguna
https://github.com/spieglt/FlyingCarpet
Ini aplikasi Android, dan katanya tidak perlu LAN saat berbagi
https://play.google.com/store/apps/details?id=com.fastfilelink.wrapper
Kadang tidak bisa menemukan ponsel lain, dan mungkin itu terjadi ketika transfer sebelumnya diam-diam gagal di latar belakang
Tanpa koneksi seluler/Wi‑Fi, pencarian kontak juga bermasalah, dan saya mengalaminya saat mencoba mengirim foto ke ponsel lain di gunung
Kadang juga cuma macet dan sama sekali tidak jalan, jadi Apple magic seperti ini tidak terlalu membantu
Untuk memakai Localsend, Anda harus membuat Wi‑Fi ad-hoc di satu perangkat, menghubungkan perangkat lain ke sana, lalu baru menjalankan Localsend
Dua langkah sebelumnya cukup merepotkan, dan karena Airdrop menangani itu secara otomatis, rasanya jauh lebih minim friksi
Saya baru mulai memakainya belakangan ini, dan benar-benar bekerja dengan baik serta jauh lebih dapat diandalkan daripada Airdrop
Hanya saja, UX-nya masih bisa dibuat lebih baik
Meski begitu, saya tetap berharap Apple mau sedikit memperbaiki Airdrop
Setiap kali dipakai, tingkat kepercayaannya terlalu rendah; kadang perangkat tidak terlihat, atau kalau ada beberapa pengguna Mac, ia menampilkan Mac yang sama dua kali tanpa memberi tahu itu pengguna yang mana sehingga membingungkan
Saya kurang paham file besar seperti apa yang dibuat dan dipindahkan orang sampai butuh aplikasi seperti ini
Dalam kasus saya, file yang muncul dari ponsel hanya foto dan video, dan itu bisa dibackup ke Immich lalu dibagikan lewat tautan
Saya rasa kebanyakan orang juga akan melakukan hal serupa dengan iCloud atau Google Photos
Untuk sinkronisasi file lain seperti dokumen, saya memakai ownCloud OCIS, dan bagi kebanyakan orang DropBox atau iCloud, atau bahkan email atau WhatsApp, sepertinya sudah cukup
Kalau memindahkan hal seperti ISO di jaringan lokal, tinggal salin lewat SMB, dan itu pada dasarnya bisa dilakukan di mana saja tanpa perlu aplikasi terpisah
Untuk backup, tinggal colokkan hard drive saja
Jadi saya kurang benar-benar paham kenapa ini perlu dipakai
Dulu saya juga pernah mengalami masalah perangkat tidak terlihat, tetapi belakangan ini hampir selalu berjalan baik
Saya belum menemukan cara pasti untuk memperbaikinya; yang paling efektif sejauh ini adalah mematikan lalu menyalakan Airdrop di kedua sisi, tetapi itu pun cuma berhasil sekitar 70%
Layak melihat Sendme https://github.com/n0-computer/sendme dan AltSendme https://github.com/tonyantony300/alt-sendme
Keduanya memakai Iroh https://github.com/n0-computer/iroh, yaitu layanan relay P2P terenkripsi open source untuk mengirim data tanpa server pusat, jadi pada praktiknya tidak ada batas ukuran file kirim/terima
Saya juga pernah merekomendasikan ini saat ada pembahasan aplikasi berbagi file di thread serupa
https://news.ycombinator.com/item?id=47906587
Kodenya tidak cukup pendek atau sederhana untuk disampaikan secara lisan, dan kalau Anda bisa mengirim kode itu, biasanya file aslinya juga bisa langsung dikirim
https://github.com/schlagmichdoch/pairdrop
Ini proyek serupa, tetapi semuanya berjalan di browser, dan bisa memakai room "public" untuk terhubung dengan klien di luar jaringan lokal
Saya sudah memasang Localsend untuk transfer antara iPhone dan desktop Linux, tetapi tidak selalu berjalan mulus
Bahkan setelah membuka port Localsend di Firewalld, kadang butuh lebih dari 10 menit sampai perangkat bisa saling melihat
Kalau berbasis browser, setidaknya discovery sepertinya akan lebih cepat
Dokumentasinya agak tersembunyi, tetapi FAQ ada di https://github.com/schlagmichdoch/pairdrop/blob/master/docs/faq.md, dan
cara integrasi dengan menu berbagi Android, iOS, dan Windows ada di https://github.com/schlagmichdoch/PairDrop/blob/master/docs/how-to.md
Ini adalah fork dari sharedrop dan snapdrop setelah keduanya diakuisisi LimeWire lalu rusak
Untuk hal-hal yang mengklaim sebagai pengganti Airdrop, rasanya perlu semacam spamsolutions.txt
Ini gagal memenuhi kriteria bahwa kedua peer tidak harus sama-sama terhubung ke jaringan Wi‑Fi yang sudah ada
https://craphound.com/spamsolutions.txt
Saya pernah merilis sesuatu yang mirip dengan Tauri
Ukuran file instalasinya sekitar 27MB di Mac, 45MB untuk Linux .deb, dan 53MB di Windows, sedangkan Electron titik dasarnya sekitar 150MB
Hanya .AppImage yang jadi pengecualian di sekitar 110MB karena harus membundel runtime
Penghematan ukuran ini datang dari penggunaan ulang webview milik OS, tetapi itu sekaligus menjadi biayanya
WebKitGTK di Linux berperilaku sangat berbeda dari WebKit di Mac atau Edge WebView di Windows, sehingga Anda kehilangan banyak hal yang biasanya ditangani Chromium dan akhirnya menghabiskan waktu untuk debugging lintas platform
Yang lebih mengejutkan daripada framework-nya justru packaging Linux
AppImage memang bisa berjalan di mana saja, tetapi bagi sebagian besar pengguna terasa seperti warga kelas dua, dan .deb mencakup distro arus utama tetapi Anda harus terus mengikuti versi glibc yang selalu bergerak
Snap/Flatpak tampak seperti jawaban resmi lintas distro, tetapi karena sandbox dan penanganan izin, developer indie mudah menghabiskan berminggu-minggu di situ
Pada akhirnya saya merilis .deb dan .AppImage, lalu dalam hitungan jam email "kenapa tidak ada di AUR" mulai berdatangan
Ini juga berjalan di browser
https://web.localsend.org/
Bisa transfer dari Windows ke Android dan iOS
Saya sudah mencoba kirim dan terima lewat Firefox, Chrome, ponsel, dan laptop
Di konsol muncul
WebRTC: ICE failed, add a TURN server and see about:webrtc for more details.dan saya tidak paham bagaimana pengguna biasa diharapkan bisa menyelesaikannyaKalau dicari, kebanyakan saran yang muncul hanya untuk developer
Akhirnya saya tahu, ini berjalan kalau Tailscale dimatikan
Hanya saja v1.18.0 masih belum muncul di F-droid
Tahun lalu saya juga sedang membuat sesuatu di area ini
Pada dasarnya saya membuat keibidrop, yaitu filesystem peer-to-peer: https://keibidrop.com/
Saya merilisnya minggu lalu, dan selain melakukan apa yang dilakukan local send, ini juga bekerja lewat WAN
Aplikasi mobile-nya belum dirilis
Langkah lebih jauhnya adalah adanya virtual filesystem yang tersinkronisasi dua arah
Repositorinya ada di sini: https://github.com/KeibiSoft/KeibiDrop
Kode selain UI bersifat open source, dan saya juga sempat membenchmark-nya melawan localsend berdasarkan loopback, hasilnya local send lebih cepat
https://keibisoft.com/blog/keibidrop-benchmarks-vs-competition.html
Kemarin saya juga mencoba membuat thread komentar di /r/golang
Secara internal, ini memakai PQC, gRPC, dan FUSE
Setelah pindah ke Linux, ini adalah salah satu aplikasi pertama yang saya instal
Ini benar-benar membuat saya merasakan betapa bagusnya aplikasi open source
Sepertinya Localsend saat ini tidak bekerja stabil kalau Tailscale aktif
Disayangkan
Akan sangat bagus kalau ia juga mendukung transfer file antarklien dalam tailnet yang sama