Mahu pengenalan cepat? Lihat sahaja video di atas!
Tahun lepas, saya mengeluarkan utiliti yang dipanggil Pelayan Fail Pafera . Ia adalah apl konsol yang ditulis dalam Rust yang menjalankan pengurus fail berasaskan web untuk peranti anda, membolehkan perkongsian fail mudah kepada apa-apa sahaja yang mempunyai penyemak imbas web dengan ciri persembahan slaid yang berguna untuk mempamerkan foto dan ikon shiba anda. Ini bermakna anda boleh pergi ke parti dan membenarkan 200 rakan semua menyemak imbas foto percutian terbaru anda pada telefon mereka sendiri, mengikut masa dan kadar mereka sendiri.
Kemudian, apabila pelbagai cadangan dan corak penggunaan datang daripada rakan dan orang asing rawak di internet, saya mula menambah lebih banyak ciri. Ia kini mampu menyegerakkan keseluruhan pepohon direktori, mentranskodkan fail media, membuka fail dengan apl sistem pengendalian asli dan menyegerakkan fail secara automatik merentas peranti anda.
Walau bagaimanapun, sebagai aplikasi konsol, selalu ada satu masalah besar yang menghalangnya daripada menjadi penyelesaian universal untuk semua peranti anda:
Apl konsol tidak boleh berjalan pada iOS, bermakna anda tidak dapat menjalankan Pelayan Fail Pafera pada iPhone atau iPad...
Sehingga kini.
Saya mempunyai sedikit masa lapang semasa cuti Krismas semasa Montenegro sedang meraikan cuti, jadi saya bereksperimen dengan menulis apl pendamping berbilang platform dalam Flutter/Dart yang membolehkan anda menyemak imbas pelayan dari telefon anda dengan mudah. Dengan cara itu, rakan saya yang kurang cenderung kepada teknologi hanya boleh menekan dua butang dan menyambung ke pelayan saya.
Sepanjang perjalanan, saya mendapati bahawa anda sebenarnya boleh menggunakan Dart untuk menjalankan pelayan web anda sendiri pada peranti iOS, dan saya fikir...
Hey! Mengapa saya tidak melaksanakan pelayan fail dalam Dart sahaja!
Jadi dua minggu kemudian, apl itu ada di sini.
Kini, prestasi amat perlahan berbanding versi Rust. Pelayan Rust boleh menyampaikan kira-kira 40,000 permintaan sesaat...
Manakala versi Dart boleh berkhidmat hanya kira-kira 400....
Tapi yang penting ia berkesan...
dan ia dipasang pada iPhone!
Disebabkan pepijat dalam pustaka PDFx dengan versi terkini Flutter, saya terpaksa berhenti menggunakan ikon cantik untuk semua butang kerana ia muncul sebagai garis hitam hodoh.
Walau bagaimanapun, operasi asas tetap sama.
Setelah semua orang disambungkan ke rangkaian WiFi yang sama atau tempat liputan telefon anda, cuma klik pada ikon apl, pilih folder yang ingin anda kongsi dan ketik "Mulakan Pelayan".
Kemudian klik pada butang kod QR, biarkan rakan anda mengimbasnya, dan kemudian mereka boleh menyemak imbas folder anda pada telefon mereka, malah menstrimkan filem dari telefon anda terus ke telefon mereka.
Jika rakan anda menggunakan komputer riba atau komputer meja, itu tiada masalah juga. Cuma taip URL yang ditunjukkan di atas kod QR pada peranti mereka, dan mereka boleh melakukan perkara yang sama.
Jika anda tidak berjalan pada iOS atau Android, itu juga tiada masalah. Flutter Apps berfungsi pada OSX, Windows dan Linux dengan baik, jadi anda akan mendapat kefungsian yang sama, dan lebih-lebih lagi jika anda memasang rsync, FFMpeg dan ImageMagick pada sistem anda untuk digunakan oleh apl itu.
Terdapat beberapa ciri lanjutan selain perkongsian fail mudah, jadi saya akan memberikan gambaran ringkas di sini.
Nama hos ialah apa yang ditunjukkan kepada peranti lain apabila mereka mengklik pada "Cari pelayan lain". Anda boleh menggunakannya untuk membezakan satu peranti daripada peranti lain dengan cepat jika anda berkongsi beberapa peranti pada masa yang sama.
Folder ialah folder sistem fail yang sebenarnya anda kongsi. Anda boleh mengklik "Gunakan folder dokumen" untuk lalai dalam Dokumen/kongsi, atau anda boleh mengklik "Pilih folder" untuk memilih folder lain. Anda juga mungkin perlu mengklik pada "Gunakan folder dokumen" jika iOS tidak memuat semula tetapan apl dengan betul apabila menyambung semula daripada tidur.
Gunakan IP semasa secara automatik mengesan IP WiFi semasa peranti anda. Seperti dengan "Gunakan folder dokumen," gunakannya jika iOS tidak memuat semula apl dengan betul dan ia masih menggunakan IP daripada rangkaian WiFi sebelumnya.
"Kongsi pada semua antara muka" menetapkan IP awam kepada 0.0.0.0, yang bermaksud itu semua orang pada apa-apa sahaja yang anda sambungkan akan dapat melihat pelayan anda. Berguna pada desktop dengan lebih daripada satu sambungan, tetapi berhati-hati menggunakannya di tempat awam.
"Mulakan Berkongsi" akan menjalankan pelayan dan membuka halaman utama untuk anda uruskan. Mengkliknya sekali lagi akan menghentikan pelayan dan memastikan fail anda selamat.
"Muat tetapan terakhir" dan "Simpan tetapan semasa" lakukan betul-betul apa yang mereka katakan. Tetapan anda akan disimpan dalam Documents/paferafileserver.cfg sama seperti konsol versi Rust.
Pelbagai pilihan kata laluan ada untuk memberi orang yang berbeza tahap akses yang berbeza.
Biasanya, semua orang boleh melihat fail anda hanya dengan menyambung ke pelayan anda, tetapi jika anda menyemak "Dayakan fail peribadi" di bawah ini, maka tiada siapa yang akan dapat melihat fail anda tanpa kata laluan yang dibaca.
Kata laluan tulis digunakan untuk memuat naik, mengalih, menyalin atau memadam fail. Tanpa ini, tiada orang lain boleh melakukan apa-apa kepada sistem anda selain melihat fail anda.
Kata laluan shell tidak berguna pada aplikasi mudah alih, tetapi sangat berguna pada sistem pengendalian desktop dan Termux pada Android. Ia membolehkan anda menjalankan perintah sistem sewenang-wenangnya, yang menjadikannya sangat berkuasa dan sangat berbahaya pada masa yang sama. Ciri ini dilumpuhkan secara lalai, dan anda mesti memasukkan kata laluan shell dan tandakan "Dayakan arahan shell" di bawah untuk menggunakannya.
Pelbagai pilihan dayakan dan lumpuhkan membolehkan anda memilih perkara yang boleh dilakukan oleh orang lain terhadap sistem anda walaupun ketika mereka sudah mempunyai kata laluan yang betul. Ini mengatasi semua pilihan lain, jadi jika anda melumpuhkan penyalinan fail, tiada siapa - malah anda sendiri - akan dapat menyalin fail.
Pilihan khas "Lumpuhkan SSH Keycheck" adalah untuk orang seperti saya yang sentiasa berkeliaran sambil menyegerakkan fail berulang-alik antara peranti yang berbeza. Biasanya, SSH akan meminta pengesahan apabila menyambung ke sistem yang alamat IPnya telah berubah, walaupun identiti sistem itu sudah diketahui. Pilihan ini akan membolehkan anda menyegerakkan fail secara automatik pada rangkaian berbeza tanpa menurunkan ke dalam konsol untuk mengesahkan sambungan SSH. Gunakannya dengan berhati-hati apabila berada di rangkaian yang anda tidak mengawal diri anda.
Tidak seperti berjalan dalam Termux atau persekitaran desktop, apl iOS dan Android tidak mempunyai akses kepada shell, rsync, ImageMagick atau FFMpeg, jadi semua ciri penyegerakan dan transkod lanjutan dilumpuhkan.
Oleh kerana sistem pengendalian mudah alih boleh mematikan aplikasi latar belakang pada bila-bila masa, tugas automatik bermasa juga dilumpuhkan.
Terdapat kemungkinan penyelesaian untuk semua aspek ini, tetapi masa yang diperlukan untuk menyepadukan ciri ini adalah di luar niat saya pada masa ini. Jika seseorang berminat untuk membayar saya untuk menambah mereka, maka kita akan lihat apa yang berlaku. 😁
Seperti semua projek saya, kod sumber dihoskan pada Codeberg dan boleh ditemui di sini .
Untuk perduaan tersusun awal, anda boleh semak imbas direktori keluaran di sini ...
Atau klik sahaja pautan di bawah:
Disebabkan keperluan menandatangani Apple, pengguna iOS dan OSX mesti menunggu apl tersedia di App Store, atau memuat turun kod sumber dan menyusun versi anda sendiri untuk peranti anda.
Memandangkan ini adalah keluaran baharu, saya pasti akan terdapat banyak pepijat dan tingkah laku pelik pada pelbagai sistem. Jika anda ingin menguji aplikasi beta ini untuk saya, sila hantarkan saya e-mel dengan peranti dan versi sistem pengendalian anda dan saya akan menyediakan anda pada TestFlight.
Mengedarkan aplikasi Flutter sebenarnya jauh lebih rumit daripada versi Rust, di mana saya hanya memuat naik satu boleh laku dan selesai dengan keseluruhannya, jadi harap faham apabila Apple mengambil masa tiga minggu untuk menyemak apl saya dan membenarkannya masuk ke iOS App Store. Perkara sepatutnya menjadi lebih mudah apabila Apple dikehendaki membenarkan apl pihak ketiga mengikut ketetapan EU.
Seperti biasa, saya harap anda semua mendapati aplikasi ini berguna, dan jika anda ingin menyesuaikannya untuk tujuan anda sendiri, saya sentiasa tersedia sebagai perunding teknikal. Selamat mencuba!
Mengenai Pengarang |
|
![]() |
Jim telah membuat pengaturcaraan sejak dia mendapat IBM PS/2 kembali pada tahun 90-an. Sehingga hari ini, dia masih lebih suka menulis HTML dan SQL dengan tangan, dan memberi tumpuan kepada kecekapan dan ketepatan dalam kerjanya. |