Merge pull request #1 from serghey-rodin/master

Обновление из основного репозитория весты от 30 января 2020 г
This commit is contained in:
Александр Кунич 2020-01-30 22:22:04 +03:00 committed by GitHub
commit e917016846
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
17 changed files with 81 additions and 77 deletions

View file

@ -22,7 +22,7 @@ protocol=$(echo $protocol|tr '[:lower:]' '[:upper:]')
iptables="/sbin/iptables" iptables="/sbin/iptables"
# Get vesta port by reading nginx.conf # Get vesta port by reading nginx.conf
vestaport=$(grep 'listen' /usr/local/vesta/nginx/conf/nginx.conf | awk '{print $2}' | sed "s|;||") vestaport=$(grep 'listen' $VESTA/nginx/conf/nginx.conf | awk '{print $2}' | sed "s|;||")
if [ -z "$vestaport" ]; then if [ -z "$vestaport" ]; then
vestaport=8083 vestaport=8083
fi fi

View file

@ -110,8 +110,8 @@ fi
# Requesting nonce / STEP 1 # Requesting nonce / STEP 1
answer=$(curl -s -I "$API/directory") answer=$(curl -s -I "$API/directory")
nonce=$(echo "$answer" |grep Nonce |cut -f2 -d \ |tr -d '\r\n') nonce=$(echo "$answer" |grep -i nonce |cut -f2 -d \ |tr -d '\r\n')
status=$(echo "$answer"|grep HTTP/1.1 |tail -n1 |cut -f 2 -d ' ') status=$(echo "$answer"|grep HTTP/ |tail -n1 |cut -f 2 -d ' ')
if [[ "$status" -ne 200 ]]; then if [[ "$status" -ne 200 ]]; then
check_result $E_CONNECT "Let's Encrypt nonce request status $status" check_result $E_CONNECT "Let's Encrypt nonce request status $status"
fi fi
@ -126,10 +126,10 @@ done
payload=$(echo "$payload"|sed "s/,$//") payload=$(echo "$payload"|sed "s/,$//")
payload=$payload']}' payload=$payload']}'
answer=$(query_le_v2 "$url" "$payload" "$nonce") answer=$(query_le_v2 "$url" "$payload" "$nonce")
nonce=$(echo "$answer" |grep Nonce |cut -f2 -d \ |tr -d '\r\n') nonce=$(echo "$answer" |grep -i nonce |cut -f2 -d \ |tr -d '\r\n')
authz=$(echo "$answer" |grep "acme/authz" |cut -f2 -d '"') authz=$(echo "$answer" |grep "acme/authz" |cut -f2 -d '"')
finalize=$(echo "$answer" |grep 'finalize":' |cut -f4 -d '"') finalize=$(echo "$answer" |grep 'finalize":' |cut -f4 -d '"')
status=$(echo "$answer" |grep HTTP/1.1 |tail -n1 |cut -f2 -d ' ') status=$(echo "$answer" |grep HTTP/ |tail -n1 |cut -f2 -d ' ')
if [[ "$status" -ne 201 ]]; then if [[ "$status" -ne 201 ]]; then
check_result $E_CONNECT "Let's Encrypt new auth status $status" check_result $E_CONNECT "Let's Encrypt new auth status $status"
fi fi
@ -140,8 +140,8 @@ for auth in $authz; do
answer=$(query_le_v2 "$auth" "$payload" "$nonce") answer=$(query_le_v2 "$auth" "$payload" "$nonce")
url=$(echo "$answer" |grep -A3 $proto |grep url |cut -f 4 -d \") url=$(echo "$answer" |grep -A3 $proto |grep url |cut -f 4 -d \")
token=$(echo "$answer" |grep -A3 $proto |grep token |cut -f 4 -d \") token=$(echo "$answer" |grep -A3 $proto |grep token |cut -f 4 -d \")
nonce=$(echo "$answer" |grep Nonce |cut -f2 -d \ |tr -d '\r\n') nonce=$(echo "$answer" |grep -i nonce |cut -f2 -d \ |tr -d '\r\n')
status=$(echo "$answer"|grep HTTP/1.1 |tail -n1 |cut -f 2 -d ' ') status=$(echo "$answer"|grep HTTP/ |tail -n1 |cut -f 2 -d ' ')
if [[ "$status" -ne 200 ]]; then if [[ "$status" -ne 200 ]]; then
check_result $E_CONNECT "Let's Encrypt acme/authz bad status $status" check_result $E_CONNECT "Let's Encrypt acme/authz bad status $status"
fi fi
@ -199,8 +199,8 @@ for auth in $authz; do
payload='{}' payload='{}'
answer=$(query_le_v2 "$url" "$payload" "$nonce") answer=$(query_le_v2 "$url" "$payload" "$nonce")
validation=$(echo "$answer"|grep -A1 $proto |tail -n1|cut -f4 -d \") validation=$(echo "$answer"|grep -A1 $proto |tail -n1|cut -f4 -d \")
nonce=$(echo "$answer" |grep Nonce |cut -f2 -d \ |tr -d '\r\n') nonce=$(echo "$answer" |grep -i nonce |cut -f2 -d \ |tr -d '\r\n')
status=$(echo "$answer"|grep HTTP/1.1 |tail -n1 |cut -f 2 -d ' ') status=$(echo "$answer"|grep HTTP/ |tail -n1 |cut -f 2 -d ' ')
if [[ "$status" -ne 200 ]]; then if [[ "$status" -ne 200 ]]; then
check_result $E_CONNECT "Let's Encrypt validation status $status" check_result $E_CONNECT "Let's Encrypt validation status $status"
fi fi
@ -225,8 +225,8 @@ ssl_dir=$($BIN/v-generate-ssl-cert "$domain" "info@$domain" "US" "California"\
csr=$(openssl req -in $ssl_dir/$domain.csr -outform DER |encode_base64) csr=$(openssl req -in $ssl_dir/$domain.csr -outform DER |encode_base64)
payload='{"csr":"'$csr'"}' payload='{"csr":"'$csr'"}'
answer=$(query_le_v2 "$finalize" "$payload" "$nonce") answer=$(query_le_v2 "$finalize" "$payload" "$nonce")
nonce=$(echo "$answer" |grep Nonce |cut -f2 -d \ |tr -d '\r\n') nonce=$(echo "$answer" |grep -i nonce |cut -f2 -d \ |tr -d '\r\n')
status=$(echo "$answer"|grep HTTP/1.1 |tail -n1 |cut -f 2 -d ' ') status=$(echo "$answer"|grep HTTP/ |tail -n1 |cut -f 2 -d ' ')
certificate=$(echo "$answer"|grep 'certificate":' |cut -f4 -d '"') certificate=$(echo "$answer"|grep 'certificate":' |cut -f4 -d '"')
if [[ "$status" -ne 200 ]]; then if [[ "$status" -ne 200 ]]; then
check_result $E_CONNECT "Let's Encrypt finalize bad status $status" check_result $E_CONNECT "Let's Encrypt finalize bad status $status"

View file

@ -103,16 +103,16 @@ fi
# Requesting ACME nonce # Requesting ACME nonce
nonce=$(curl -s -I "$API/directory" |grep Nonce |cut -f 2 -d \ |tr -d '\r\n') nonce=$(curl -s -I "$API/directory" |grep -i nonce |cut -f2 -d\ |tr -d '\r\n')
# Creating ACME account # Creating ACME account
url="$API/acme/new-acct" url="$API/acme/new-acct"
payload='{"termsOfServiceAgreed": true}' payload='{"termsOfServiceAgreed": true}'
answer=$(query_le_v2 "$url" "$payload" "$nonce") answer=$(query_le_v2 "$url" "$payload" "$nonce")
kid=$(echo "$answer" |grep Location: |cut -f2 -d ' '|tr -d '\r') kid=$(echo "$answer" |grep -i location: |cut -f2 -d ' '|tr -d '\r')
# Checking answer status # Checking answer status
status=$(echo "$answer" |grep HTTP/1.1 |tail -n1 |cut -f2 -d ' ') status=$(echo "$answer" |grep HTTP/ |tail -n1 |cut -f2 -d ' ')
if [[ "${status:0:2}" -ne "20" ]]; then if [[ "${status:0:2}" -ne "20" ]]; then
check_result $E_CONNECT "Let's Encrypt acc registration failed $status" check_result $E_CONNECT "Let's Encrypt acc registration failed $status"
fi fi

View file

@ -1,7 +1,7 @@
Source: vesta-ioncube Source: vesta-ioncube
Package: vesta-ioncube Package: vesta-ioncube
Priority: optional Priority: optional
Version: 0.9.8-25 Version: 0.9.8-26
Section: admin Section: admin
Maintainer: Serghey Rodin <skid@vestacp.com> Maintainer: Serghey Rodin <skid@vestacp.com>
Homepage: https://www.ioncube.com Homepage: https://www.ioncube.com

View file

@ -1,7 +1,7 @@
Source: vesta-nginx Source: vesta-nginx
Package: vesta-nginx Package: vesta-nginx
Priority: optional Priority: optional
Version: 0.9.8-25 Version: 0.9.8-26
Section: admin Section: admin
Maintainer: Serghey Rodin <skid@vestacp.com> Maintainer: Serghey Rodin <skid@vestacp.com>
Homepage: http://vestacp.com Homepage: http://vestacp.com

View file

@ -1,7 +1,7 @@
Source: vesta-php Source: vesta-php
Package: vesta-php Package: vesta-php
Priority: optional Priority: optional
Version: 0.9.8-25 Version: 0.9.8-26
Section: admin Section: admin
Maintainer: Serghey Rodin <skid@vestacp.com> Maintainer: Serghey Rodin <skid@vestacp.com>
Homepage: http://vestacp.com Homepage: http://vestacp.com

View file

@ -1,7 +1,7 @@
Source: vesta-softaculous Source: vesta-softaculous
Package: vesta-softaculous Package: vesta-softaculous
Priority: optional Priority: optional
Version: 0.9.8-25 Version: 0.9.8-26
Section: admin Section: admin
Maintainer: Serghey Rodin <skid@vestacp.com> Maintainer: Serghey Rodin <skid@vestacp.com>
Homepage: https://www.softaculous.com Homepage: https://www.softaculous.com

View file

@ -1,7 +1,7 @@
Source: vesta Source: vesta
Package: vesta Package: vesta
Priority: optional Priority: optional
Version: 0.9.8-25 Version: 0.9.8-26
Section: admin Section: admin
Maintainer: Serghey Rodin <skid@vestacp.com> Maintainer: Serghey Rodin <skid@vestacp.com>
Homepage: http://vestacp.com Homepage: http://vestacp.com

View file

@ -1,6 +1,6 @@
Name: vesta-ioncube Name: vesta-ioncube
Version: 0.9.8 Version: 0.9.8
Release: 25 Release: 26
Summary: ionCube Loader Summary: ionCube Loader
Group: System Environment/Base Group: System Environment/Base
License: "Freely redistributable without restriction" License: "Freely redistributable without restriction"

View file

@ -1,6 +1,6 @@
Name: vesta-nginx Name: vesta-nginx
Version: 0.9.8 Version: 0.9.8
Release: 25 Release: 26
Summary: Vesta Control Panel Summary: Vesta Control Panel
Group: System Environment/Base Group: System Environment/Base
License: BSD-like License: BSD-like

View file

@ -1,6 +1,6 @@
Name: vesta-php Name: vesta-php
Version: 0.9.8 Version: 0.9.8
Release: 25 Release: 26
Summary: Vesta Control Panel Summary: Vesta Control Panel
Group: System Environment/Base Group: System Environment/Base
License: GPL License: GPL

View file

@ -1,6 +1,6 @@
Name: vesta-softaculous Name: vesta-softaculous
Version: 0.9.8 Version: 0.9.8
Release: 25 Release: 26
Summary: Vesta Control Panel Summary: Vesta Control Panel
Group: System Environment/Base Group: System Environment/Base
License: Softaculous License License: Softaculous License

View file

@ -1,6 +1,6 @@
Name: vesta Name: vesta
Version: 0.9.8 Version: 0.9.8
Release: 25 Release: 26
Summary: Vesta Control Panel Summary: Vesta Control Panel
Group: System Environment/Base Group: System Environment/Base
License: GPL License: GPL
@ -68,6 +68,9 @@ fi
%config(noreplace) %{_vestadir}/web/css/uploadify.css %config(noreplace) %{_vestadir}/web/css/uploadify.css
%changelog %changelog
* Sat Sep 29 2019 Serghey Rodin <builder@vestacp.com> - 0.9.8-26
- Let's Encrypt HTTP/2 support
* Thu Aug 15 2019 Serghey Rodin <builder@vestacp.com> - 0.9.8-25 * Thu Aug 15 2019 Serghey Rodin <builder@vestacp.com> - 0.9.8-25
- Security bugfixes - Security bugfixes
- LEv2 idn fix - LEv2 idn fix

View file

@ -5,4 +5,4 @@ rm -f /usr/local/vesta/data/users/admin/notifications.conf
/usr/local/vesta/bin/v-add-user-notification admin "File Manager" "Browse, copy, edit, view, and retrieve all your web domain files using a fully featured <a href='http://vestacp.com/features/#filemanager'>File Manager</a>. Plugin is available for <a href='/edit/server/?lead=filemanager#module-filemanager'>purchase</a>." 'filemanager' /usr/local/vesta/bin/v-add-user-notification admin "File Manager" "Browse, copy, edit, view, and retrieve all your web domain files using a fully featured <a href='http://vestacp.com/features/#filemanager'>File Manager</a>. Plugin is available for <a href='/edit/server/?lead=filemanager#module-filemanager'>purchase</a>." 'filemanager'
/usr/local/vesta/bin/v-add-user-notification admin "Chroot SFTP" "If you want to have SFTP accounts that will be used only to transfer files (and not to SSH), you can <a href='/edit/server/?lead=sftp#module-sftp'>purchase</a> and enable <a href='http://vestacp.com/features/#sftpchroot'>SFTP Chroot</a>" /usr/local/vesta/bin/v-add-user-notification admin "Chroot SFTP" "If you want to have SFTP accounts that will be used only to transfer files (and not to SSH), you can <a href='/edit/server/?lead=sftp#module-sftp'>purchase</a> and enable <a href='http://vestacp.com/features/#sftpchroot'>SFTP Chroot</a>"
/usr/local/vesta/bin/v-add-user-notification admin "Softaculous" "Softaculous is one of the best Auto Installers and it is finally <a href='/edit/server/?lead=sftp#module-softaculous'>available</a>" /usr/local/vesta/bin/v-add-user-notification admin "Softaculous" "Softaculous is one of the best Auto Installers and it is finally <a href='/edit/server/?lead=sftp#module-softaculous'>available</a>"
/usr/local/vesta/bin/v-add-user-notification admin "Release 0.9.8-25" "This release is about stability and refinement. We added Let's Encrypt v2 support and added server certificate management tools. For more information please read <a href='http://vestacp.com/history/#0.9.8-25'>release notes</a>" /usr/local/vesta/bin/v-add-user-notification admin "Release 0.9.8-26" "This release adds support for Lets Encrypt HTTP/2. For more information please read <a href='http://vestacp.com/history/#0.9.8-26'>release notes</a>"

View file

@ -72,13 +72,14 @@ if ((!empty($_GET['domain'])) && (!empty($_GET['account']))) {
$v_domain = escapeshellarg($_GET['domain']); $v_domain = escapeshellarg($_GET['domain']);
$v_account = escapeshellarg($_GET['account']); $v_account = escapeshellarg($_GET['account']);
$v_account_without_quotas = $_GET['account'];
// Parse autoreply // Parse autoreply
if ( $v_autoreply == 'yes' ) { if ( $v_autoreply == 'yes' ) {
exec (VESTA_CMD."v-list-mail-account-autoreply ".$user." ".$v_domain." ".$v_account." json", $output, $return_var); exec (VESTA_CMD."v-list-mail-account-autoreply ".$user." ".$v_domain." ".$v_account." json", $output, $return_var);
$autoreply_str = json_decode(implode('', $output), true); $autoreply_str = json_decode(implode('', $output), true);
unset($output); unset($output);
$v_autoreply_message = $autoreply_str[$v_account]['MSG']; $v_autoreply_message = $autoreply_str[$v_account_without_quotas]['MSG'];
$v_autoreply_message=str_replace("\\n", "\n", $v_autoreply_message); $v_autoreply_message=str_replace("\\n", "\n", $v_autoreply_message);
} }
} }

View file

@ -196,7 +196,7 @@ $LANG['id'] = array(
'SSL Home Directory' => 'Direktori Home SSL', 'SSL Home Directory' => 'Direktori Home SSL',
'Lets Encrypt Support' => 'Dukungan Lets Encrypt', 'Lets Encrypt Support' => 'Dukungan Lets Encrypt',
'Lets Encrypt' => 'Lets Encrypt', 'Lets Encrypt' => 'Lets Encrypt',
'Your certificate will be automatically issued in 5 minutes' => 'Sertifikat anda akan otomatis didapat dalam 5 menit', 'Your certificate will be automatically issued in 5 minutes' => 'Sertifikat anda akan otomatis diterbitkan dalam 5 menit',
'Proxy Support' => 'Dukungan Proxy', 'Proxy Support' => 'Dukungan Proxy',
'Proxy Extensions' => 'Ekstensi Proxy', 'Proxy Extensions' => 'Ekstensi Proxy',
'Web Statistics' => 'Statistik Web', 'Web Statistics' => 'Statistik Web',
@ -219,11 +219,11 @@ $LANG['id'] = array(
'IMAP hostname' => 'hostname IMAP', 'IMAP hostname' => 'hostname IMAP',
'IMAP port' => 'port IMAP', 'IMAP port' => 'port IMAP',
'IMAP security' => 'keamanan IMAP', 'IMAP security' => 'keamanan IMAP',
'IMAP auth method' => 'metode autentikasi IMAP', 'IMAP auth method' => 'metode otentikasi IMAP',
'SMTP hostname' => 'hostname SMTP', 'SMTP hostname' => 'hostname SMTP',
'SMTP port' => 'port SMTP', 'SMTP port' => 'port SMTP',
'SMTP security' => 'keamanan SMTP', 'SMTP security' => 'keamanan SMTP',
'SMTP auth method' => 'metode autentikasi SMTP', 'SMTP auth method' => 'metode otentikasi SMTP',
'STARTTLS' => 'STARTTLS', 'STARTTLS' => 'STARTTLS',
'Normal password' => 'kata sandi', 'Normal password' => 'kata sandi',
'database' => 'basis data', 'database' => 'basis data',
@ -237,7 +237,7 @@ $LANG['id'] = array(
'Day of week' => 'Hari dalam Minggu', 'Day of week' => 'Hari dalam Minggu',
'local' => 'lokal', 'local' => 'lokal',
'Run Time' => 'Run Time', 'Run Time' => 'Run Time',
'Backup Size' => 'Ukuran Backup', 'Backup Size' => 'Ukuran Cadangan',
'SYS' => 'SYS', 'SYS' => 'SYS',
'Domains' => 'Domains', 'Domains' => 'Domains',
'Status' => 'Status', 'Status' => 'Status',
@ -268,25 +268,25 @@ $LANG['id'] = array(
'ftp server' => 'server ftp', 'ftp server' => 'server ftp',
'job scheduler' => 'jadwal pekerjaan', 'job scheduler' => 'jadwal pekerjaan',
'firewall' => 'firewall', 'firewall' => 'firewall',
'brute-force monitor' => 'brute-force monitor', 'brute-force monitor' => 'pantau brute-force',
'CPU' => 'CPU', 'CPU' => 'CPU',
'Memory' => 'Memori', 'Memory' => 'Memori',
'Uptime' => 'Uptime', 'Uptime' => 'Uptime',
'core package' => 'paket inti', 'core package' => 'paket inti',
'php interpreter' => 'php interpreter', 'php interpreter' => 'php interpreter',
'internal web server' => 'internal web server', 'internal web server' => 'server web internal',
'Version' => 'Versi', 'Version' => 'Versi',
'Release' => 'Rilis', 'Release' => 'Rilis',
'Architecture' => 'Arsitektur', 'Architecture' => 'Arsitektur',
'Object' => 'Objek', 'Object' => 'Objek',
'Username' => 'Nama Pengguna', 'Username' => 'Nama Pengguna',
'Password' => 'Kata sandi', 'Password' => 'Kata sandi',
'Email' => 'Email', 'Email' => 'Surel',
'Package' => 'Paket', 'Package' => 'Paket',
'Language' => 'Bahasa', 'Language' => 'Bahasa',
'First Name' => 'Nama Depan', 'First Name' => 'Nama Depan',
'Last Name' => 'Nama Belakang', 'Last Name' => 'Nama Belakang',
'Send login credentials to email address' => 'Kirim kredensial login ke alamat email', 'Send login credentials to email address' => 'Kirim kredensial login ke alamat surel',
'Default Template' => 'Template Standar', 'Default Template' => 'Template Standar',
'Default Name Servers' => 'Name Servers Standar', 'Default Name Servers' => 'Name Servers Standar',
'Domain' => 'Domain', 'Domain' => 'Domain',
@ -300,13 +300,13 @@ $LANG['id'] = array(
'SSL Certificate Authority / Intermediate' => 'Otoritas Sertifikat SSL / Menengah', 'SSL Certificate Authority / Intermediate' => 'Otoritas Sertifikat SSL / Menengah',
'SSL CSR' => 'SSL CSR', 'SSL CSR' => 'SSL CSR',
'optional' => 'opsi', 'optional' => 'opsi',
'internal' => 'intern', 'internal' => 'internal',
'Statistics Authorization' => 'Statistik Otoritas', 'Statistics Authorization' => 'Statistik Otoritas',
'Statistics Auth' => 'Statistik Otoritas', 'Statistics Auth' => 'Statistik Otoritas',
'Account' => 'Pengguna', 'Account' => 'Pengguna',
'Prefix will be automaticaly added to username' => 'Prefix %s nantinya ditambahin otomatis ke nama pengguna', 'Prefix will be automaticaly added to username' => 'Prefix %s akan otomatis ditambahkan ke nama pengguna',
'Send FTP credentials to email' => 'Kirim kredensial FTP ke email', 'Send FTP credentials to email' => 'Kirim kredensial FTP ke surel',
'Expiration Date' => 'Tanggal Kadaluarsa', 'Expiration Date' => 'Tanggal Kadaluwarsa',
'YYYY-MM-DD' => 'YYYY-MM-DD', 'YYYY-MM-DD' => 'YYYY-MM-DD',
'Name servers' => 'Name server', 'Name servers' => 'Name server',
'Record' => 'Record', 'Record' => 'Record',
@ -316,7 +316,7 @@ $LANG['id'] = array(
'in megabytes' => 'dalam megabytes', 'in megabytes' => 'dalam megabytes',
'Message' => 'Pesan', 'Message' => 'Pesan',
'use local-part' => 'gunakan part lokal', 'use local-part' => 'gunakan part lokal',
'one or more email addresses' => 'satu atau lebih alamat email', 'one or more email addresses' => 'satu atau lebih alamat surel',
'Prefix will be automaticaly added to database name and database user' => 'Prefix %s akan otomatis ditambahkan ke nama basis data dan pengguna basis data', 'Prefix will be automaticaly added to database name and database user' => 'Prefix %s akan otomatis ditambahkan ke nama basis data dan pengguna basis data',
'Database' => 'Basis Data', 'Database' => 'Basis Data',
'Type' => 'Jenis', 'Type' => 'Jenis',
@ -407,7 +407,7 @@ $LANG['id'] = array(
'cron job' => 'cron job', 'cron job' => 'cron job',
'cron' => 'cron', 'cron' => 'cron',
'user dir' => 'dir pengguna', 'user dir' => 'direktori pengguna',
'unlimited' => 'tidak terbatas', 'unlimited' => 'tidak terbatas',
'1 account' => '1 pengguna', '1 account' => '1 pengguna',
@ -489,14 +489,14 @@ $LANG['id'] = array(
'RESTART_CONFIRMATION' => 'Apakah anda yakin ingin me-restart %s?', 'RESTART_CONFIRMATION' => 'Apakah anda yakin ingin me-restart %s?',
'Welcome' => 'Selamat Datang', 'Welcome' => 'Selamat Datang',
'LOGGED_IN_AS' => 'Masuk sebagai pengguna %s', 'LOGGED_IN_AS' => 'Masuk sebagai pengguna %s',
'Error' => 'Kesalahan', 'Error' => 'Galat',
'Invalid username or password' => 'Nama pengguna atau kata sandi salah', 'Invalid username or password' => 'Nama pengguna atau kata sandi salah',
'Invalid username or code' => 'Kode atau nama pengguna salah', 'Invalid username or code' => 'Kode atau nama pengguna salah',
'Passwords not match' => 'Kata sandi tidak sama', 'Passwords not match' => 'Kata sandi tidak sama',
'Please enter valid email address.' => 'Masukkan alamat surel yang valid.', 'Please enter valid email address.' => 'Masukkan alamat surel yang valid.',
'Field "%s" can not be blank.' => 'Field "%s" tidak boleh kosong.', 'Field "%s" can not be blank.' => 'Field "%s" tidak boleh kosong.',
'Password is too short.' => 'Kata sandi terlalu pendek (minimal 6 karakter)', 'Password is too short.' => 'Kata sandi terlalu pendek (minimal 6 karakter)',
'Error code:' => 'Kode kesalahan: %s', 'Error code:' => 'Kode galat: %s',
'SERVICE_ACTION_FAILED' => '"%s" "%s" gagal', 'SERVICE_ACTION_FAILED' => '"%s" "%s" gagal',
'IP address is in use' => 'Alamat IP sudah digunakan', 'IP address is in use' => 'Alamat IP sudah digunakan',
'BACKUP_SCHEDULED' => 'Tugas sudah ditambahkan ke antrian. email pemberitahuan akan dikirim ketika cadangan telah siap diunduh.', 'BACKUP_SCHEDULED' => 'Tugas sudah ditambahkan ke antrian. email pemberitahuan akan dikirim ketika cadangan telah siap diunduh.',
@ -560,11 +560,11 @@ $LANG['id'] = array(
'MAIL Server' => 'MAIL Server', 'MAIL Server' => 'MAIL Server',
'Antivirus' => 'Antivirus', 'Antivirus' => 'Antivirus',
'AntiSpam' => 'AntiSpam', 'AntiSpam' => 'AntiSpam',
'Use Web Domain SSL Certificate' => 'Use Web Domain SSL Certificate', 'Use Web Domain SSL Certificate' => 'Gunakan Sertifikat SSL Domain Web',
'Webmail URL' => 'Webmail URL', 'Webmail URL' => 'Webmail URL',
'MySQL Support' => 'MySQL Support', 'MySQL Support' => 'Dukungan MySQL',
'phpMyAdmin URL' => 'phpMyAdmin URL', 'phpMyAdmin URL' => 'phpMyAdmin URL',
'PostgreSQL Support' => 'PostgreSQL Support', 'PostgreSQL Support' => 'Dukungan PostgreSQL',
'phpPgAdmin URL' => 'phpPgAdmin URL', 'phpPgAdmin URL' => 'phpPgAdmin URL',
'Maximum Number Of Databases' => 'Jumlah maximal basis data', 'Maximum Number Of Databases' => 'Jumlah maximal basis data',
'Current Number Of Databases' => 'Jumlah database saat ini', 'Current Number Of Databases' => 'Jumlah database saat ini',
@ -581,7 +581,7 @@ $LANG['id'] = array(
'Reseller Role' => 'Aturan Reseller', 'Reseller Role' => 'Aturan Reseller',
'Web Config Editor' => 'Web Config Editor', 'Web Config Editor' => 'Web Config Editor',
'Template Manager' => 'Template Manager', 'Template Manager' => 'Template Manager',
'Backup Migration Manager' => 'Backup Migration Manager', 'Backup Migration Manager' => 'Manajer Migrasi Cadangan',
'FileManager' => 'FileManager', 'FileManager' => 'FileManager',
'show: CPU / MEM / NET / DISK' => 'tampilkan: CPU / MEM / NET / DISK', 'show: CPU / MEM / NET / DISK' => 'tampilkan: CPU / MEM / NET / DISK',
@ -598,7 +598,7 @@ $LANG['id'] = array(
'name' => 'nama', 'name' => 'nama',
'Initializing' => 'Inisialisasi', 'Initializing' => 'Inisialisasi',
'UPLOAD' => 'UNGGAH', 'UPLOAD' => 'UNGGAH',
'NEW FILE' => 'FILE BARU', 'NEW FILE' => 'BERKAS BARU',
'NEW DIR' => 'DIREKTORI BARU', 'NEW DIR' => 'DIREKTORI BARU',
'DELETE' => 'HAPUS', 'DELETE' => 'HAPUS',
'RENAME' => 'GANTI', 'RENAME' => 'GANTI',
@ -612,10 +612,10 @@ $LANG['id'] = array(
'Hit' => 'Hit', 'Hit' => 'Hit',
'to reload the page' => 'untuk memuat ulang halaman', 'to reload the page' => 'untuk memuat ulang halaman',
'Directory name cannot be empty' => 'Nama Direktori tidak boleh kosong', 'Directory name cannot be empty' => 'Nama Direktori tidak boleh kosong',
'File name cannot be empty' => 'Nama File tidak boleh kosong', 'File name cannot be empty' => 'Nama berkas tidak boleh kosong',
'No file selected' => 'Tidak ada file yang dipilih', 'No file selected' => 'Tidak ada berkas yang dipilih',
'No file or folder selected' => 'Tidak ada file atau folder yg dipilih', 'No file or folder selected' => 'Tidak ada berkas atau folder yg dipilih',
'File type not supported' => 'Tipe file tidak didukung', 'File type not supported' => 'Tipe berkas tidak didukung',
'Directory download not available in current version' => 'Direktori Unduh tidak tersedia di versi ini', 'Directory download not available in current version' => 'Direktori Unduh tidak tersedia di versi ini',
'Directory not available' => 'Direktori tidak tersedia', 'Directory not available' => 'Direktori tidak tersedia',
'Done' => 'Selesai', 'Done' => 'Selesai',
@ -633,21 +633,21 @@ $LANG['id'] = array(
'YOU ARE COPYING' => 'ANDA MENYALIN', 'YOU ARE COPYING' => 'ANDA MENYALIN',
'YOU ARE REMOVING' => 'ANDA MENGHAPUS', 'YOU ARE REMOVING' => 'ANDA MENGHAPUS',
'Delete items' => 'Hapus item', 'Delete items' => 'Hapus item',
'Copy files' => 'Salin file', 'Copy files' => 'Salin berkas',
'Move files' => 'Pindah file', 'Move files' => 'Pindah berkas',
'Are you sure you want to copy' => 'Apakah anda yakin ingin menyalin', 'Are you sure you want to copy' => 'Apakah anda yakin ingin menyalin',
'Are you sure you want to move' => 'Apakah anda yakin ingin memindahkan', 'Are you sure you want to move' => 'Apakah anda yakin ingin memindahkan',
'Are you sure you want to delete' => 'Aapakah anda Yakin ingin menghapus', 'Are you sure you want to delete' => 'Aapakah anda Yakin ingin menghapus',
'into' => 'ke', 'into' => 'ke',
'existing files will be replaced' => 'file yang sudah ada akan diganti', 'existing files will be replaced' => 'berkas yang sudah ada akan diganti',
'Original name' => 'Nama orisinal', 'Original name' => 'Nama orisinal',
'File' => 'File', 'File' => 'Berkas',
'already exists' => 'sudah ada', 'already exists' => 'sudah ada',
'Create file' => 'Buat file', 'Create file' => 'Buat berkas',
'Create directory' => 'Buat direktori', 'Create directory' => 'Buat direktori',
'read by owner' => 'dibaca oleh owner', 'read by owner' => 'dibaca oleh pemilik',
'write by owner' => 'ditulis oleh owner', 'write by owner' => 'ditulis oleh pemilik',
'execute/search by owner' => 'eksekusi/cari oleh owner', 'execute/search by owner' => 'eksekusi/cari oleh pemilik',
'read by group' => 'dibaca oleh grup', 'read by group' => 'dibaca oleh grup',
'write by group' => 'ditulis oleh grup', 'write by group' => 'ditulis oleh grup',
'execute/search by group' => 'ekseskusi/cari oleh grup', 'execute/search by group' => 'ekseskusi/cari oleh grup',
@ -671,30 +671,30 @@ $LANG['id'] = array(
'Move backward through top menu' => 'Pindah ke sebelumnya lewat menu atas', 'Move backward through top menu' => 'Pindah ke sebelumnya lewat menu atas',
'Move forward through top menu' => 'Pindah ke setelahnya lewat menu atas', 'Move forward through top menu' => 'Pindah ke setelahnya lewat menu atas',
'Enter focused element' => 'Masuk ke fokus elemen', 'Enter focused element' => 'Masuk ke fokus elemen',
'Move up through elements list' => 'Move up through elements list', 'Move up through elements list' => 'Pindah ke atas melalui daftar elemen',
'Move down through elements list' => 'Move down through elements list', 'Move down through elements list' => 'Pindah ke bawah melalui daftar elemen',
'Upload' => 'Unggah', 'Upload' => 'Unggah',
'New File' => 'File baru', 'New File' => 'Berkas baru',
'New Folder' => 'Folder baru', 'New Folder' => 'Folder baru',
'Download' => 'Unduh', 'Download' => 'Unduh',
'Archive' => 'Arsip', 'Archive' => 'Arsip',
'Save File (in text editor)' => 'Simpan File (di text editor)', 'Save File (in text editor)' => 'Simpan berkas (di penyunting teks)',
'Close Popup / Cancel' => 'Tutup Popup / Batal', 'Close Popup / Cancel' => 'Tutup Popup / Batal',
'Move Cursor Up' => 'Pindahkan kursor keatas', 'Move Cursor Up' => 'Pindahkan kursor keatas',
'Move Cursor Down' => 'Pindahkan kursor kebawah', 'Move Cursor Down' => 'Pindahkan kursor kebawah',
'Switch to Left Tab' => 'Pindah ke tab kiri', 'Switch to Left Tab' => 'Pindah ke tab kiri',
'Switch to Right Tab' => 'Pindah ke tab kanan', 'Switch to Right Tab' => 'Pindah ke tab kanan',
'Switch Tab' => 'Pindah Tab', 'Switch Tab' => 'Pindah Tab',
'Go to the Top of the File List' => 'Pindah Ke atas dari Daftar File', 'Go to the Top of the File List' => 'Pindah Ke atas dari Daftar Berkas',
'Go to the Last File' => 'Pindah File terakhir', 'Go to the Last File' => 'Pindah Berkas terakhir',
'Open File / Enter Directory' => 'Buka File/Masuk ke Direktori', 'Open File / Enter Directory' => 'Buka Berkas/Masuk ke Direktori',
'Edit File' => 'Sunting File', 'Edit File' => 'Sunting Berkas',
'Go to Parent Directory' => 'Ke Direktori Induk', 'Go to Parent Directory' => 'Ke Direktori Induk',
'Select Current File' => 'Pilih File ini', 'Select Current File' => 'Pilih Berkas ini',
'Select Bunch of Files' => 'Pilih Bunch of Files', 'Select Bunch of Files' => 'Pilih banyak berkas',
'Add File to the Current Selection' => 'Tambahkan File di Seleksi ini', 'Add File to the Current Selection' => 'Tambahkan Berkas diseleksi ini',
'Select All Files' => 'Pilih semua file', 'Select All Files' => 'Pilih semua berkas',
'shortcuts are inspired by magnificent GNU <a href="https://www.midnight-commander.org/">Midnight Commander</a> file manager' => 'shortcuts are inspired by magnificent GNU <a href="https://www.midnight-commander.org/">Midnight Commander</a> file manager' =>
'pintasan terinspirasi oleh magnificent GNU <a href="https://www.midnight-commander.org/">Midnight Commander</a> file manager', 'pintasan terinspirasi oleh magnificent GNU <a href="https://www.midnight-commander.org/">Midnight Commander</a> file manager',
@ -706,7 +706,7 @@ $LANG['id'] = array(
'Licence Activated' => 'Lisensi telah aktif', 'Licence Activated' => 'Lisensi telah aktif',
'Licence Deactivated' => 'Lisensi telah di nonaktifkan', 'Licence Deactivated' => 'Lisensi telah di nonaktifkan',
'Restrict users so that they cannot use SSH and access only their home directory.' => 'Batasi pengguna agar tidak dapat menggunakan SSH dan hanya dapat mengakses direktori home.', 'Restrict users so that they cannot use SSH and access only their home directory.' => 'Batasi pengguna agar tidak dapat menggunakan SSH dan hanya dapat mengakses direktori home.',
'Browse, copy, edit, view, and retrieve all of your web domain files using fully featured File Manager.' => 'Jelajahi, salin, sunting, lihat dan dapatkan semua file web anda menggunakan File Manager.', 'Browse, copy, edit, view, and retrieve all of your web domain files using fully featured File Manager.' => 'Jelajahi, salin, sunting, lihat dan dapatkan semua berkas web anda menggunakan File Manager.',
'This is a commercial module, you would need to purchace license key to enable it.' => 'Ini modul komersial, anda perlu membayar lisensi untuk mengaktifkannya.', 'This is a commercial module, you would need to purchace license key to enable it.' => 'Ini modul komersial, anda perlu membayar lisensi untuk mengaktifkannya.',
'Minutes' => 'Permenit', 'Minutes' => 'Permenit',

View file

@ -758,5 +758,5 @@ $LANG['nl'] = array(
'maximum characters length, including prefix' => 'maximaal %s karakters lang, inclusief prefix', 'maximum characters length, including prefix' => 'maximaal %s karakters lang, inclusief prefix',
'Email Credentials' => 'Email Credentials', 'Email Credentials' => 'E-mailreferenties',
); );