nxzilla 1.3.0 · Windows & Linux · MIT

Folder kerja Anda, proyek remote Anda

Buka terminal di folder proyek, jalankan nxzilla — berkas proyek remote (SSH/SFTP atau FTP/FTPS) ditarik masuk ke folder kerja itu. Edit di editor favorit, lalu push / pull perubahan lewat satu perintah.

Fitur

Satu alur dari terminal — tanpa dua panel, tanpa drag-and-drop.

Run di Folder Kerja (run-in-cwd)

Jalankan nxzilla di folder proyek — berkas remote ditarik masuk ke folder itu. Editor, IDE, dan build tool lokal langsung bekerja tanpa setup tambahan.

Push / Pull Satu Perintah

nxzilla push mengirim perubahan lokal ke server; nxzilla pull menarik perubahan server. mtime lokal disamakan dengan remote agar perbandingan berikutnya akurat.

SSH/SFTP & FTP/FTPS

SSH lewat OpenSSH bawaan (sftp batch) di Windows 10+ dan Linux; FTP/FTPS lewat curl. Dua backend di balik satu mesin sinkron — tanpa dependensi yang di-build sendiri.

Ruang Global: Daftar Proyek

Jalankan nxzilla di luar proyek → beranda daftar semua proyek Nxzilla. Buka, push, pull, dan kelola profil koneksi dari satu layar — tanpa cd dulu.

Kredensial & Audit

Password disimpan di OS keyring (Windows Credential Manager), bukan teks polos; NXZILLA_PASSWORD untuk script. Deteksi konflik berbasis baseline (.nxzilla-state.json), --dry-run, --checksum SHA-1, dan penjagaan path traversal.

Cepat & Terpantau

FTP batching: banyak berkas dalam satu sesi curl (2.5-3x lebih cepat). Cache metadata remote membuat status berulang instan (--refresh untuk scan ulang). Statistik transfer: berkas, byte, durasi, kecepatan.

Kontrol TUI

Keyboard-driven: satu tombol untuk setiap aksi.

↑↓Pilih proyek / perubahan
EnterBuka proyek terpilih
pPush (dengan konfirmasi)
lPull
sSegarkan status sinkronisasi
aTambah proyek
edEdit / hapus proyek dari registry
cKelola profil koneksi
rRefresh daftar
gBuka ruang global
qEscKeluar

Dua Lingkungan, Satu Perintah

Lingkungan Proyek

nxzilla dijalankan di folder yang punya .nxzilla.json → sinkronisasi proyek itu: pull, push, dan status langsung di dashboard.

Lingkungan Global

nxzilla di luar proyek → beranda Nxzilla: daftar semua proyek terdaftar dengan status synced / dirty / error, siap dibuka atau disinkron.

Profil Koneksi

connections.json menyimpan profil ssh/ftp/ftps (host, port, user, remote path). .nxzilla.json di tiap proyek cukup merujuk nama profilnya.

Status proyek: synced lokal & remote sama · dirty ada perubahan belum di-push · error gagal terhubung · unknown belum pernah disinkron

Baris Perintah

Semua alur sinkronisasi bisa dijalankan dari perintah — siap untuk script.

terminal
# alur utama
nxzilla                  # dalam proyek: sinkron; di luar: ruang global
nxzilla pull             # tarik perubahan server ke folder kerja
nxzilla push             # kirim perubahan folder kerja ke server
nxzilla status           # status sinkronisasi (tanpa mengubah)

# simulasi & konflik
nxzilla push --dry-run   # tampilkan apa yang akan ditransfer, tanpa mengubah
nxzilla push --checksum  # banding via SHA-1 (akurat, lebih lambat)
nxzilla --force push     # timpa konflik (dua sisi berubah)

# dari mana saja: sebut nama proyeknya
nxzilla push <nama>      # push proyek terdaftar tanpa cd
nxzilla pull <nama>      # pull proyek terdaftar tanpa cd
nxzilla open <nama>      # buka proyek terdaftar (TUI)
nxzilla ls [path]        # daftar isi folder remote

# mengelola proyek & konfigurasi
nxzilla projects         # paksa buka ruang global
nxzilla add              # daftarkan folder kini sebagai proyek (+ profil)
nxzilla scan [folder]    # cari folder ber-.nxzilla.json lalu daftarkan
nxzilla use <profil>     # set profil untuk folder kerja kini
nxzilla ignore <pola>    # tambah pola ignore ke .nxzilla.json
nxzilla remove <nama>    # berhenti melacak (folder tidak dihapus)

# lainnya
nxzilla edit <file>     # tarik berkas, edit, unggah balik otomatis
nxzilla watch [detik]    # pantau perubahan remote (--once utk script)
nxzilla diff <file>     # beda baris remote vs lokal (berwarna)
nxzilla env [nama]       # multi-environment: staging / produksi
nxzilla undo <file>     # pulihkan berkas dari versi remote (--all utk semua)
nxzilla --refresh status # paksa pemindaian ulang (lewati cache)
nxzilla --help           # bantuan
nxzilla --version        # versi
Bukan FileZilla: tidak ada dua panel lokal vs remote, tidak ada drag-and-drop. Yang ada satu alur: folder kerja Anda adalah proyek remote — menggantikan cara manual menyusun folder <user>@<host>\<protokol>.

Cara Pasang

Unduh binary siap pakai dari Release v1.3.0, atau build dari source — tanpa dependensi pihak ketiga.

Semua binary tersedia di Releases v1.3.0. Di Linux: chmod +x nxzilla-linux-x64 lalu rename ke nxzilla dan pindahkan ke PATH.

Atau Build dari Source

Windows · MSVC
# clone repo CLI, bukan repo website ini
git clone https://github.com/nxcodeobject/nxzilla
cd nxzilla
.\build.bat          # menghasilkan nxzilla.exe

# tambahkan folder hasil build ke PATH user:
$dir = 'C:\path\to\nxzilla'
$p = [Environment]::GetEnvironmentVariable('Path','User')
if (($p -split ';') -notcontains $dir) {
  [Environment]::SetEnvironmentVariable('Path',
    ($p.TrimEnd(';') + ';' + $dir), 'User')
}
Linux · g++
git clone https://github.com/nxcodeobject/nxzilla
cd nxzilla
./build.sh           # menghasilkan nxzilla
sudo install -m755 nxzilla /usr/local/bin/nxzilla

Butuh Visual Studio (workload Desktop development with C++) di Windows, atau g++ di Linux. Untuk SSH, OpenSSH client bawaan Windows 10+/distro Linux sudah dipakai — tidak perlu install apa pun lagi.