1 poin oleh GN⁺ 2024-10-21 | 2 komentar | Bagikan ke WhatsApp
  • Aplikasi syncthing-android resmi akan dipensiunkan, dan rilis terakhir di GitHub serta F-Droid dijadwalkan hadir bersama Syncthing versi Desember 2024
  • Latar belakang penghentian ini adalah kombinasi dari distribusi Google Play yang menjadi “sulit atau mustahil” dan tidak adanya pemeliharaan aktif
  • Pemblokiran rilis Play Store bukan satu-satunya penyebab; untuk menghidupkan kembali atau terus memelihara aplikasi, harus ada seseorang yang mengambil alih pemeliharaan jangka panjang
  • Syncthing sendiri tidak menghilang dari Android, sehingga alternatif seperti tetap memakai aplikasi lama, Syncthing Fork, atau menjalankannya berbasis Termux sedang dibahas
  • Aplikasi resmi terakhir kemungkinan masih akan berfungsi untuk sementara waktu, tetapi pengguna yang membutuhkan versi Syncthing baru sebaiknya mempertimbangkan transisi dengan mengekspor konfigurasi dan memindahkannya ke Fork

Aplikasi syncthing-android resmi dihentikan

  • Aplikasi syncthing-android resmi telah diputuskan untuk dipensiunkan, dan rilis terakhir di GitHub serta F-Droid dijadwalkan dilakukan bersama Syncthing versi Desember 2024
  • Latar belakang penghentian ini merupakan hasil dari dua faktor yang terjadi bersamaan
    • Google membuat distribusi melalui Play menjadi “sulit atau mustahil”
    • Tidak ada pemeliharaan aktif untuk aplikasi tersebut
  • Aplikasi ini sudah lama tidak mengalami pengembangan berarti, dan dengan rilis melalui Play yang juga makin sulit, manfaat serta motivasi untuk melakukan pemeliharaan berkelanjutan ikut berkurang
  • Ucapan terima kasih disampaikan kepada para kontributor aplikasi, dan banyak pengguna juga menyampaikan apresiasi atas pemeliharaan selama ini sekaligus rasa kecewa

Masalah distribusi Play Store dan batasan pemeliharaan

  • Di komunitas muncul tanggapan bahwa kebijakan Play Store merugikan aplikasi sah yang membutuhkan izin tingkat lanjut
    • Aplikasi yang membutuhkan izin tingkat lanjut menjadi sulit diunggah ke Store
    • Ada pula kritik bahwa aplikasi yang mengumpulkan data pengguna atau hampir seperti spyware tetap bertahan tanpa banyak pembatasan
  • Ada juga usulan apakah beberapa rilis lagi bisa dipertahankan di F-Droid sambil menyediakan panduan atau dokumentasi transisi
  • Pihak proyek menegaskan bahwa ketidakmampuan merilis melalui kanal distribusi umum hanyalah faktor tambahan yang menurunkan motivasi, bukan satu-satunya penyebab
  • Kebangkitan kembali atau keberlanjutan aplikasi hanya mungkin jika ada seseorang yang mencurahkan upaya jangka panjang, dan aplikasi ini sudah lama berada dalam kondisi “life support”

Cara tetap memakai Syncthing di Android

  • Keputusan ini terbatas pada penghentian aplikasi Android resmi yang sudah lama hampir dorman
  • Ini tidak berarti Syncthing sendiri tidak lagi bisa digunakan di Android, dan pihak lain dapat terus mendistribusikan aplikasi Syncthing untuk Android
  • Ada kekhawatiran bahwa Android akan menjadi makin sulit karena arahnya makin mirip iOS, tetapi disebutkan juga bahwa baru-baru ini aplikasi Syncthing open source baru untuk iOS telah dibuat
  • Pengumum resmi mengatakan bahwa dirinya juga pengguna Syncthing di Android, dan secara pribadi berharap Syncthing tetap dapat digunakan di Android untuk waktu yang lama

Alternatif yang dibahas: Fork dan Termux

  • Sebagai alternatif langsung, Catfriend1/syncthing-android disebutkan
  • Versi terakhir aplikasi resmi yang ada tidak akan lagi diperbarui, tetapi kemungkinan tetap dapat berjalan dengan baik untuk sementara waktu
  • Jika membutuhkan versi Syncthing yang lebih baru, pengguna dapat beralih ke Syncthing Fork
    • Konfigurasi saat ini dapat diekspor dari pengaturan aplikasi resmi
    • Konfigurasi tersebut dapat diimpor ke Fork
    • Dari sudut pandang Syncthing, kedua aplikasi saling kompatibel
  • Menjalankan Syncthing di Termux juga dibahas sebagai alternatif
    • Ini dapat berjalan dengan mengekspor atau menyalin file dan menyesuaikan sebagian konfigurasi
    • Kekurangannya, jika tidak ingin ponsel terus terjaga, pengguna harus memulai dan menghentikannya secara manual
    • Ada juga pendapat bahwa jika optimisasi baterai untuk aplikasi Termux diaktifkan di pengaturan Android, mode doze Android dapat memaksanya masuk ke kondisi sleep
  • Web GUI dapat diakses dari browser lokal melalui http://127.0.0.1:8384, dan ini juga merupakan cara yang bisa digunakan saat memakai aplikasi Syncthing yang ada

Contoh konfigurasi Termux + Tasker

  • Seorang pengguna mengonfirmasi bahwa kombinasi Syncthing + Tasker + Termux merupakan alternatif yang berfungsi
  • Konfigurasi instalasinya adalah sebagai berikut
    • Instal Tasker dari Play Store
    • Instal Termux dan termux:tasker dari F-Droid
  • Izin tambahan adalah sebagai berikut
    • Tasker: additional → run commands in termux environment
    • Termux: Appear on top
  • Perintah untuk menginstal Syncthing di Termux adalah sebagai berikut
termux-setup-storage
apt install syncthing
  • Buat file ~/.termux/tasker/start-syncthing-for-5minutes.sh, lalu atur agar Syncthing berjalan selama 5 menit
#!/usr/bin/bash

timeout -s KILL 5m syncthing
  • Di Tasker, atur agar skrip tersebut dijalankan setiap 1 jam dari 00:00 hingga 23:59 melalui Plugin→Termux:Tasker
    • start-syncthing-for-5minutes.sh
    • terminal session: X
  • Jika opsi Start browser dimatikan di GUI, browser tidak akan otomatis terbuka saat dimulai
  • Setelah mengekspor pengaturan dari aplikasi Android lama dan menyalinnya ke ~/.local/state/syncthing, pengguna dapat melanjutkan konfigurasi lama alih-alih membuat instalasi baru
    • Setelah itu, hapus username/password untuk akses GUI dari config.xml, dan jika perlu, atur kembali yang baru

2 komentar

 
GN⁺ 2024-10-21
Opini Hacker News
  • Diskusi dengan Google tidak menghasilkan apa-apa. Perubahan yang diminta Google agar izin diberikan tidak jelas, sehingga sulit mengetahui harus merespons bagaimana, dan tidak jelas pula apakah apa pun yang dilakukan akan berhasil
    Setelah itu, muncul lagi pekerjaan terpisah seperti verifikasi developer dan tingkat API target agar tetap bisa berada di Play, dan akhirnya mereka sadar bahwa mereka tidak lagi punya motivasi dan waktu untuk terus memainkan permainan ini

    • Rasanya Google tidak akan menerima alasan untuk isu keamanan seperti “kami tidak mau memakai file API karena menulis kodenya sulit.” Saya juga tidak tahu diskusi seperti apa yang mungkin terjadi kalau bunyinya “kami tidak mau memakai SAF API, jadi izinkan kami mengakses semua data pengguna, foto, dan sebagainya”
      Ini terlihat mirip orang di perusahaan yang meledak-ledak dan bersikeras caranya lebih baik alih-alih memperbaiki komentar PR. Apple juga tidak akan mengizinkan penulisan ke direktori sembarang hanya karena ObjC/Swift API sulit dipakai
  • Dulu saya mengembangkan Android secara profesional di Dropbox pada era 2010-an, dan cukup mengenal API sistem berkas Android lama, tetapi saya secara sadar pindah ke sisi pengalaman developer/backend dan meninggalkan Android. Sebagian besar rekan Android saya dulu juga begitu
    Prosedur yang tak ada habisnya dan perubahan API yang harus terus dilewati agar aplikasi tetap berjalan terasa sangat menyakitkan. Pada 2014, ketika Storage Access Framework “aman” baru keluar, saya menemukan kerentanan directory traversal sepele: cukup memberikan "../../" pada nama file, maka bisa menulis ke direktori privat aplikasi mana pun. Itu langsung terlihat ketika saya menelusuri source AOSP untuk memahami SAF
    Selama lama, Android juga memberi bit eksekusi global pada folder aplikasi, sehingga aplikasi berbahaya bisa membuat hard link berdasarkan nama ke file aplikasi lain, lalu menyerahkannya kembali ke aplikasi tersebut untuk melakukan serangan confused deputy dan mengakses isi file
    Saya senang Android telah memperkuat keamanan, tetapi fondasinya dulu terlalu longgar, dan begitu banyak aplikasi telah memakai atau menyalahgunakan fondasi itu. Karena itu, semakin penguncian diperketat, developer yang harus beradaptasi dengan kerusakan kompatibilitas besar yang terus berulang tampaknya akan meninggalkan ekosistem
    [0] Bug 18512473 fixed in https://android.googlesource.com/platform/frameworks/base/+/...
    [1] Proof of concept video: https://www.dropbox.com/s/8dpd8visrttqbfo/poc.mp4?dl=0

    • Masalahnya adalah biaya pemeliharaan berkelanjutan untuk platform mobile native terlalu tinggi. Siapa yang mau mengembangkan di atas platform yang fondasinya terus berubah?
      Saya jadi merindukan visi webOS. Bukan berarti saya merindukan implementasi webOS 14 tahun lalu itu sendiri
  • Ada fork Syncthing untuk Android yang aktif dikelola, dan meski ini hanya satu metrik terpisah, fork itu mendapat 1,3K bintang
    [1] https://github.com/Catfriend1/syncthing-android

    • Bagus untuk diketahui, tetapi README menuliskan begini: “Saya berencana menutup Google Play Developer Account. Hubungi saya jika Anda ingin menerima file rilis gplay terbaru untuk membantu memublikasikan aplikasi ini”
    • Saya sudah cukup lama memakai fork itu. Saat mulai memakai Syncthing, menggunakan Syncthing-Fork tampak seperti kebijaksanaan umum, tetapi saya tidak ingat alasannya
    • Anehnya, sekarang keduanya tidak bisa ditemukan di Play. Aplikasi yang tampaknya merupakan versi asli yang saya pasang lewat Play masih ada di perangkat saya
    • Saya mengekspor pengaturan dari aplikasi lain lalu mengimpornya ke fork ini, dan tampaknya berfungsi. Semua pengaturan masih ada dan sinkronisasi juga tampaknya berjalan. Salut untuk para developernya
    • Betul, saya memakai itu. Sudah bertahun-tahun sangat puas
  • Kalau melihat thread aslinya, penulis mengatakan bahwa memublikasikan di Google Play sangat sulit
    Ia mengatakan “alasannya adalah Google membuat publikasi di Play menjadi sulit atau mustahil”; bisakah ada yang menjelaskan lebih lanjut apa yang terjadi di sini?
    [1]: https://forum.syncthing.net/t/discontinuing-syncthing-androi...

    • Dalam kasus ini, penulis tidak ingin memakai Storage Access Framework API yang sudah diwajibkan sejak beberapa tahun lalu untuk cara mengakses data di luar sandbox aplikasi
      API ini khusus Java, sementara inti Syncthing tidak ditulis dalam Java, jadi mereka harus menulis kode penghubung JNI untuk memanggil Android saat membaca dan menulis file. SAF juga memberi URI pada tiap file dan harus terus menanyakan struktur folder, sehingga cukup merepotkan karena tidak bisa sekadar menyambung path seperti file biasa
      Penulis tidak menginginkan pekerjaan itu dan mencoba meyakinkan Google agar tetap mengizinkan akses langsung ke semua file, foto, dan dokumen, tetapi Google menolak. “Kesulitan” di sini tampaknya berarti bahwa kalau tidak mengikuti panduan, memang sangat sulit memublikasikan di Play. Sama seperti App Store
    • Saya tidak tahu masalah spesifik developer ini, tetapi sebagai developer Android saya bisa menceritakan masalah yang saya alami dengan Google Play. Google Play makin ketat soal izin aplikasi, dan kriteria persetujuan izin sangat tidak transparan
      Aplikasi saya bisa mendapat persetujuan izin pada satu rilis minor, lalu minggu berikutnya ditolak meski hanya ada perubahan kecil pada aplikasi. Jika menghubungi dukungan Google Play, jawabannya selalu kabur, templated, dan berulang. Tidak pernah tahu apakah pembaruan aplikasi akan disetujui membuat ini cara yang buruk untuk mengembangkan sesuatu
    • Saya pernah membuat beberapa aplikasi untuk pekerjaan, dan analogi paling tepat adalah regulasi pemerintah. Persyaratan store, API, dan aturan tertulis terlalu rinci dalam dokumen 49 halaman yang tersebar di beberapa tempat, dan tanpa mengetahui kondisi internal, tidak ada cara untuk mengimplementasikannya secara andal
      Pada akhirnya struktur seperti ini hanya menghukum developer kecil, beranggaran rendah, dan kekurangan waktu, sekaligus mendorong konsolidasi ke pemain besar. Pemain besar bisa memberi pengaruh sampai taraf tertentu, punya tingkat kepercayaan dasar, serta punya anggaran dan waktu untuk mengimplementasikan persyaratan yang konyol dan kadang memberatkan. Hasilnya tampak seperti upaya memperkuat posisi pasar dan menciptakan peserta yang lengket untuk menopang Play Store selama beberapa dekade ke depan
  • Saya memakai ini untuk menaruh database KeePass di ponsel, jadi ini merepotkan. Ada orang lain yang senasib?

    • KeePass2Android sedikit lebih baik jika dipakai bersama SFTP. Misalnya, saat terjadi konflik, perubahan bisa digabungkan
      Saya menyarankan cara: terhubung lewat SFTP ke satu mesin, lalu di mesin itu menjalankan Syncthing dengan perangkat-perangkat lain
    • syncthing-fork bekerja jauh lebih baik bagi saya selama beberapa tahun terakhir: https://f-droid.org/en/packages/com.github.catfriend1.syncth...
    • Resilio Sync juga cukup bagus, tetapi merupakan software proprietari
    • Pada akhirnya, sepertinya KeepassDX harus mengintegrasikan fungsi Syncthing sendiri
    • KeePass dan Joplin sama-sama terdampak
  • Kalau pengguna cukup tahu dan cukup ingin memakai Syncthing, bukankah bergantung pada F-Droid sebagai sumber APK juga cukup memungkinkan? Apakah menjadikannya kanal distribusi saja tidak cukup?

    • Dalam beberapa bulan ke depan mungkin akan terlihat, saat orang-orang pindah ke “syncthing-fork” berbasis F-Droid atau ke alat sinkronisasi lain
  • Saya sangat membenci komputasi mobile

    • Situasi ini begitu buruk sampai saya merindukan pengalaman pengembangan Win32 pada era Pocket PC
  • Saya akan menyimpan APK ini di tempat aman bersama floppy Turbo Pascal saya. Syncthing untuk Android sangat penting untuk mengelola koleksi partitur musik saya

  • Ada yang tahu aplikasi Syncthing Android saat ini akan tetap berfungsi sampai berapa lama ke depan?