Files
holesail-browser/extension/manifest.json
T
Raven Scott 849897f324
CI / Build & Test (push) Successful in 2m44s
feat: implement 13 features — auto-reconnect, notifications, bulk actions, latency, traffic, theme, export/import, scheduled backups, peer lookup, SSH auto-reconnect, log filters, keyboard shortcut, and readyTimeout default
- Change readyTimeoutMs default from 0 to 30000 in both state files
- Register Alt+Shift+H keyboard shortcut via manifest _execute_action command
- Add severity filter buttons (All/Info/Warn/Error) and Download .txt to Logs page; background logs.js now tags entries with proper level field
- Fire browser notifications on tunnelError events (notifyOnTunnelError setting)
- Add exponential-backoff auto-reconnect for virtual hosts and service tunnels (tunnelAutoReconnect setting, 5s–120s backoff)
- Add backupIntervalHours setting and scheduled auto-backup timer in message-router.js
- Add TCP connect latency badges to Virtual Hosts and Service Tunnels tables via new pingTunnel native message
- Add bytesIn/bytesOut/requests counters to https-proxy.js; expose in Overview status bar via getState
- Add Export/Import connection configs (JSON, no CA key) in Settings
- Add autoReconnect flag and exponential-backoff reconnect to SSH connection cards
- Add light theme CSS variables and theme toggle in Settings (persisted to localStorage)
- Add checkbox column and bulk Stop/Remove actions to Virtual Hosts, Service Tunnels, and Servers tables
- Add Peer Lookup UI card on Overview page using existing lookup message handler
2026-02-28 23:51:14 -05:00

89 lines
2.3 KiB
JSON

{
"manifest_version": 3,
"name": "Holesail Browser",
"version": "1.0.0",
"description": "P2P Holesail tunnels in the browser via native messaging host — open hs:// URLs with valid certificates",
"key": "MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAmpSyoCuwrSnyspandk7hcQ3rTVegPWPyABcn9qX9EMleN7FIPRN81Z31IPXnbMDfXavnAnUc0vEH1ujtv/PAjew58kN4CFUTE1opU15v6dzn+ltrtG1aX+9dwYAOBsxKFU5TzfXI4SvixWzEGjJ1Irh4QEYJh4/C1A8mOdF+VvIA4y5ko7npH+7SRmCnxQ+c4Jh7gmG7qvblEHZzvM5VxT0H4gXivxD7+ABDQFnlet8ojVgyN6azND4BuPER5672vRdzjr4Emd9bL1L3N9QzQzvT7tUdFkJ2Giph9Bog9yyymnxbb8S4u0u8OlDdLBQlCWrERoYxHG9QGZse1EFWsQIDAQAB",
"permissions": [
"nativeMessaging",
"notifications",
"tabs",
"declarativeNetRequest",
"proxy"
],
"commands": {
"_execute_action": {
"suggested_key": {
"default": "Alt+Shift+H",
"mac": "Alt+Shift+H"
},
"description": "Open Holesail Dashboard"
}
},
"action": {
"default_title": "Holesail Dashboard",
"default_icon": {
"16": "icons/16.png",
"32": "icons/32.png",
"48": "icons/48.png",
"128": "icons/128.png"
}
},
"background": {
"service_worker": "background.js"
},
"content_scripts": [
{
"matches": [
"http://*/*",
"https://*/*"
],
"js": [
"content.js"
],
"run_at": "document_start"
}
],
"web_accessible_resources": [
{
"resources": [
"vendor/xterm.js",
"vendor/xterm-addon-fit.js",
"vendor/xterm.css",
"vendor/novnc.js",
"wrong-domain.html",
"dashboard/dashboard.html",
"dashboard/dashboard.css",
"dashboard/data/*.js",
"dashboard/core/*.js",
"dashboard/ui/*.js",
"dashboard/pages/*.js",
"dashboard/refresh.js",
"dashboard/events.js",
"background/*.js"
],
"matches": [
"chrome-extension://*/*"
]
}
],
"icons": {
"16": "icons/16.png",
"32": "icons/32.png",
"48": "icons/48.png",
"128": "icons/128.png"
},
"browser_specific_settings": {
"gecko": {
"id": "[email protected]",
"strict_min_version": "109.0"
}
},
"host_permissions": [
"*://*.host.local/*",
"*://*.hole.sail/*"
],
"optional_host_permissions": [
"*://*/*"
]
}