feat: expose controller through decky backend

Prepare signs in on load (never connects), system CA bundle for HTTPS,
root-owned deploy extraction.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
ysj7705andClaude Opus 5.5 committed 2026-10-24 20:50:57 +09:00
1 parent 4e27e29225
commit 384d0a75f0
8 files changed
+131 -5

No files matched your search

+25
View File
@@ -0,0 +1,25 @@
import { callable } from "@decky/api";
export type Phase = "off" | "connecting" | "on" | "error" | "missing";
export interface NodeInfo {
sid: number;
label: string;
rtt: number | null;
}
export interface VpnState {
phase: Phase;
message: string | null;
node_mode: "auto" | "manual";
node: NodeInfo | null;
ip: string | null;
country: string | null;
connected_since: number | null;
}
export const getState = callable<[], VpnState>("get_state");
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");