CI / Build & Test (push) Successful in 2m44s
- 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
89 lines
2.3 KiB
JSON
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": [
|
|
"*://*/*"
|
|
]
|
|
} |