+25
-25
@@ -8,12 +8,12 @@ Holesail Browser is composed of three parts: a browser extension, a native host
|
||||
┌─────────────────────────────────────────────────────────────────┐
|
||||
│ Browser (Chrome / Firefox) │
|
||||
│ │
|
||||
│ ┌──────────────┐ ┌──────────────────────────────────────┐ │
|
||||
│ │ background.js│ │ dashboard.html / dashboard.js │ │
|
||||
│ │ (service │◄──►│ (management UI — virtual hosts, │ │
|
||||
│ │ worker) │ │ SSH, RDP, backups, settings, logs) │ │
|
||||
│ └──────┬───────┘ └──────────────────────────────────────┘ │
|
||||
│ │ PAC script: *.hole.sail → PROXY 127.0.0.1:8442 │
|
||||
│ ┌──────────────┐ ┌──────────────────────────────────────┐ │
|
||||
│ │ background.js│ │ dashboard.html / dashboard.js │ │
|
||||
│ │ (service │◄──►│ (management UI — virtual hosts, │ │
|
||||
│ │ worker) │ │ SSH, RDP, backups, settings, logs) │ │
|
||||
│ └──────┬───────┘ └──────────────────────────────────────┘ │
|
||||
│ │ PAC script: *.hole.sail → PROXY 127.0.0.1:8442 │
|
||||
│ │ Native messaging: chrome.runtime.connectNative(...) │
|
||||
└─────────┼───────────────────────────────────────────────────────┘
|
||||
│ stdin/stdout (4-byte length-prefixed JSON)
|
||||
@@ -21,26 +21,26 @@ Holesail Browser is composed of three parts: a browser extension, a native host
|
||||
┌─────────────────────────────────────────────────────────────────┐
|
||||
│ Native Host (~/.holesail-browser/holesail-browser-host) │
|
||||
│ │
|
||||
│ ┌──────────┐ ┌──────────────────┐ ┌──────────────────────┐ │
|
||||
│ │ host.js │ │ holesail- │ │ certificate- │ │
|
||||
│ │ (command │ │ manager.js │ │ authority.js │ │
|
||||
│ │ dispatch)│ │ (tunnel lifecycle│ │ (root CA + domain │ │
|
||||
│ └────┬─────┘ │ + state.json) │ │ cert generation, │ │
|
||||
│ │ └────────┬─────────┘ │ keychain install) │ │
|
||||
│ │ │ └──────────────────────┘ │
|
||||
│ ┌────▼─────────────────▼──────────────────────────────────┐ │
|
||||
│ │ https-proxy.js connect-proxy.js │ │
|
||||
│ │ 127.0.0.1:8443 127.0.0.1:8442 │ │
|
||||
│ │ (TLS termination, (HTTP CONNECT handler, │ │
|
||||
│ │ wildcard *.hole.sail pipes to 127.0.0.1:8443) │ │
|
||||
│ │ cert, HTTP forwarding) │ │
|
||||
│ └─────────────────────────────────────────────────────────┘ │
|
||||
│ ┌──────────┐ ┌──────────────────┐ ┌──────────────────────┐ │
|
||||
│ │ host.js │ │ holesail- │ │ certificate- │ │
|
||||
│ │ (command │ │ manager.js │ │ authority.js │ │
|
||||
│ │ dispatch)│ │ (tunnel lifecycle│ │ (root CA + domain │ │
|
||||
│ └────┬─────┘ │ + state.json) │ │ cert generation, │ │
|
||||
│ │ └────────┬─────────┘ │ keychain install) │ │
|
||||
│ │ │ └──────────────────────┘ │
|
||||
│ ┌────▼─────────────────▼──────────────────────────────────┐ │
|
||||
│ │ https-proxy.js connect-proxy.js │ │
|
||||
│ │ 127.0.0.1:8443 127.0.0.1:8442 │ │
|
||||
│ │ (TLS termination, (HTTP CONNECT handler, │ │
|
||||
│ │ wildcard *.hole.sail pipes to 127.0.0.1:8443) │ │
|
||||
│ │ cert, HTTP forwarding) │ │
|
||||
│ └─────────────────────────────────────────────────────────┘ │
|
||||
│ │
|
||||
│ ┌──────────────┐ ┌──────────────┐ ┌──────────────────────┐ │
|
||||
│ │ ssh-manager │ │ rdp-manager │ │ backup-manager │ │
|
||||
│ │ (PTY + WS │ │ (VNC/RDP + │ │ (tar.gz snapshots) │ │
|
||||
│ │ bridge) │ │ WS bridge) │ │ │ │
|
||||
│ └──────────────┘ └──────────────┘ └──────────────────────┘ │
|
||||
│ ┌──────────────┐ ┌──────────────┐ ┌──────────────────────┐ │
|
||||
│ │ ssh-manager │ │ rdp-manager │ │ backup-manager │ │
|
||||
│ │ (PTY + WS │ │ (VNC/RDP + │ │ (tar.gz snapshots) │ │
|
||||
│ │ bridge) │ │ WS bridge) │ │ │ │
|
||||
│ └──────────────┘ └──────────────┘ └──────────────────────┘ │
|
||||
└─────────────────────────────────────────────────────────────────┘
|
||||
│
|
||||
│ Holesail P2P (Noise protocol, DHT)
|
||||
|
||||
Reference in New Issue
Block a user