- Go stdlib-only gateway: serves noVNC client, password auth, WS<->TCP relay - auth: PBKDF2-HMAC-SHA256 password hash, HMAC session cookies, login rate limit - relay: hand-written RFC 6455 WebSocket + transparent RFB bridge - vncspawner: cross-OS VNC server detection/launch (Windows/Linux/macOS) - server: /login /logout /vnc /api/status routes, session middleware, embed.FS - scripts: get-novnc, get-vnc (zip-verified), list-ips, open-firewall - run.bat: one-click launcher (asks only password), lists access IPs - README/AGENTS.md (Russian), .gitignore (root-anchored binaries)
20 lines
524 B
Go
20 lines
524 B
Go
//go:build darwin
|
|
|
|
package vncspawner
|
|
|
|
// detectDarwin enables the macOS built-in Screen Sharing service.
|
|
func candidates() []Candidate {
|
|
return []Candidate{
|
|
{
|
|
Path: "/System/Library/CoreServices/RemoteManagement/ARDAgent.app/Contents/Resources/kickstart",
|
|
Args: []string{
|
|
"-activate", "-configure", "-access", "-off",
|
|
"-restart", "-agent",
|
|
"-configure", "-allowAccessFor", "-allUsers",
|
|
"-configure", "-clientopts", "-setreqperm", "-no",
|
|
},
|
|
Desc: "macOS Screen Sharing (kickstart)",
|
|
},
|
|
}
|
|
}
|