SkyInclude Browser is an Electron desktop browser for regular websites and Handshake (HNS) domains.
It resolves HNS names with DNS-over-HTTPS, supports HeadlessDomains agent/chatbot manifests, and routes HNS HTTP traffic through a local in-app proxy so sites can keep their native hostname, paths, cookies, and redirects.
- Browse normal DNS sites like
google.com - Browse HNS sites like
skyinclude,setup.skyinclude,handshake.mercenary, andhandshake.mastermind - Preserve native HNS hostnames in the address bar, including inner paths
- Resolve
.agentand.chatbotnames through HeadlessDomains manifests - Open new-window links as managed browser tabs
- Local settings UI for ordered binary-DoH and DNS-JSON resolvers, health testing, and privacy options
Requirements:
- Node.js 18+
- npm
Install and run:
npm install
npm startRun syntax checks:
npm testBuild macOS DMGs:
npm run build-macBuild release artifacts for macOS, Windows, and Ubuntu:
gh workflow run release.yml --repo shadstoneofficial/skyinclude-browser --ref mainRelease tags matching v* also trigger the artifact workflow. See docs/releasing.md.
Build output is written to dist/, which is intentionally ignored by git.
The browser handles HNS domains in two stages:
- The main process tries to resolve a hostname with HNS DNS-over-HTTPS.
- HNS HTTP traffic is loaded through a local proxy, which preserves the original HNS
Hostheader while forwarding to the resolved IP address.
This avoids raw-IP browsing issues where hosted sites return the wrong virtual host or redirect away from the native HNS name.
More detail: docs/hns-resolution.md
If a tester does not have SkyInclude Browser installed yet, use the public gateway fallback:
https://<name>.hns.best
Example: https://skyinclude.hns.best
skyincludesetup.skyincludehandshake.mercenaryhandshake.mastermindjanice.agentgoogle.com
On macOS, debug logs are written to:
~/Library/Application Support/skyinclude-browser/skyinclude-debug.log
.
├── main.js # Electron main process, tabs, HNS proxy
├── resolver.js # HNS DoH and HeadlessDomains resolution
├── renderer.js # Browser chrome UI
├── preload.js # Safe IPC bridge
├── settings.js # Local settings persistence
├── settings-ui.html # Settings window
├── history.js # Local browsing history
├── index.html # Main browser UI
├── styles.css # Browser UI styles
├── announcement.html # Home page
└── assets/ # App icons
MIT