Skip to content

Alghifari888/NexferraFTP

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

27 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

NexferraFTP - High Performance FTP/SFTP Client

Nexferra Logo

Flutter Dart License Platform Status

Secure, Fast, and Reliable File Transfer Solution for Android.


πŸ“‹ Daftar Isi


πŸ“– Tentang Sistem

NexferraFTP adalah aplikasi klien FTP (File Transfer Protocol) dan SFTP (Secure File Transfer Protocol) berbasis Mobile (Android) yang dikembangkan menggunakan Flutter. Aplikasi ini dirancang untuk memberikan pengalaman manajemen file server jarak jauh yang setara dengan desktop client, namun dalam genggaman.

Tujuan Utama

Menciptakan alat manajemen server yang Portable, Aman, dan Efisien bagi web developer, sysadmin, dan pengguna umum yang membutuhkan akses cepat ke file server mereka tanpa harus membuka laptop.

Logika Bisnis

  1. Connection Broker: Sistem bertindak sebagai perantara aman antara Local Storage (HP Pengguna) dan Remote Server.
  2. Session Management: Menggunakan connection pooling cerdas untuk menjaga koneksi tetap hidup saat dibutuhkan dan memutusnya saat idle untuk menghemat bandwidth/baterai.
  3. Atomic Operations: Setiap operasi file (Upload, Download, Rename, Delete) dijalankan secara atomik untuk mencegah korupsi data.
  4. Turbo Deletion: Mengimplementasikan logika penghapusan cerdas: Rename-to-Trash terlebih dahulu untuk respon UI instan, baru penghapusan fisik di latar belakang.

πŸš€ Fitur Utama

πŸ“‘ Manajemen Koneksi

  • Multi-Protocol Support: Mendukung FTP (Port 21) dan SFTP/SSH (Port 22).
  • Connection Profiles: Menyimpan daftar server unlimited dengan kredensial tersimpan aman.
  • Search & Filter: Pencarian file server real-time.

πŸ“‚ File Explorer Canggih

  • CRUD Operations: Upload, Download, Rename, Delete (File & Folder).
  • Code Editor: Edit file teks/kode (PHP, HTML, CSS, py, dll) langsung di dalam aplikasi.
  • Smart Navigation: Breadcrumb navigation dan Go Back logic yang intuitif.
  • Visual Indicators: Ikon berbeda untuk file dan folder.

πŸ›‘οΈ Utilitas & Keamanan

  • App Lock (PIN Protection): Mengunci aplikasi dengan PIN 6-digit. Mendukung lockout otomatis jika salah 3x.
  • Secure Storage: Password server tidak disimpan sebagai teks biasa, melainkan dienkripsi dalam Android Keystore.
  • Backup & Restore: Fitur Backup data profil server ke file JSON (termasuk password terenkripsi) untuk migrasi antar perangkat.
  • Dark/Light Mode: Dukungan tema visual adaptif.

πŸ“Έ Pratinjau Aplikasi

Berikut adalah tampilan antarmuka NexferraFTP:

Pratinjau Aplikasi Pratinjau Aplikasi Pratinjau Aplikasi
Dashboard Explorer Editor
Pratinjau Aplikasi Pratinjau Aplikasi Pratinjau Aplikasi
Security Add Server Dark Mode

Catatan: Screenshot di atas adalah representasi fitur utama aplikasi.


πŸ›  Teknologi & Keamanan

Aplikasi ini dibangun di atas pondasi teknologi modern yang stabil dan cepat:

Komponen Teknologi Deskripsi
Framework Flutter SDK 3.x Cross-platform UI Toolkit.
Bahasa Dart 3.x Type-safe language.
State Management Provider Manajemen state yang efisien dan clean.
Database Lokal ObjectBox NoSQL Database super cepat untuk menyimpan profil.
Encryption Flutter Secure Storage Menyimpan kredensial sensitif menggunakan AES encryption / Android KeyStore.
Protocols ftpconnect & dartssh2 Implementasi native FTP & SSH2 client.

Sistem Keamanan (Security Layer)

  1. Enkripsi At Rest: Password server disimpan di area terisolasi OS (KeyChain/Keystore).
  2. App Level Security: Middleware PIN memeriksa otentikasi setiap kali aplikasi dibuka (Resume/Restart).
  3. Backup Security: File backup JSON berisi data sensitif, namun dilindungi oleh mekanisme restore yang memvalidasi integritas data.

πŸ“‚ Struktur Proyek

Struktur folder mengikuti pola MVVM (Model-View-ViewModel) yang dimodifikasi untuk skalabilitas:

lib/
β”œβ”€β”€ data/                  # Layer Data (Database & Service)
β”‚   β”œβ”€β”€ connection_model.dart  # Model data profil server
β”‚   β”œβ”€β”€ objectbox_service.dart # Interface ke database ObjectBox
β”‚   β”œβ”€β”€ ftp_service.dart       # Logika protokol FTP
β”‚   └── sftp_service.dart      # Logika protokol SFTP (SSH)
β”œβ”€β”€ providers/             # Layer State Management (Logic)
β”‚   β”œβ”€β”€ connection_provider.dart # Mengatur CRUD profil server
β”‚   β”œβ”€β”€ explorer_provider.dart   # Mengatur navigasi & file manager
β”‚   β”œβ”€β”€ settings_provider.dart   # Mengatur PIN, Tema, Backup/Restore
β”‚   └── transfer_manager.dart    # Mengatur antrean Upload/Download
β”œβ”€β”€ screens/               # Layer UI (Tampilan)
β”‚   β”œβ”€β”€ dashboard_screen.dart    # Halaman utama
β”‚   β”œβ”€β”€ explorer_screen.dart     # File manager
β”‚   β”œβ”€β”€ editor_screen.dart       # Code editor
β”‚   β”œβ”€β”€ pin_screen.dart          # Layar kunci keamanan
β”‚   └── splash_screen.dart       # Layar pembuka
└── main.dart              # Entry point aplikasi


🚦 Panduan Instalasi (Getting Started)

Untuk pengembang yang ingin menjalankan proyek ini secara lokal.

Prasyarat

  • Flutter SDK (Versi Terbaru)
  • Android Studio / VS Code
  • Perangkat Android (Mode Developer Aktif) atau Emulator.

Langkah Instalasi

  1. Clone Repository
git clone [https://github.com/Alghifari888/NexferraFTP.git](https://github.com/Alghifari888/NexferraFTP.git)
cd NexferraFTP
  1. Install Dependencies
flutter pub get
  1. Generate ObjectBox Code (Wajib jika mengubah Model)
dart run build_runner build
  1. Jalankan Aplikasi
flutter run

πŸ“¦ Build Production (APK)

Untuk membuat file APK siap pakai (Release Version):

  1. Bersihkan Cache Build
flutter clean
flutter pub get
  1. Build APK
flutter build apk --release
  1. Lokasi Output File APK akan tersedia di: build/app/outputs/flutter-apk/app-release.apk

🀝 Panduan Kontribusi

Kami sangat terbuka untuk kontribusi! Jika Anda ingin menambahkan fitur atau memperbaiki bug:

  1. Fork repository ini.
  2. Buat Branch fitur baru (git checkout -b fitur-keren-anda).
  3. Commit perubahan Anda (git commit -m 'Menambahkan fitur login biometrik').
  4. Push ke Branch (git push origin fitur-keren-anda).
  5. Buat Pull Request baru di GitHub.

πŸ“„ Lisensi

Didistribusikan di bawah Lisensi Apache 2.0. Lihat LICENSE untuk informasi lebih lanjut.

Copyright 2026 Alghifari888

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

    [http://www.apache.org/licenses/LICENSE-2.0](http://www.apache.org/licenses/LICENSE-2.0)

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.


Dikembangkan dengan ❀️ oleh Alghifari888

NexferraFTP Β© 2026 All Rights Reserved.

About

perangkat lunak yang berfungsi untuk menghubungkan komputer Anda ke FTP server (server penyimpanan file) agar dapat melakukan transfer data seperti mengunggah (upload), mengunduh (download), menghapus, atau mengelola file secara mudah melalui antarmuka grafis, bukan perintah teks manual.

Topics

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors