KNJ Panel · Product Roadmap
Roadmap
What's live today, what's actively being built, and what's planned — organized by area. This page updates as features ship.
100% live, out of everything actually planned for this side of the panel. Full build log: Latest Updates →
DNS
Core is liveEvery domain should get a complete, production-ready zone the moment it's created — not just the bare minimum to resolve.
Mail authentication, shipped
Every new domain now signs its own outbound mail and publishes proper sender- authorization records automatically — no manual DNS work required:
Every zone also gets mail client autoconfiguration and CalDAV/CardDAV service-discovery records by default now that both underlying services exist — no manual DNS work required for either.
| Feature | What it does | Status | Note |
|---|---|---|---|
| SPF / DKIM / DMARC auto-generation | Sign outbound mail and publish sender-authorization records, per domain, automatically. | Live | Shipped 2026-07-25 — real signing infrastructure, not a placeholder record. |
| Zone manager | Add, edit, delete DNS records per domain. | Live | Shipped 2026-07-26 — edit every record in place and save the whole zone in one click, plus per-type filtering and a DNSSEC toggle. |
| Restore default records | One-click recovery if a zone's records get deleted by accident. | Live | Shipped 2026-07-26 — rebuilds the essentials (nameservers, site, mail, mail authentication) without touching or duplicating anything you've added yourself. |
| Zone creation & deletion | A zone is created/removed automatically with the account. | Live | Shipped 2026-07-24 — every new hosting account gets a DNS zone (NS, A, www, MX defaults) the moment it's created, removed automatically when the account is deprovisioned. |
| Zone templates | Customize the record set every new zone starts with. | Live | Shipped 2026-07-25 — toggle which auto-generated records (www, mail, SPF, DMARC, DKIM) new zones get, plus your own extra static records with {domain}/{ip} placeholders. |
| Per-domain mail routing | Choose how mail for a domain is handled — locally or remotely. | Live | Shipped 2026-07-26 — account-side self-service only (the account’s own Mail Settings page, primary domain); there is no separate Controller-side action to configure another account’s mail routing on an admin’s behalf. |
| Bulk-enable mail signing | Retrofit SPF/DKIM/DMARC onto domains that existed before it became automatic. | Live | Shipped 2026-07-26 — Backfill All or per-domain, from Zone Templates. |
| Nameserver diagnostic report | Check whether a domain's live nameservers actually point here. | Live | Shipped 2026-07-25 — checks each domain's live public NS records against this server's configured nameserver and flags Match/Mismatch/Lookup-failed. |
| Multiple domains per account | Host more than one domain under a single account. | Live | Shipped 2026-07-26. |
| Orphaned zone cleanup | Find and remove zones with no matching account. | Live | Shipped 2026-07-25 — lists domains BIND is still serving with no matching account (drift from a failed deprovision step), one-click removal per orphan. |
| Zone TTL defaults | Configure default record TTLs and SOA values. | Live | Shipped 2026-07-25 — the TTL and SOA refresh/retry/expire/minimum values new zones are created with, configurable instead of fixed in code. |
| Domain forwarding | Redirect a domain's traffic to another URL. | Live | Shipped 2026-07-25 — redirects an entire domain to another URL, self-service from the account panel. |
| DNSSEC | Sign zones for authenticated DNS responses. | Live | Shipped 2026-07-26 — one-click per zone, DS record shown for the registrar. |
| DNS clustering (secondary nameservers) | Authorize a DNS-only server to replicate zones from this one. | Live | Shipped 2026-07-26 — generates a real TSIG key and BIND config the moment a DNS-only server is added; replication itself uses standard, secure zone transfers. |
| Multi-nameserver sync | Manually re-push every zone to keep a cluster in sync. | Not Planned | Zones already stay in sync automatically — every zone change queues a push to linked DNS-only servers immediately, plus a 15-minute reconciliation sweep catches anything that failed. A manual "push now" button on top of that isn't currently planned. |
| DNS zone file import/export | Download a zone as a standard BIND file, or upload one to populate it. | Live | Shipped 2026-08-22 — export is a two-line wrapper around the exact same zone-file builder every live DNS write already goes through, so what's downloaded is byte-for-byte what's actually being served. Import parses a real BIND file and diffs it against the existing zone before writing anything. |
Day-to-day mailbox management, plus the underlying mail server configuration that controls how mail is filtered, relayed, and secured.
Mail server configuration — planned depth
Beyond the anti-abuse limits and RBL filtering already live, a full mail configuration surface is planned: spam scoring, sender/recipient access lists, attachment filtering, outbound relay (smarthost) support, and protocol/encryption policy for the mail server itself (which protocols are enabled, minimum TLS version, connection limits).
| Feature | What it does | Status | Note |
|---|---|---|---|
| Mailboxes & forwarders | Create/delete mailboxes, manage forwarders, set a server-wide default quota. | Live | Shipped 2026-07-24 — Postfix and Dovecot read mailbox/domain/forwarder data live out of the panel's own database via a read-only DB user. A server-wide default quota is set on the Mail Settings page and applied at mailbox creation; per-mailbox overrides are also available (see Per-mailbox quota & suspension below). |
| Repair mailbox permissions | Fix ownership/permission drift across the server's mail storage. | Live | Recursively restores correct vmail:vmail ownership and modes across the whole mail store in one click, admin-only, for when something outside the panel leaves mail files in a bad state. |
| Anti-abuse limits | Max message size, max recipients, per-client send rate. | Live | Shipped 2026-07-25 — applied via postconf, reverted automatically if postfix check fails. |
| Blocklist filtering | Reject mail from known-bad senders (RBL). | Live | Shipped 2026-07-25 — a real-time blocklist toggle against Spamhaus. |
| Spam scoring | Score and act on likely-spam messages. | Live | Shipped 2026-07-26 — SpamAssassin, tag or optionally reject outright at a configurable score. |
| Spam scanner tuning | Control how many messages the spam scanner processes at once and how it's reached. | Live | Shipped 2026-08-12 — separate from spam scoring itself: process limits, timeouts, and access controls for the scanner that does the scoring. |
| Outbound relay (smarthost) | Route outbound mail through a third-party relay. | Live | Shipped 2026-07-26 — host + optional username/password, own settings page. |
| Mail server protocol/TLS policy | Which protocols are enabled, minimum TLS version, connection limits. | Live | Shipped 2026-07-26 — IMAP/POP3 toggle, IPv6, TLS policy, and process limits, all editable without SSH. |
| Mail queue viewer | View, retry, or clear undelivered messages. | Live | Shipped 2026-07-26 — retry one message or the whole queue, delete one or clear everything. |
| Delivery reports & troubleshooting | Trace why a specific message didn't deliver. | Live | Shipped 2026-07-26 — browse recent activity or search a sender/recipient/domain. |
| Mail statistics | Send volume by domain/account over time. | Live | Shipped 2026-07-26 — sent/deferred/bounced by sender domain, plus a list of authenticated relayers. |
| Inbound filtering by country/domain | Block inbound mail by origin. | Live | Shipped 2026-07-26 — block by sender domain or by country, rejected at the SMTP level. |
| Greylisting | Temporarily defer unrecognized senders to filter spambots. | Live | Shipped 2026-07-26 — filters spam that never retries, without scoring or blocklisting anything. |
| Deliverability checker | Verify SPF/DKIM/DMARC/PTR are all correctly configured for a domain. | Live | Shipped 2026-07-26 — live public DNS lookups, no cached or self-reported state. Fixed 2026-08-29 — MX and reverse-DNS/PTR checks now follow whichever mail server is actually active for a domain (Main or a linked Mail Only satellite) instead of always checking the main server's own IP. |
| Autoresponders | Out-of-office style auto-reply per mailbox. | Live | Shipped 2026-07-26 — account-side, one per mailbox. |
| Webmail | In-browser mail client. | Live | Shipped 2026-07-29 — real Roundcube, wired to the real Dovecot/Postfix already running. Verified against a real external Gmail inbox (not just accepted by our own mail server), both directions. Also fixed 2026-08-29: a PHP 8.5/Roundcube polyfill collision causing a bare 500 on every request, a Dovecot plugin dependency causing random Internal Error banners on login, and SMTP submission authentication silently failing on an already-provisioned Mail Only satellite. Also fixed 2026-08-30 — visiting yourdomain.com/webmail, /account, or /controller (or the webmail./account. subdomain shortcuts) previously redirected the browser to the panel's own hostname; all three now proxy through invisibly, keeping the customer's own domain in the address bar throughout, with a matching SSL certificate issued automatically for the webmail./account. subdomain shortcuts. Fixed 2026-09-03 — the webmail./yourdomain.com/webmail shortcut always opened the built-in client regardless of which webmail client an account's Email Accounts page actually has set as default; it now respects that setting and opens Roundcube directly when that's the configured choice, matching what the account panel's own "Launch Webmail" link already did correctly. |
| KNJ Webmail (custom client) | A from-scratch webmail client, built into the panel itself. | Live · v0.7.2 | Bulk CSV contact import, contacts with autocomplete and one-click save, rich (HTML) compose with a sanitized editor and real multipart/alternative sending, multi-select bulk move/delete, a Settings page for autoresponder + Outlook-style mail filing rules, user-created folders with drag-and-drop, real folders, attachments, search, pagination, drafts, and sortable columns — versioned independently from the panel itself. Verified against a real external Gmail inbox. Added 2026-09-03 — contacts now stay in sync with Roundcube automatically, in both directions: add, edit, or delete a contact in either client and it's reflected in the other, continuously, with no setup needed. Fixed 2026-09-03 — a long inbox used to grow the whole page instead of scrolling inside the message list, pushing Contacts/Settings/Log out off screen; and the folder list disappeared entirely on the Contacts page, with no way back to Inbox except through Compose. Both fixed. Also fixed the same day: on a server where mail runs on its own separate machine, the contacts sync above could silently fail to actually reach it — already-affected accounts fix themselves automatically. Fixed 2026-09-04 — toggling the inbox between oldest-first and newest-first had no actual effect on the order shown; both directions displayed the same order. Now fixed. |
| Mail client autoconfiguration | Point Thunderbird, Outlook, or a phone mail app at an account with no manual server settings. | Live | Shipped 2026-08-22 — RFC 6186 SRV records plus a real Thunderbird-style autoconfig XML endpoint, so a mail client discovers the right IMAP/SMTP hostnames, ports, and encryption automatically from just an email address and password. |
| Per-mailbox quota & suspension | Set a real, enforced size limit on any single mailbox and suspend one independently of the account. | Live | Shipped 2026-08-22 — previously the per-mailbox size was only ever a stored number, never actually enforced by Dovecot and never editable after creation. Now both the limit and a suspend toggle are real and take effect immediately, on both a locally-run mail server and a linked Mail Only satellite. |
Service Configuration
Core is live| Feature | What it does | Status | Note |
|---|---|---|---|
| Nameserver | Authoritative DNS for hosted domains. | Live | Shipped 2026-07-24 — BIND9 configured as authoritative-only, refuses recursive queries. Shipped 2026-08-29 — real multi-nameserver management (previously a single hardcoded nameserver); every new zone gets one NS record per configured nameserver, and Restore Default Records checks each one individually. |
| Mail server configuration | Protocol/SSL/process-limit configuration for the mail server. | Live | Shipped 2026-07-26 — see Email section above. |
| Mail relay & filtering configuration | Full access-list/filter/relay configuration surface. | Live | Shipped 2026-08-03 — sender and recipient blocklists, wired into the same restriction chain the rest of mail security already builds so an open-relay gap can't slip in through a second, independent writer. |
| FTP accounts | FTP access to a hosting account's files. | Live | Shipped 2026-07-30 — vsftpd, SQL-backed auth (same architecture as mail), every session runs as the account's own real system user so uploads are quota-consistent automatically. A primary account is created automatically; scoped sub-accounts jailed to a subdirectory are self-service from the account panel. |
| FTP settings | Server-wide vsftpd tuning — connection limits, idle timeout, passive port range, banner. | Live | Shipped 2026-07-30 — regenerates the running vsftpd config and restarts the service on save. |
| WebDAV access | Mount a hosting account's files over WebDAV. | Live | Shipped 2026-08-03 — real nginx dav_ext module, not a separate daemon. Scoped to an account's whole site or a single subdirectory, self-service from the account panel. |
| Log rotation | Retention/rotation rules for account log files. | Live | Shipped 2026-08-03 — admin-configurable frequency, retention, and compression, floored at 32 days since bandwidth reporting rebuilds each month from the same rotated logs. |
| Service certificates | TLS certificates for the panel and mail services. | Live | Shipped 2026-08-03 — the panel issues one certificate and every TLS service reuses it; this page makes that sharing explicit with real issued/expiry/issuer detail. |
| Service manager | Start/stop/restart individual services from the UI. | Live | Shipped 2026-08-03 — every control runs as a background job, never inline with the request, so restarting a service the panel itself depends on can't take the panel down with it. Stopping a service the panel needs to keep running is blocked outright. |
Accounts
Core is live| Feature | What it does | Status | Note |
|---|---|---|---|
| Account list | Full account overview with quick actions. | Live | Shipped 2026-07-25 — username, contact email, IP address, and created date, checked against a real WHM demo for reference. |
| Create account | Provision a domain, owner, and hosting package. | Live | Shipped 2026-07-29 — username always generates automatically; password can auto-generate or be set explicitly with confirmation. Shipped 2026-08-28 — a new domain can also attach to an existing login instead of creating a new one, for an owner picking up a second domain under the same account. Shipped 2026-08-30 — no longer auto-creates a starter MySQL database and user; matches real cPanel/WHM's own opt-in default. Add one from the account's own MySQL Databases page when you actually want one. |
| Log in as user | Admins/resellers can open a customer's own panel directly. | Live | Shipped 2026-07-25 — no password prompt, with a banner shown while impersonating and a one-click return to admin. |
| Edit account | Modify an account's settings after creation. | Live | Owner name, email, package, and reseller assignment, all editable from one form. |
| Bulk account removal | Remove multiple accounts at once. | Live | Shipped 2026-08-03 — select-all/per-row checkboxes on List Accounts, each account still deprovisioned through its own background job. Fixed 2026-08-30 — deleting an account previously left its domain and mailboxes still active on a linked Mail Only server's own routing tables indefinitely. Account deletion now tells a linked mail server to drop everything for that account immediately, the same way it already does for DNS. |
| Suspend / unsuspend | Temporarily disable an account without deleting it. | Live | Shipped 2026-07-30 — swaps the Nginx vhost to a shared suspended page, mail and DNS keep working. |
| Admin password reset | Admin-initiated password reset for an account owner. | Live | Shipped 2026-08-03 — same auto-generate-or-set-explicitly choice already offered at account creation. Extended 2026-09-02 with an option to email the new password to the account owner, plus a genuinely temporary-password mode: one-time use, expires in 24 hours, and forces a real password to be set immediately on first login. Fixed 2026-09-09 — choosing auto-generate could fail with a false "password confirmation does not match" error, caused by a browser autofilling a hidden, unrelated field. |
| Quota tracking & enforcement | Disk usage limits per account. | Live | Shipped 2026-07-30 — a real, kernel-enforced ext4 quota, not just a measurement. Fixed 2026-09-01 — every quota change made through the panel UI (account creation, package change) was silently failing to actually apply at the filesystem level, due to a systemd sandboxing restriction. Fixed; quota changes now correctly take effect immediately. Fixed 2026-09-03 — on a server where hosting files live on their own separate disk from the operating system, usage and quota enforcement were never being tracked there at all, so real disk usage could run well over a package's limit without the panel noticing or the limit ever being enforced. Already-live servers fix themselves automatically, no admin action needed. |
| Bandwidth tracking & limits | Monthly transfer caps with usage visibility. | Live | Shipped 2026-07-30 — derived from Nginx access logs, resets monthly, suspends an account over its limit. |
| Package upgrade/downgrade | Change an account's package after creation. | Live | Part of Edit Account — changing the package re-applies the new disk quota immediately. |
| Broadcast messaging | Message every account owner on the server. | Live | Shipped 2026-08-03 — one email to every account owner on the server, queued rather than sent inline. |
| Access log downloads | Download an account's raw web server logs. | Live | Shipped 2026-08-03 — the admin-side equivalent of the account panel's own Raw Logs page. |
| Parked domains list | See every addon domain across every account on the server, not just one at a time. | Live | Shipped 2026-08-12 — a server-wide rollup of every account's addon domains, reachable from the same nav group as List Accounts. |
| Web page templates | Customize the default and suspended-account pages shown before a real site is up. | Live | Shipped 2026-08-13 — both were previously fixed, not editable. |
Security
Foundational pieces live| Feature | What it does | Status | Note |
|---|---|---|---|
| Firewall management | Manage firewall rules and banned IPs. | Live | Shipped 2026-07-24 — a real status page over the server's actual ufw and fail2ban, not a mockup. Redesigned 2026-09-02 into a real, structured, editable rule table for arbitrary port/protocol/action/source rules, separate from the existing per-service allow/deny lists below — with baseline server rules and other features' own rules always shown read-only, so nothing here can lock an admin out of their own server. |
| Brute-force protection | Auto-ban IPs after repeated failed logins. | Live | Shipped 2026-07-31 — a new fail2ban jail bans an IP at the network level after 5 failed panel logins in 10 minutes, same posture as the existing SSH protection. |
| Per-service IP allow/deny lists | Restrict which IPs can reach specific services. | Live | Shipped 2026-08-03 — Panel Login, SSH, FTP, Mail, and DNS each get their own allow-list; add one IP and the service switches from open to allow-listed at the firewall level. |
| Two-factor authentication | TOTP-based 2FA for panel logins. | Live | Shipped 2026-07-31 — opt-in for every role, with an authenticator app, recovery codes, or an emailed one-time code as three separate ways in. Fixed 2026-09-04 — setting up two-factor from your own account panel using your own domain's address could return a generic page-not-found error instead of the setup screen. Same underlying routing issue already fixed once for signing in directly; now fixed for account security settings too, and already-live accounts pick the fix up automatically. Also fixed 2026-09-04 — two-factor setup, password changes, and profile updates are no longer offered while a support admin is viewing your account on your behalf; these can only be changed by logging in directly as the account owner, keeping your login tied to your own device. |
| Security policies overview | One page summarizing every login-protection feature, plus the option to require two-factor authentication for every Administrator and Reseller. | Live | Shipped 2026-08-12 — two-factor authentication stays opt-in by default; this adds the option to make it mandatory server-wide rather than relying on individual discipline. |
| Password strength policy | Server-wide minimum password requirements. | Live | Shipped 2026-08-03 — one central policy (minimum length, mixed case, numbers, symbols, an opt-in breach-database check) now governs every password set anywhere on the server. |
| Security advisor | Automated scan of the server's own configuration. | Live | Shipped 2026-07-30 as Security Scan — firewall, SSH's effective config, fail2ban, network/database exposure, and automatic updates, each with a plain-language recommendation and an overall score. Extended 2026-09-02 with a one-click 'Fix Now' for the checks that are genuinely safe to auto-fix (firewall default-deny, fail2ban, automatic updates); the rest link straight to the page that owns the fix, or give real step-by-step instructions where auto-fixing would be the wrong call (e.g. SSH config, to avoid ever locking out an admin connected over the setting being fixed). |
| API tokens | Scoped tokens for automation. | Live | Shipped 2026-08-04 — abilities now match what WHMCS's own cPanel integration calls (create, suspend, unsuspend, terminate, package change, password reset), each independently gated, with a real API surface for tokens to actually call. |
| Virus/malware scanning | Scan inbound mail and reject or discard anything infected. | Live | Shipped 2026-08-22 — ClamAV wired into the mail chain the same way Spam Filtering already was, with a choice of rejecting infected mail outright at delivery or discarding it silently. |
| Malware scanning (website files) | On-demand scan of an account's entire website files, not just mail. | Live | Shipped 2026-09-02 — a real gap the mail-only virus scanning above never covered: a "Scan for Malware" action on each account scans that account's whole home directory with live progress, reporting exactly what was found rather than leaving website-level threats invisible. Fixed 2026-09-04 — a scan could stop partway through without saying so, reporting clean when it hadn't actually finished checking everything; and a confirmed threat wasn't always being fully set aside the way it should have been. Both fixed, with real regression tests added so it can't quietly happen again. An account now also has anything it's actively running stopped immediately the moment a confirmed threat suspends it, not just its website — closing the exact gap that led to this feature being built in the first place. Extended 2026-09-04 — a "Scan Now" button on the Malware Scan Overview page can trigger scans across several selected accounts at once instead of one at a time. Improved 2026-09-07 — a real live progress bar and time estimate replaced the old "a scan is running" message, on both the admin and account side. |
| Scheduled malware & backdoor scanning, server-wide | A nightly (admin-configurable time) automatic scan of every hosting account's files for viruses and hidden backdoors — not just when you remember to click a button. Skips any account you've deliberately opted out on its own page. Emails you one consolidated report every night it runs, plus an immediate alert the moment anything is actually dangerous enough to act on. If it finds something genuinely dangerous, it quarantines the exact file and suspends that one account immediately, before it can be used against you — without locking the account owner out of their own panel, so they can log straight in and fix it themselves. | Live | Shipped 2026-09-04 — runs the identical scan the on-demand “Scan for Malware” action above already uses, once a night at a time you choose, against every active account that hasn't opted out. Extended the same day with four notifications: a nightly summary report; an immediate alert the moment an account is actually auto-suspended, separate from the nightly summary since that's urgent enough to not wait for; a reminder if a suspended account sits unresolved for longer than you're comfortable with (you set the number of days); and the account owner gets told directly whenever a scan finds anything on their own account, not just when it's serious enough to suspend. Fixed 2026-09-05 — the settings and account-selection pages now live together under one "Malware Scan" menu item with tabs, instead of two separate entries, and a new overview page shows your server's current status at a glance, plus recent findings across every account. |
| Email archiving | Silently retain a copy of every message for compliance, with configurable retention. | Live | Shipped 2026-08-22 — incoming, outgoing, or both can be archived independently, with admin browse/download of raw copies and a retention window in days (or kept forever). |
| Web Application Firewall | A real ModSecurity + OWASP CRS engine protecting every site, not a lightweight regex substitute. | Live | Shipped 2026-08-24 — server-wide default-on with a per-site Enabled/Detection Only/Disabled override and an admin-configurable paranoia level. A scheduled health check sends a real synthetic attack every 5 minutes and confirms it's actually blocked, not just that the module loaded. |
SSL/TLS
Core is live| Feature | What it does | Status | Note |
|---|---|---|---|
| Automatic certificates | Free certificates, auto-issued and auto-renewed for every domain. | Live | Shipped 2026-07-24 — a Let's Encrypt certificate is issued automatically the moment an account's site goes live, no manual step. Extended 2026-09-03 — if issuance genuinely can't succeed yet (most commonly a brand-new domain's DNS still spreading to the wider internet), your site now gets a temporary certificate automatically instead of running with no HTTPS at all, so it's never left showing the wrong content to a visitor in the meantime. It upgrades itself to the real, trusted certificate automatically as soon as it can, no action needed, or you can retry it yourself right from your SSL/TLS page. |
| Direct-domain access on your own ports | Reach your account and admin area on your own domain, not just the panel's hostname. | Live | Shipped 2026-09-02 — your account area (port 2083) and the admin area (port 2087) now present your own domain's already-issued certificate when you connect using your own domain and port directly, instead of always serving the panel's own certificate and triggering a mismatch warning. Fixed 2026-09-03 — a routing bug meant a domain that also had this direct-port access set up could, in some cases, briefly fail to load at all on that port with a generic browser error, and the memorable webmail. |
| Custom certificate upload | Install a purchased or custom certificate. | Live | Shipped 2026-07-24 — account-side self-service (the account’s own SSL/TLS page); validates the cert and key actually match, isn't expired, and covers the domain (CN and SANs, wildcards included) before anything privileged runs. No separate Controller-side upload action — an admin can trigger Let's Encrypt issuance/reissue and CSR generation from Controller, but installing a purchased certificate is done from the account itself. |
| CSR generation | Generate a certificate signing request. | Live | Shipped 2026-08-04 — a fresh private key and CSR for any hosted site, generated entirely in-process via openssl, never touches disk outside the request. |
| Certificate inventory | Server-wide view of every certificate in use. | Live | Shipped 2026-08-04 — every certificate on the server in one place, hosted sites and the panel's own, each flagged once inside 30 days of expiry. |
| TLS policy configuration | Server-wide protocol/cipher policy. | Live | Shipped 2026-08-04 — choose Modern (TLS 1.3 only) or Intermediate (TLS 1.2+1.3, matching Mozilla's own presets), applied server-wide to every certificate at once. |
Databases
Core is live| Feature | What it does | Status | Note |
|---|---|---|---|
| Database & user management | Create/delete databases and users, manage grants. | Live | Shipped 2026-07-24 — account-side self-service (splits databases, MySQL users, and grants into three connected tables so a user isn't locked to one database); Controller's own Databases pages cover server-wide browsing, maintenance, tuning, and upgrades rather than per-account CRUD. |
| Visual database browser | Browse and query databases without external tools. | Live | Shipped 2026-08-04 — every database on the box, not just panel-managed ones; browse tables/rows and run arbitrary SQL, admin-only, root-equivalent trust matching phpMyAdmin. |
| Database maintenance tools | Repair, monitor, and manage database engine settings. | Live | Shipped 2026-08-04 — server status, live process list with per-process Kill, slow query log toggle, and one-click repair/optimize per database. |
| Database server tuning | Adjust server-wide database performance settings. | Live | Shipped 2026-08-12 — a deliberately small, safe set of the most commonly adjusted settings (connection limits, memory allocation, and similar), not full low-level configuration access. |
| MariaDB version upgrades | Guided major-version database upgrades with a safety net. | Live | Shipped 2026-08-14 — only real, currently-supported LTS releases are offered as targets. A mandatory pre-upgrade snapshot (datadir copy plus a full logical dump) gives a real rollback path; the equivalent tool in some other panels has no built-in backup at all. |
Software & PHP
Strong parity| Feature | What it does | Status | Note |
|---|---|---|---|
| Multiple PHP versions | Install and run several PHP versions side by side; each account picks its own. | Live | Shipped 2026-07-25 — install/default PHP versions and pin domains from WHM PHP Manager, run side by side without CloudLinux. |
| Per-account PHP configuration | Customize PHP settings per account. | Live | Shipped 2026-07-25 — account-side self-service (the account's own MultiPHP INI Editor, one override per domain); uses PHP's own per-directory .user.ini mechanism, isolation enforced by PHP itself rather than application logic. No separate Controller-side editor — PHP version selection and extension management are the Controller-side PHP tools. |
| PHP extension management | Toggle optional PHP extensions. | Live | Includes one-click ionCube Loader installation. |
| OS package management UI | Install system packages from the panel. | Live | Shipped 2026-08-04 — search the server's apt index and install a package on demand, with a live terminal-style log. |
| Perl module installer | Install common Perl modules used by CGI scripts. | Live | Shipped 2026-08-13 — a curated set of commonly used modules (DBI, DBD::mysql, LWP::UserAgent, JSON, and more), installed state read live from the server, one-click install. |
Packages & Resellers
Foundational pieces live| Feature | What it does | Status | Note |
|---|---|---|---|
| Hosting packages | Define hosting plans with limits and quotas. | Live | Shipped 2026-07-24 — disk quota, bandwidth, email/database/addon-domain limits, full CRUD. |
| Reseller accounts | Give a reseller their own scoped set of accounts. | Live | Shipped 2026-08-04 — detail page with usage totals, login suspend (independent of owned accounts), broadcast recipient filter. |
| Per-package feature control | Control which panel features a package's accounts can see. | Live | Shipped 2026-08-04, expanded 2026-08-13 — 34 toggleable features across the whole account panel (FTP, WebDAV, App Installer, Cron, Backups, API Tokens, Directory Privacy, Deploy from Git, Domain Forwarding, Dynamic DNS, Quick Site, Spam Scoring, Greylisting, Mailing Lists, Mail Encryption, Challenge-Response, Database Browser, Traffic & Visitors, IP Blocker, Hotlink/Leech Protection, MultiPHP INI Editor, Optimize Website, Indexes, Error Pages, MIME Types), enforced server-side and reflected in account-side nav. A consolidated Feature Manager page edits every package's feature set from one screen. |
| Account reassignment | Move an account to a different reseller. | Live | Shipped 2026-08-04 — bulk multi-select reassignment from List Accounts. |
| Reseller permission levels | Configurable per-reseller access control. | Live | Shipped 2026-08-04 — 8-permission checklist covering account management and DNS, enforced server-side with matching nav/UI gating. |
| Account migration/transfer | Move accounts between servers, import from another host. | Live | Shipped 2026-08-04 — one-click export of a completed backup to a portable archive; admin-only import creates and restores a fresh account from it (single domain, KNJ-Panel-to-KNJ-Panel). |
| Restore a cPanel account | Bring a real cPanel account backup onto KNJ Panel. | Live | Shipped 2026-08-17, in both places now. Admin side: upload a real cpmove-*.tar.gz and it becomes a whole new account (fresh DNS zone on this server, not the archive's own records). Client panel: an account owner can instead import a backup's content straight into their own existing account — files are only ever added, never overwritten, and a fresh database is created alongside their existing ones. Single-domain accounts only for now. Rebuilt 2026-09-01 on the admin side, tested against a real ~975MB archive for the first time: website files, subdomains, MySQL databases, and every mailbox (with its original password carried over, not reset) are now genuinely restored, along with each mailbox's actual mail content. Only SSL certificates and cron jobs still require manual recreation. Live-verified end to end: 4 subdomains, 7 mailboxes, and 22 databases all restored correctly. Fixed the same day: uploads were silently capped well below the advertised 4GB limit, and a large upload gave no progress feedback beyond the browser's own spinner. Fixed 2026-09-02, found on a real customer restore: generated usernames are now a full 8 characters instead of 7, so every restored database name lines up correctly with the archive's own original; restored databases now carry over their original password directly from the archive instead of a fresh one that no longer matched the site's own already-copied config; and a permissions bug that caused a File Manager error on a restored account's files is fixed. Also fixed 2026-09-02: a generated password containing certain characters could silently corrupt the restored site's own configuration file, and a restored account with more than one subdomain was only getting a working address for the first one — both fixed. Added 2026-09-02: every mailbox's saved contacts, contact groups, and group memberships are now restored automatically too, not left behind. Added 2026-09-03: email forwarders, FTP accounts (with their original password carried over, same as mailboxes), and cron jobs are now restored automatically as well. Added 2026-09-03: every restore now screens the incoming files for known malicious-code patterns before any of it reaches a live account — found necessary on a real customer restore, where the archive turned out to carry hidden backdoor files a standard antivirus scan never caught. A flagged file is simply left out of the restore; a flagged database is restored as normal but clearly flagged for a manual check. Fixed 2026-09-03, same day: a real false positive found testing this against the actual archive it was built to catch — a genuine WordPress core file every restored site depends on could have been wrongly flagged. Fixed by requiring the suspicious pieces to genuinely appear close together, not just somewhere in the same file. |
| Database Search & Replace | Find and swap a value across every table in a database. | Live | Shipped 2026-08-17 — built for the gap the client-panel cPanel restore feature above surfaces: a migrated site's database can still have its old domain baked into a settings table. Runs as the account's own database user, never root. PHP-serialized values (WordPress's own option format) are unpacked, changed, and repacked with a correct byte-length prefix rather than string-replaced in place, which would otherwise quietly corrupt them. |
| Transfer Tool | Pull accounts straight from a live, remote cPanel/WHM server. | Live | Shipped 2026-08-17 — connects over SSH to a remote cPanel/WHM server and runs the same pkgacct WHM's own Transfer Tool uses, then imports the result through the same pipeline as Restore a cPanel Account above. Private-key auth only; every remote command runs through sudo, so a regular account with passwordless sudo works identically to root and root SSH login can stay disabled on the remote server entirely. |
| Convert Addon Domain to Account | Promote an addon domain into its own top-level hosting account. | Live | Shipped 2026-08-17 — its DNS zone, mailboxes, and other domain-specific data move automatically along with it; only the files and a fresh database need provisioning. Also available as an API action so a billing system can trigger the conversion once a customer has paid for a new account, without KNJ Panel itself needing to know anything about pricing. |
Backup & Server Status
Core is live| Feature | What it does | Status | Note |
|---|---|---|---|
| Service status | Live up/down status for every service. | Live | Shipped 2026-07-24 — live status for Nginx, PHP-FPM, MariaDB, fail2ban, SSH, BIND9, and vsftpd. Fixed 2026-09-03 — a single unresponsive service check could hang the whole dashboard indefinitely, wiping out every other service's already-correct status along with it. Each check now times out independently, so one stuck service shows as down without affecting the rest. A second, deeper cause found the same day for a similar-looking hang on a satellite server: a prior fix for the webmail/account address-bar shortcuts had accidentally forced every page on a server to look for its design files in the wrong place, which on a server with no client-panel port at all was silently and permanently refused rather than quickly erroring. Already-live servers fix themselves automatically. Fixed 2026-09-04 — separately from that hang, the dashboard's service-status checks were still running one after another rather than all at once, adding a small but noticeable delay to every dashboard load even when nothing was actually wrong. They now all run at the same time instead, while still keeping each one's own independent timeout, so the page loads noticeably faster with no change in behaviour if something genuinely is down. |
| Automated backups | Scheduled backups with configurable retention. | Live | Shipped 2026-07-31 — local disk, full account backups (files, databases, mail, DNS/FTP config), daily/weekly/monthly schedule with retention, plus on-demand for admin or account owner. |
| Backup restoration | Restore a full account, or a single file or folder. | Live | Shipped 2026-07-31 — a real restore, not a stub, available to both admin and account owner. Extended 2026-08-16: browse a backup's file tree and restore any single file or folder in place, without touching anything else already on disk. |
| Server information | System resource and hardware summary. | Live | Shipped 2026-07-28 — hostname, OS, kernel, IP, uptime, load average, and RAM/disk usage across the top of every page. |
| Live resource monitoring | Disk usage, running processes, ability to stop runaway processes. | Live | Shipped 2026-08-05 — real server-wide process list sorted by CPU usage with a per-process Kill button, plus a full disk usage breakdown across every real filesystem. Killing a process this panel or hosted sites depend on (nginx, PHP-FPM, MariaDB, SSH, BIND) is refused outright. |
| Backup user selection | Choose which accounts are included in the scheduled backup run. | Live | Shipped 2026-08-14 — a per-account checkbox on the scheduled run specifically; on-demand backup of any single account was always available regardless. |
| Off-site backup destinations | Mirror every backup to a remote SFTP/FTP/S3-compatible destination, not just local disk. | Live | Shipped 2026-08-22 — local storage stays authoritative for every restore, browse, and export; a completed backup is additionally fanned out to every enabled remote destination as a mirror. |
Server Configuration
Core is live| Feature | What it does | Status | Note |
|---|---|---|---|
| First-run setup | Guided setup on first login — contact info, domain, certificate. | Live | Shipped 2026-08-18 — a real wizard behind a one-time /setup/{token} link printed at the end of install: accept legal agreements, then create the first admin account with the operator’s own chosen email and password (no auto-generated password), then basic config (hostname, timezone, contact email). Replaced the earlier install flow, which auto-generated and printed a random admin password with no legal-agreement step. |
| Server-wide settings | Web server, PHP, mail, and DNS defaults. | Live | Hostname, timezone, upstream DNS resolvers, and a graceful reboot all live on the Server Setup page (merged with the former separate Server Settings page 2026-08-19); contact/notification emails have their own dedicated Notifications page, alongside dedicated Nginx/PHP/Mail/DNS Settings pages elsewhere in the panel. |
| Server role profiles | Configure a server for a specific role (mail-only, DNS-only, etc). | Live | Shipped 2026-08-18 for DNS-only, Mail-only added 2026-08-21 — same panel codebase, not a forked repo, matching how real cPanel/WHM's own "DNS Only" product works. The install script skips the parts of the stack a given role doesn’t need and installs a smaller, role-specific setup instead; the app itself enforces the restricted mode at runtime, not just in the nav. |
| Timezone configuration | — | Live | Shipped 2026-07-29 — pick any IANA timezone from a dropdown on the Server Setup page, applied via timedatectl. |
| Traffic & visitor statistics | Per-account traffic reporting. | Live | Shipped 2026-08-05 — requests, unique visitors, bandwidth, and a response-status breakdown for any account and month, plus top pages and top referrers, from the same access-log data bandwidth tracking already uses. |
| Multi-server support | Register and manage additional servers. | Live | Shipped 2026-08-18 — a DNS-only box links to a Main server end to end: a one-time linking token, an authenticated enrollment call, and the TSIG key plus current zone list come back and get applied automatically, no manual named.conf editing. Tested for real: creating an account on Main pushes its DNS out to a linked DNS-only server live. Shipped 2026-08-30 — every linked server now reports its own panel version on every connection test and health check, shown on Manage Servers with a 'Latest' pill once current, and Panel Updates gained an 'Update all linked servers' button that updates every satellite from one click with live progress tracked from the main server. Improved 2026-09-01 so that same Linked Servers table refreshes each server's real version and shows an Update available pill on page load, not just the status of whatever update last ran. |
| Panel version & upgrades | See your KNJ Panel version, get notified of new releases, and update with one click — or run the same command over SSH yourself. | Live | Shipped 2026-07-28, one-click Update Now added 2026-08-02. |
| System updates | See and apply pending OS package updates, with a live terminal-style log. | Live | Shipped 2026-07-28. Extended 2026-09-07 — check and apply OS updates across every linked DNS-only or Mail-only server from one screen, the same way Panel Updates already pushes a panel software update to all of them: a table listing every server, how many updates each has pending, whether a reboot is needed, and buttons to update or reboot each one. The local server joined the same table 2026-09-09 (View Packages, Update Server, Reboot Server all in one place), gained a distinct "Updates Available" status, and the page now refreshes pending counts on its own the moment an update or reboot finishes — no page reload needed. |
| Diagnostics | Real-time server status checks — uptime, disk, memory, open ports, and service health — no SSH needed. | Live | Shipped 2026-08-12 — deliberately not a full terminal: real-time checks through the same tightly-controlled path every other admin action already uses, rather than opening unrestricted command access. |
| Server-level cron jobs | Schedule one-off sysadmin tasks that don't belong to any single hosting account. | Live | Shipped 2026-08-14 — same real-crontab approach as the per-account Cron Jobs feature, no SSH needed to set up. |
| Statistics software configuration | Turn on real per-domain traffic statistics, server-wide. | Live | Shipped 2026-08-14 — a global enable toggle and update-interval setting for AWStats, the real tool, not a reimplementation. Genuinely additive to the existing Traffic & Visitors page: browser, OS, search-engine, and referrer breakdowns it doesn't have. |
Everything else
Core is live| Feature | What it does | Status | Note |
|---|---|---|---|
| IP address management | IPv4/IPv6 pools, dedicated IPs per account. | Not Planned | Single shared server IP model today. |
| DNS resolver configuration | The server's own upstream DNS resolvers. | Live | Shipped 2026-07-30 — comma-separated upstream IPv4 resolvers on the Server Setup page, applied via systemd-resolved. |
| Admin notification routing | Who gets alerted on server problems, and about what. | Live | Shipped 2026-07-30, consolidated 2026-08-25 onto a single Notifications page — recipient email (defaults to the first admin account if none is set) and every alert type grouped by severity (Critical/Warning/Info), all in one place. |
| Remote reboot | Reboot the server from the UI. | Live | Shipped 2026-07-30 — a Server Setup danger-zone button schedules a graceful reboot, timed so the confirmation reaches your browser before the box actually goes down. |
| Webhooks | Integrate with external systems via webhooks. | Live | Shipped 2026-08-05, expanded 2026-08-25 — subscribe an endpoint to account and server-health events, delivered as a signed generic payload or a ready-to-use Slack/Discord message. Now lives in the Notifications page's "Connected Platforms" section alongside recipient email and alert toggles. |
On the horizon
Not scheduledBigger ideas we've locked in for later — not part of the feature checklist above and not counted toward it, since these go beyond what a standard hosting panel offers at all.
Marketing emails — campaigns
Send newsletters and marketing emails to your contacts from inside the panel, with per-account/reseller limits and settings you control. Not started — locked in for the future, no timeline yet.
Public demo server
A shared, publicly reachable server to look around on before installing anything yourself — reset nightly so nothing you try breaks it for the next visitor. Planned for once KNJ Panel reaches a stable production release. Not started, no timeline yet.
100% live, out of everything actually planned for this side of the panel. Full build log: Latest Updates →
The account owner's own day-to-day mail toolset. The largest category here, and the one with the most room to grow.
Planned next for account-side mail
Per-mailbox filters and delivery tracking are next, followed by calendar/contacts sync once the underlying sync service exists.
| Feature | What it does | Status | Note |
|---|---|---|---|
| Mailboxes & forwarders | Create/delete mailboxes, forward addresses. | Live | Shipped 2026-07-24 — verified with a real SMTP send, IMAP read-back, and a confirmed non-open-relay test from an external IP. |
| Per-domain mail routing | Choose how mail for a domain is handled — locally or remotely. | Live | Shipped 2026-07-26 — covers your account's primary domain; account-side self-service only, there is no Controller-side action for an admin to configure routing on your behalf. |
| Autoresponders | Automated out-of-office style reply per mailbox. | Live | Shipped 2026-07-26 — set a subject, message, and optional start/stop dates per mailbox. |
| Catch-all address | Route mail sent to a nonexistent address at the domain somewhere useful. | Live | Shipped 2026-07-27. |
| Mailing lists | Announcement/discussion list addresses. | Live | Shipped 2026-08-05 — announcement-style lists (one address, many members); mail sent to it is copied to every member via its own Postfix lookup table, live-verified with a real message landing in two separate mailboxes from one send. |
| Delivery tracking | Search delivery logs for a message's fate. | Live | Shipped 2026-08-05 — a new Delivery Tracking page reuses the same Postfix log reader as the admin side, strictly scoped so an account owner only ever sees activity for their own domain(s). |
| Mail filters (global & per-mailbox) | Rule-based sorting, forwarding, and discarding of incoming mail. | Live | Shipped 2026-08-05 — a new Mail Filters page manages rules for any mailbox on the account directly (previously only reachable via Webmail with that mailbox's own password), with a global option that fans one rule out to every mailbox in one submission. |
| Deliverability checker | Confirm SPF/DKIM/DMARC/PTR are all correctly configured and live. | Live | Shipped 2026-07-26 on the admin side (DNS → Email Deliverability); a real account-side page under Email shipped 2026-08-13 with the same checks plus a one-click repair per domain. |
| Bulk address import | Create many forwarders/list entries at once from a file. | Live | Shipped 2026-08-05 — upload a CSV of local_part,destination_email pairs to bulk-create forwarders; invalid or duplicate rows are skipped individually rather than failing the whole import. |
| Spam scoring (per-account) | Tune spam sensitivity for an individual account. | Live | Shipped 2026-08-05 — a stricter, optional per-account threshold layered on top of the server-wide score every message already gets, filing anything past it into Spam without touching the shared spam-filtering config every other customer also depends on. |
| Mail encryption (S/MIME) | Sign/encrypt mail with a certificate. | Live | Shipped 2026-08-05 — generate a personal certificate per mailbox and download a password-protected bundle to import into your own mail client (Outlook, Apple Mail, Thunderbird), the same division of responsibility cPanel's own Encryption feature uses. |
| Challenge-response spam gate (BoxTrapper) | Require unrecognized senders to confirm before their mail is delivered. | Live | Shipped 2026-08-05, expanded 2026-08-16 — unrecognized senders are held in a Pending folder, never Inbox, until you approve them from the panel. Approving now also releases anything of theirs already held straight into Inbox, and replying to someone via KNJ Webmail auto-approves them too. Approval is owner-reviewed rather than a link the sender clicks, since the panel never keeps a mailbox's own password around for something to check replies later. |
| Greylisting (per-account opt-out) | Choose whether an account participates in server-wide greylisting. | Live | Shipped 2026-08-05 — one toggle per account, using postgrey's own recipient whitelist rather than any change to the shared greylisting daemon, so no other customer's greylisting is ever affected. |
| Calendars & contacts sync | CalDAV/CardDAV calendar and address book sync. | Live | Shipped 2026-08-24 — a real CalDAV/CardDAV server built into the panel itself, same login as IMAP/SMTP/webmail. Implements DNS SRV and .well-known auto-discovery so compatible clients (iOS/macOS Calendar & Contacts, Thunderbird) can find it from just the domain — verified at the protocol level (PROPFIND/MKCALENDAR/PUT/GET round trips, SRV and .well-known resolution), not yet against a real device client. |
| Subscribers & Marketing Email | Subscriber lists with a signup form, plus a campaign sender with open/click tracking. | Live | Shipped 2026-08-24 — single or double opt-in lists, an embeddable signup form, a code-editor-plus-live-preview campaign composer, and real open/click tracking. Targets a list, a pasted set of addresses, or a CSV upload. Shipped 2026-08-30 — a daily stats report email per list: opt in from a new Report tab, pick a destination address and time of day, and optionally skip the email on quiet days with no new activity. Covers new subscribers, unsubscribes, pending double opt-in confirmations, and your current total, over the last 24 hours. Fixed 2026-09-03 — the generated embed already worked as a plain form, but a customized version submitted via JavaScript instead (for a no-reload experience) could be silently blocked by the browser's own cross-site security rules. Now explicitly allowed for this one signup endpoint, whichever way your own page chooses to submit it. Fixed 2026-09-03 — a separate issue for signup forms submitted through your domain's own admin-panel address rather than the direct server address: that shortcut was mistakenly redirecting the signup request somewhere it didn't belong, so it never reached the signup form's endpoint at all. Now routes correctly. |
| Mailbox storage usage | Per-mailbox disk usage breakdown. | Live | Shipped 2026-08-05 — measured live from disk on every page load, shown against each mailbox's quota where one is set. |
| Email Disk Usage cleanup | Clear out what's actually eating your mailbox space — Trash and Junk — without going folder-by-folder in webmail. | Live | Shipped 2026-08-22 — sits alongside the existing per-mailbox usage display, matching cPanel's own Email Disk Usage tool. |
Domains
Core is liveOne unified place to manage every domain attached to an account — including hosting more than one domain per account, which is one of the highest-priority items on the whole roadmap.
| Feature | What it does | Status | Note |
|---|---|---|---|
| Multiple domains per account | Attach additional domains/subdomains to one hosting account. | Live | Shipped 2026-07-26 — Domains page, add/remove addon domains, package limit enforced. |
| Domain forwarding | Redirect a domain's traffic to another URL. | Live | Shipped 2026-07-25 — the target URL is passed to the provisioning script via environment variables rather than string-interpolation, closing off shell-injection. Covers your account's primary domain today; an admin can configure forwarding for any other domain from the Controller side. |
| Force HTTPS redirect | A per-domain switch to force plain-HTTP visitors onto the secure version of the site. | Live | Shipped 2026-09-09 — one switch per domain (including subdomains), right on the Domains page alongside a new Redirects To column and a Retry SSL button. Only usable once a domain has a genuinely active, trusted certificate to redirect to — a self-signed or not-yet-issued certificate leaves the switch disabled rather than offering a control that would just fail. |
| Zone editor | Account-side DNS record editor. | Live | Shipped 2026-07-24 — add, edit, and remove A, AAAA, CNAME, MX, TXT, NS, and SRV records; every change regenerates the zone file and is validated with BIND's own tooling before going live. |
| WordPress management | Ongoing management (updates, staging, cloning) of installed WordPress sites. | Live | Shipped 2026-08-05 — check for and apply core/plugin/theme updates, and clone a full working copy (files plus its own database) to a staging path with internal URLs rewritten automatically; live-verified against a real WordPress install on the dev server. |
| Quick site publisher | A simple starter page for a domain with no site yet. | Live | Shipped 2026-08-05 — publish a title, tagline, and contact email as a starter page for any domain; uses its own template, kept deliberately separate from the fixed placeholder the provisioning script writes at domain creation so it's never silently overwritten. |
| Dynamic DNS | Keep a hostname pointed at a device with a changing IP address. | Live | Shipped 2026-08-05 — each host gets its own A record and a long unguessable update URL to configure on a router or device; live-verified with a real DNS query against the nameserver returning the newly reported IP. |
Files
Core is live| Feature | What it does | Status | Note |
|---|---|---|---|
| File manager | Browse/upload/rename/delete files in the browser. | Live | Shipped 2026-07-24 — scoped strictly to the account's own files; attacked on purpose with path-traversal and planted-symlink payloads before being called done, which also surfaced a debug setting left on in production. |
| Directory password protection | Password-protect a folder. | Live | Shipped 2026-07-27 — password-protect any folder under the account's web root. |
| Disk usage breakdown | Visual per-folder size breakdown. | Live | Shipped 2026-07-27 — a breakdown of what's actually consuming space, not just a single total. |
| WebDAV access | Mount the account's files as a network drive. | Live | Shipped 2026-08-03 — 100% self-service: nothing is auto-created, the account owner creates each WebDAV login themselves, each one jailed to a specific subdirectory (or the whole primary site) of their own choosing. Scoped to the account's primary site; an addon domain's separate document root is not reachable over WebDAV. |
| Backup & restore | Download/restore full or partial account backups. | Live | Shipped 2026-07-31 — Backup Now, per-component download, and a real restore, all self-service. |
| Deploy from Git | Link a repo, get a webhook — push to deploy automatically. | Live | Shipped 2026-08-05 — clone a public HTTPS repository into a subdirectory of a domain; push a webhook to redeploy automatically, or trigger it manually with a live terminal-style log. Live-verified end to end against a real GitHub repository, including a real webhook POST. |
| Image tools | Thumbnail generation, scale, convert image formats. | Live | Shipped 2026-08-05 — generate a thumbnail, resize an image in place, or convert between jpg/png/gif/webp, built directly into File Manager. Live-verified against a real uploaded image, including a real WebP conversion confirmed valid via the file command. |
| In-browser code editor | Open and edit a text or code file straight from File Manager, no download/re-upload round trip. | Live | Shipped 2026-08-25 — real syntax highlighting (CodeMirror 6) across dozens of languages, a dirty-state indicator, and a Ctrl/Cmd+S save shortcut. |
Databases
Core is live| Feature | What it does | Status | Note |
|---|---|---|---|
| Database & user management | Create/delete databases and users, manage grants. | Live | Shipped 2026-07-24 — create/delete databases and users, and grant full or hand-picked privileges to a particular database/user pair. |
| Guided database wizard | Create a database, user, and grants in one guided flow. | Live | Shipped 2026-08-05 — a Quick Setup section creates a database, a user, and a full-access grant in one submission, rolling back whatever it already created if a later step fails. |
| Visual database browser | Browse and query databases without external tools. | Live | Shipped 2026-08-05 — browse tables and rows, and run queries, against your own databases. Queries authenticate as one of your own database users rather than an elevated account, so MySQL's own grant system decides what's allowed — never a path to another account's data. |
| Remote database access | Allow external hosts to connect to the account's databases. | Live | Shipped 2026-08-05 — allow a specific IPv4 address to connect to a database user's own databases. Live-verified with a genuine cross-network connection from an external machine, and confirmed removal actually blocks it again (connection timed out against the real firewall rule, not just an app-level check). |
| phpMyAdmin | The real, industry-standard database tool, built in and always on. | Live | Shipped 2026-08-06 — a permanent fixture of every account, exactly like cPanel's own phpMyAdmin link, never something a hosting package can hide. Signs you straight in as one of your own database users; you never type a database password into a login form. |
Metrics
Core is live| Feature | What it does | Status | Note |
|---|---|---|---|
| Error log viewer | See recent errors from the domain's own error log. | Live | Shipped 2026-08-05 — the last 200 lines of a domain's Nginx error log, newest first, with a site selector for multi-domain accounts. Reads the log file directly (world-readable, same approach as the bandwidth/traffic reporting below) rather than a privileged provisioning action. |
| Bandwidth usage | Monthly transfer graph, per domain. | Live | Account-wide usage shipped 2026-07-30. Per-domain breakdown shipped 2026-08-05 on the same Disk & Bandwidth page, computed on demand from the account's Nginx access logs. |
| Visitor summary | Recent visitor request activity, summarized. | Live | Shipped 2026-08-05 as part of the new Traffic & Visitors page — combined with the Traffic statistics dashboard row below since both draw from the same underlying per-domain stats (requests, unique visitors, status codes, top pages, top referrers). |
| Raw access log download | Download the domain's raw web server logs. | Live | Shipped 2026-07-29 as part of Raw Logs (under Advanced) — download either the access or error log for your domain in full. This roadmap row was simply never updated when it shipped. |
| Traffic statistics dashboard | Graphical visitor/traffic statistics per domain. | Live | Shipped 2026-08-05 — Traffic & Visitors page with a domain + month selector, reusing the same VisitorStatsService the Controller area's own per-account traffic report already used. Combined with the Visitor summary row above rather than building two near-duplicate pages. |
| AWStats | Full browser, OS, search-engine, and referrer breakdowns per domain. | Live | Shipped 2026-08-14 — a new Metrics page per domain with a month picker linking to the real generated report, plus an Update Now button. Requires an admin to turn AWStats on server-wide first (Statistics Software Configuration). |
Security
Core is live| Feature | What it does | Status | Note |
|---|---|---|---|
| SSL/TLS | Automatic and custom certificates per domain. | Live | Shipped 2026-08-06 — every domain on the account, not just the primary one, now has its own certificate issuance, retry, CSR generation, and custom-cert install, with a per-domain ownership check on every action. |
| SSL/TLS status overview | Bulk view of every domain/subdomain's certificate status. | Live | Shipped 2026-08-06 — a bulk table across every domain on the account (status, issuer, expiry), with a click-through to manage any one of them. |
| IP blocking | Block specific IPs/ranges from reaching the account's site. | Live | Shipped 2026-07-27. Extended 2026-09-04 — a block can now be scoped to one specific domain or subdomain on your account instead of always applying account-wide, found necessary after a real attack against a subdomain that account-wide blocking alone wouldn't have stopped. |
| Hotlink protection | Prevent other sites from directly linking to this account's files. | Live | Shipped 2026-07-27. |
| Malware & backdoor scanning for your account | See the results of your account's own scheduled security scans right here, with a plain-English explanation of anything found and a one-click fix for each — and you can run a fresh scan yourself any time you want, for example right after installing a new plugin, without waiting for the next scheduled one. If something genuinely dangerous ever gets found, your account is protected immediately rather than left exposed — but you're never locked out of your own panel over it: log in as normal and you're taken straight to the fix screen. | Live | Shipped 2026-09-04 — your own scan history and fix-it screen, plus a “Scan now” button whenever you want to double-check something yourself, right after installing a new plugin for example. You're emailed directly any time a scan finds something on your account, whether or not it was serious enough to suspend anything — you're not left to notice it yourself the next time you happen to log in. Fixed 2026-09-05 — added to your sidebar for the first time (previously only reachable if you were sent straight to it), and now shows a status overview and recent activity, not just the fix-it list. Improved 2026-09-07 — a real live progress bar and time estimate replaced the old "come back and refresh the page" message. |
| Directory login protection | Auto-lock a password-protected directory when the same login is used from too many distinct IPs. | Live | Shipped 2026-07-27 — detects the same login used from too many distinct IPs and blocks it. |
| Account-level API tokens | Scoped tokens for account-level automation. | Live | Shipped 2026-08-04 — dns:read/dns:write scoped tokens with a real DNS API surface. |
Software
Strong parity| Feature | What it does | Status | Note |
|---|---|---|---|
| Multiple PHP versions | Choose the PHP version for the account. | Live | Shipped 2026-07-25 — switch the account's PHP version from the account panel. Account-wide, not per-domain: every domain on the account shares one PHP-FPM process. Per-domain php.ini overrides are a separate, genuinely per-domain feature — see below. |
| Per-domain PHP configuration | Custom php.ini overrides. | Live | Shipped 2026-07-25 — custom php.ini overrides via PHP's own .user.ini mechanism. |
| One-click app installer | Install common apps beyond just WordPress. | Live | Shipped 2026-08-07 — catalog: WordPress, Drupal, MediaWiki, phpBB, each installed through its own official CLI installer, with a live-log async install flow. Nextcloud was dropped from the catalog 2026-08-17 — better suited to a dedicated server than shared hosting, and its installer has no safe way to keep the admin/DB password off the process list. Extended 2026-09-09: the catalog now groups apps into filterable categories, and Bookstack joined as the first new app since launch — full-tier like WordPress, with update checking, staging clones, and a direct admin login link. |
| Website compression | Enable gzip compression for the account. | Live | Shipped 2026-07-27 — account-wide, applied to the primary domain's vhost; not independently configurable per addon domain. |
| Perl modules | Install common Perl modules for CGI scripts and cron jobs. | Live | Shipped 2026-08-14 — self-service on the same curated module set the Controller side installs from, one-click, no admin needed. |
| PHP PEAR packages | Install common PEAR packages for your own PHP scripts. | Live | Shipped 2026-08-14 — a curated set of real, verified PEAR packages, one-click install, no admin needed. |
Advanced
Core is live| Feature | What it does | Status | Note |
|---|---|---|---|
| Cron jobs | Schedule recurring commands/scripts. | Live | Shipped 2026-07-31 — real crontabs, jobs run as your own account, cPanel-style presets (Every Minute, Once Per Hour, etc.) or manual scheduling. |
| DNS lookup tool | In-browser DNS lookup utility. | Live | Shipped 2026-08-06 — the same live dig-backed lookup the Controller area's own Track DNS tool already had, now reachable from the account side. |
| Directory listing style | Turn a folder's directory listing on or off, per folder. | Live | Shipped 2026-07-27 — a plain on/off toggle per folder, not a choice between multiple listing styles. |
| Custom error pages | Custom 404/500-style pages for the account. | Live | Shipped 2026-07-27 — account-wide, applied to the primary domain's vhost; not independently configurable per addon domain. |
| Custom MIME types | Custom file-type mappings for the account. | Live | Shipped 2026-07-27 — account-wide, applied to the primary domain's vhost; not independently configurable per addon domain. |
Preferences
Core is live| Feature | What it does | Status | Note |
|---|---|---|---|
| Account preferences | Notification and contact preferences. | Live | Shipped 2026-07-27. |
| Password & two-factor | Change password, enable 2FA. | Live | Self-service password change and two-factor authentication (authenticator app, recovery codes, or an emailed one-time code) are both on the My Profile page. This row was simply never updated after password change shipped — it's been live since before this session started. |
| Sub-accounts | Create additional logins sharing email/FTP/file access. | Live | Shipped 2026-08-06 as Team Access, below — both rows describe the same feature: invite a collaborator by email, they get their own login scoped to exactly the areas you grant (Files, Domains, Email, Databases, Metrics, Security, Software, Advanced, Preferences). |
| Team access | Invite other people to access this account with scoped roles. | Live | Shipped 2026-08-06. Email-invite flow with a per-collaborator permission checklist — collaborators never see your password, and nothing here can grant access to manage other people's access. |
On the horizon
Not scheduledBigger ideas we've locked in for later — not part of the feature checklist above and not counted toward it, since these go beyond what a standard hosting panel offers at all.
Marketing emails — subscribe forms
Generate a subscribe form for your own site, right from your account panel — visitors who sign up build your own subscriber list automatically. Includes a welcome email and regular new-subscriber/unsubscribe stats. Not started — locked in for the future, no timeline yet.
Public demo server
The same shared demo server, on the Client Panel side — try the account/customer experience before you install. Reset nightly. Planned for once KNJ Panel reaches a stable production release. Not started, no timeline yet.