feat: phone login via QR when the saved Mudfish login expires
When autologin is rejected the panel offers '휴대폰으로 로그인 (QR)'. It opens a 5-minute LAN relay to the launcher UI guarded by a one-time token (first phone to open the QR URL is the only client allowed) and shows the URL as a QR code. The relay closes as soon as a new session appears, on cancel, on expiry, and on unload. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
1 parent
d8f1c05372
commit
7513fef6f8
12 files changed
+586
-7
No files matched your search
@@ -17,6 +17,8 @@ export interface VpnState {
|
||||
country: string | null;
|
||||
connected_since: number | null;
|
||||
tunnel: boolean;
|
||||
need_login: boolean;
|
||||
login: { url: string; expires_at: number } | null;
|
||||
}
|
||||
|
||||
export const getState = callable<[], VpnState>("get_state");
|
||||
@@ -24,3 +26,5 @@ export const connect = callable<[], VpnState>("connect");
|
||||
export const disconnect = callable<[], VpnState>("disconnect");
|
||||
export const setNode = callable<[choice: string], VpnState>("set_node");
|
||||
export const listNodes = callable<[], NodeInfo[]>("list_nodes");
|
||||
export const startLogin = callable<[], VpnState>("start_login");
|
||||
export const stopLogin = callable<[], VpnState>("stop_login");
|
||||
Reference in new issue
Block a user