Add native 2FA / TOTP support for panel login

Hi Remnawave Team,

First of all, thank you for all the incredible work you’ve put into this panel. It’s an amazing tool and has made managing proxies incredibly simple.

I’m opening this ticket to request a security feature that I think would benefit a lot of users: native Two-Factor Authentication (2FA) via TOTP (like Google Authenticator, Aegis, or Bitwarden) directly on the panel’s login screen.

There are already some great options available, such as Passkey, Telegram, GitHub, PocketID, Keycloak, and Generic OAuth2. While these options are fantastic, they primarily serve as alternative login methods to replace the traditional password login entirely.

What I am looking for is a way to harden the standard password login itself. Many users still prefer or need to use a standard username and password combination, but want to secure it natively without needing to configure separate external infrastructure like tinyauth for Nginx or Cloudflare Zero Trust.

Having a native TOTP 2FA option right in the panel would make password-based accounts significantly more secure out of the box in a very easy, straightforward way. Ideally, it could just be a setting linked to the “Password” method. When enabled, it would generate a standard QR code and a backup key, then prompt for the 6-digit verification code immediately after entering the password on the login screen.

Adding native TOTP would give us a universally understood way to fortify password logins against brute-force attempts and credential leaks without forcing users to switch entirely to a different platform or external identity provider.

Thanks again for your time and for continuously improving Remnawave! Let me know what you think.

I want to point out that there is much more sense in such solutions. Because in the case of a leak of the API token, or a temporary admin’s auth token from the browser - an attacker can gain access to the panel. TOTP won’t save in such a case. But solutions like tinyauth, Cloudflare Zero Trust, OAuth2-Proxy, and other options (for example, access only from your personal proxy server by IP address, or access only via NetBird/Tailscale/ZeroTier) - can really save the day.