website/docs/id_ID/guide/module-config.md
KernelSU menyediakan sistem konfigurasi bawaan yang memungkinkan modul menyimpan pengaturan key-value persisten atau sementara. Konfigurasi disimpan dalam format biner di /data/adb/ksu/module_configs/<module_id>/ dengan karakteristik berikut:
persist.config): Bertahan setelah reboot hingga dihapus secara eksplisit atau modul di-uninstalltmp.config): Otomatis dihapus selama tahap post-fs-data pada setiap bootSaat membaca konfigurasi, nilai sementara lebih diprioritaskan daripada nilai persisten untuk key yang sama.
Semua skrip modul (post-fs-data.sh, service.sh, boot-completed.sh, dll.) berjalan dengan variabel lingkungan KSU_MODULE diatur ke ID modul. Anda dapat menggunakan perintah ksud module config untuk mengelola konfigurasi modul Anda:
# Mendapatkan nilai konfigurasi
value=$(ksud module config get my_setting)
# Mengatur nilai konfigurasi persisten
ksud module config set my_setting "some value"
# Mengatur nilai konfigurasi sementara (dihapus setelah reboot)
ksud module config set --temp runtime_state "active"
# Mengatur nilai dari stdin (berguna untuk teks multiline atau data kompleks)
ksud module config set my_key <<EOF
teks multiline
nilai
EOF
# Atau alirkan dari perintah
echo "value" | ksud module config set my_key
# Bendera stdin eksplisit
cat file.json | ksud module config set json_data --stdin
# Daftar semua entri konfigurasi (gabungan persisten dan sementara)
ksud module config list
# Menghapus entri konfigurasi
ksud module config delete my_setting
# Menghapus entri konfigurasi sementara
ksud module config delete --temp runtime_state
# Menghapus semua konfigurasi persisten
ksud module config clear
# Menghapus semua konfigurasi sementara
ksud module config clear --temp
Sistem konfigurasi memberlakukan batasan berikut:
^[a-zA-Z][a-zA-Z0-9._-]+$ (seperti ID modul)
0x4b53554d ("KSUM") dan validasi versiSistem konfigurasi ideal untuk:
::: tip PRAKTIK TERBAIK
ksud module config list untuk men-debug masalah konfigurasi
:::Sistem konfigurasi modul menyediakan kunci konfigurasi khusus untuk kasus penggunaan lanjutan:
Anda dapat mengganti field description dari module.prop secara dinamis dengan mengatur kunci konfigurasi override.description:
# Mengganti deskripsi modul
ksud module config set override.description "Deskripsi kustom yang ditampilkan di pengelola"
Saat mengambil daftar modul, jika konfigurasi override.description ada, itu akan menggantikan deskripsi asli dari module.prop. Ini berguna untuk:
Modul dapat mendeklarasikan fitur KernelSU mana yang mereka kelola menggunakan pola konfigurasi manage.<feature>. Fitur yang didukung sesuai dengan enum internal FeatureId KernelSU:
Fitur yang Didukung:
su_compat - Mode kompatibilitas SUkernel_umount - Unmount otomatis kernel# Mendeklarasikan bahwa modul ini mengelola kompatibilitas SU dan mengaktifkannya
ksud module config set manage.su_compat true
# Mendeklarasikan bahwa modul ini mengelola unmount kernel dan menonaktifkannya
ksud module config set manage.kernel_umount false
# Menghapus pengelolaan fitur (modul tidak lagi mengontrol fitur ini)
ksud module config delete manage.su_compat
Cara kerjanya:
manage.<feature> menunjukkan bahwa modul mengelola fitur tersebuttrue/1 untuk diaktifkan, false/0 (atau nilai lainnya) untuk dinonaktifkanFitur yang dikelola diekspos melalui API daftar modul sebagai field managedFeatures (string yang dipisahkan koma). Ini memungkinkan:
::: warning HANYA FITUR YANG DIDUKUNG
Gunakan hanya nama fitur yang telah ditentukan sebelumnya yang tercantum di atas (su_compat, kernel_umount). Ini sesuai dengan fitur internal KernelSU yang sebenarnya. Menggunakan nama fitur lain tidak akan menyebabkan error, tetapi tidak memiliki tujuan fungsional.
:::