WP Manifestindependent plugin directory
manifest / developer / wordpress-plugins---server-terminal-pro

WP Server Terminal Pro

Terminal direktori WordPress untuk administrator — menjelajah filesystem (pwd, ls, cd) plus wget / curl untuk mengunduh file dari URL langsung ke dalam instalasi WordPress. Bekerja lewat PHP filesystem dan WordPress HTTP API, bukan shell Bash atau sesi SSH.

by sw4cyex · github.com/sw4cyex/wordpress-plugins---server-terminal-pro

0stars
0forks

Install

No release zip yet. The repository archive installs, but the folder name will carry the branch suffix and updates will not flow:

wp plugin install https://github.com/sw4cyex/wordpress-plugins---server-terminal-pro/archive/refs/heads/main.zip

Readme

WP Server Terminal Pro

Terminal direktori WordPress untuk administrator — menjelajah filesystem (pwd, ls, cd) plus wget / curl untuk mengunduh file dari URL langsung ke dalam instalasi WordPress. Bekerja lewat PHP filesystem dan WordPress HTTP API, bukan shell Bash atau sesi SSH.


Daftar Isi


Tentang

WP Server Terminal Pro menambahkan halaman terminal di dashboard WordPress (Tools › Server Terminal) yang memungkinkan administrator menjelajahi struktur direktori instalasi WordPress dan mengunduh file dari internet — semuanya dari dalam wp-admin, tanpa akses SSH atau cPanel.

Berbeda dari plugin "web shell" biasa, plugin ini tidak menjalankan program apa pun di server. Navigasi memakai fungsi filesystem PHP, dan unduhan memakai WordPress HTTP API (download_url() / wp_remote_get()). Ini menjaga jejak eksekusi tetap sempit dan dapat diprediksi.

Fitur

  • Navigasi direktori: pwd, ls (dengan -a dan -l), cd.
  • Unduh file dari URL dengan wget dan curl.
  • Tampilkan isi URL (mis. JSON/teks) langsung di terminal dengan curl.
  • Riwayat perintah dengan tombol panah Atas/Bawah.
  • Akses terbatas pada direktori instalasi WordPress (anti path-traversal).
  • Hanya untuk administrator, dengan verifikasi nonce di setiap permintaan.
  • Antarmuka ringan tanpa dependensi eksternal.

Yang Baru di Pro

Basic Pro 2.0.0
pwd, ls, cd
Riwayat perintah
wget <url>
curl -O / curl -o
curl <url> (tampilkan body)
Sanitasi nama file otomatis
Anti-timpa (sufiks .1, .2, …)
Batas ukuran unduhan ✅ 100 MB

Instalasi

  1. Kompres ketiga file menjadi satu arsip (file berada di root arsip):

    • wp-server-terminal.php
    • terminal.js
    • README.txt

    Beri nama wp-server-terminal.zip.

  2. Buka Dashboard WordPress › Plugins › Add New › Upload Plugin.

  3. Pilih wp-server-terminal.zip, klik Install Now, lalu Activate.

    Nonaktifkan versi Basic bila terpasang untuk menghindari menu ganda.

  4. Buka Tools / Peralatan › Server Terminal.

Penggunaan

Ketik help di terminal untuk melihat semua perintah. Path atau URL yang mengandung spasi dapat diapit tanda kutip, mis. cd "folder dengan spasi".

$ pwd
/var/www/html

$ cd wp-content
/var/www/html/wp-content

$ wget https://contoh.com/berkas.zip
Tersimpan: berkas.zip
Lokasi:   /var/www/html/wp-content/berkas.zip
Ukuran:   2.41 MB

Daftar Perintah

Perintah Keterangan
pwd Tampilkan direktori aktif
ls [-a] [-l] [path] Daftar isi direktori (maks. 500 entri)
cd [path] Pindah direktori; tanpa argumen kembali ke root WordPress
wget [-O nama] <url> Unduh file dari URL ke direktori aktif
curl [-O] [-o nama] <url> Unduh (-O/-o) atau tampilkan isi URL (maks. 256 KB)
clear Bersihkan tampilan
help Tampilkan bantuan

Catatan wget / curl

  • wget selalu menyimpan file. curl menyimpan hanya bila memakai -O atau -o; tanpa itu, curl menampilkan body respons (dipotong pada 256 KB).
  • Hanya URL http:// dan https:// yang didukung.
  • File disimpan ke direktori aktif (lihat cd), di dalam instalasi WordPress.
  • Nama file disanitasi otomatis via sanitize_file_name(), dan file yang sudah ada tidak ditimpa — plugin menambah sufiks .1, .2, … seperti wget.
  • Opsi -L, -s, -S, -q diterima namun diabaikan (redirect selalu diikuti; tidak ada progress bar).
  • Batas ukuran unduhan 100 MB. Pastikan direktori aktif dapat ditulis oleh proses web server.

Keamanan

  • Hanya administrator (manage_options; super admin pada multisite).
  • Nonce diverifikasi pada setiap permintaan (check_ajax_referer).
  • Operasi baca dibatasi pada direktori instalasi WordPress (ABSPATH) — mencegah path traversal.
  • Unduhan hanya menerima skema http / https dan disimpan dengan nama tersanitasi.
  • Tidak ada eksekusi program. Ini bukan Bash atau sesi SSH.

Peringatan: Meski dibatasi untuk admin, plugin ini memberi kemampuan mengunduh file ke server. Pasang hanya pada situs tepercaya dan pastikan akun admin memakai kata sandi kuat serta 2FA.

Persyaratan

  • WordPress 6.0+
  • PHP 7.4+
  • Browser modern
  • Fungsi download_url() dan wp_remote_get() aktif (default WordPress)

Struktur File

wp-server-terminal/
├── wp-server-terminal.php   # Plugin utama: menu admin, handler AJAX, wget/curl
├── terminal.js              # UI terminal: input, riwayat, fetch AJAX
└── README.txt               # Catatan rilis (format WordPress)

FAQ

Apakah ini menjalankan perintah shell sungguhan? Tidak. Navigasi memakai filesystem PHP dan unduhan memakai WordPress HTTP API. Tidak ada exec, shell_exec, atau proses eksternal.

Bisakah saya mengunduh ke folder mana pun di server? Hanya ke direktori di dalam instalasi WordPress, dan direktori tersebut harus dapat ditulis oleh web server.

Mengapa curl tanpa -O hanya menampilkan sebagian isi? Tampilan dibatasi 256 KB agar aman untuk browser. Gunakan -O atau -o untuk menyimpan file penuh.

Lisensi

Dirilis di bawah lisensi GPL-2.0-or-later.

Read the full README on GitHub →