@@ -89,7 +89,7 @@ Holesail Browser is composed of three parts: a browser extension, a native host
|
||||
|
||||
| File | Purpose |
|
||||
|------|---------|
|
||||
| `state.js` | `loadState()`, `saveStateSync()`, `buildDefaultState()`. Handles `state.json` read/write and migration from the legacy `holesail-persist.json` format. |
|
||||
| `state.js` | `loadState()`, `saveStateSync()`, `buildDefaultState()`, `getDeviceNames()`, `setDeviceNames()`. Handles `state.json` read/write and migration from the legacy `holesail-persist.json` format; maintains an in-memory `deviceNames` cache so device names are never lost on save. |
|
||||
| `settings.js` | `getSettings()`, `updateSettings()`, `getProxyPort()`, `setProxyPort()`. Owns `currentSettings` and `runtimeProxyPort`. |
|
||||
| `connections.js` | `getSshConnections/set`, `getRdpConnections/set`. Owns the in-memory SSH and RDP connection lists (persisted in `state.json`, not live sessions). |
|
||||
| `port-allocator.js` | `allocateTunnelPort()`, `releaseTunnelPort()`. Manages the virtual-host tunnel port pool starting at 19000 with a free list for recycling. |
|
||||
|
||||
+1
-17
@@ -193,7 +193,7 @@ Stop and restart a service tunnel with the same (or updated) parameters. Used by
|
||||
|
||||
---
|
||||
|
||||
### `lookupTunnel`
|
||||
### `lookup`
|
||||
|
||||
Check whether an `hs://` key is reachable on the DHT.
|
||||
|
||||
@@ -572,22 +572,6 @@ On error: `{ "ok": false, "error": "..." }`
|
||||
|
||||
---
|
||||
|
||||
### `getLogs`
|
||||
|
||||
Get recent log lines from the native host log file.
|
||||
|
||||
**Request payload:**
|
||||
```json
|
||||
{ "lines": 100 }
|
||||
```
|
||||
|
||||
**Response payload:**
|
||||
```json
|
||||
{ "ok": true, "logs": "...\n[2026-02-28T12:00:00.000Z] ..." }
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Events
|
||||
|
||||
Events are sent by the native host without a corresponding request. The extension broadcasts them to subscribed tabs.
|
||||
|
||||
+1
-1
@@ -31,7 +31,7 @@ You can link more than two devices to the same sync group. From any device that
|
||||
|
||||
## Master and persistence
|
||||
|
||||
The device that creates the sync group (first to click **Create invite** when not linked) is the **Master** and is shown with a **MASTER** label in the Linked devices table. The same sync group is reused when the native host restarts: identity is stored in `autopass-identity.json` and the autopass instance is reopened with the same discovery key.
|
||||
The device that creates the sync group (first to click **Create invite** when not linked) is the **Master** and is shown with a **MASTER** label in the Linked devices table. The same sync group is reused when the native host restarts: identity is stored in `autopass-identity.json` and the autopass instance is reopened so this device remains in the same group and stays writable.
|
||||
|
||||
## Offline and back online
|
||||
|
||||
|
||||
Reference in New Issue
Block a user