shadstoneofficial/skyinclude-browser
Project Overview
SkyInclude Browser
An Electron desktop browser that resolves and browses Handshake (HNS) decentralized domains alongside normal websites.
True Intent (AI Assessment)
A legitimate Electron desktop browser providing native Handshake (HNS) domain resolution and browsing.
README Accuracy
Notes
The code closely matches the README's stated purpose. DoH resolvers, the local proxy concept, HeadlessDomains manifest lookups, and DANE/TLSA certificate inspection all appear in the source. The rejectUnauthorized:false setting in TLS inspection is contextually appropriate for HNS DANE verification, not a security concern. No obfuscation, telemetry, or suspicious network behavior observed.
SkyInclude Browser is a desktop web browser built on Electron that adds native support for Handshake (HNS) domain names. Beyond browsing standard DNS websites, it can resolve blockchain-based Handshake names using DNS-over-HTTPS and route their traffic through a local in-app proxy so the native hostname, paths, and cookies are preserved.
The problem it targets is that Handshake domains (a decentralized naming system in the Web3 space) are not resolvable by conventional browsers. Users normally need special resolvers, browser extensions, or public gateways to reach these sites. This app bundles that resolution logic directly into a browser so HNS names like 'skyinclude' or 'handshake.mercenary' work out of the box.
It is aimed at Handshake ecosystem users, developers, and testers who want to browse HNS domains natively. Users install a packaged desktop app (DMG for macOS, NSIS installer for Windows, AppImage/deb for Linux), then type either normal or HNS domains into the address bar. A local settings UI lets them configure resolvers and privacy options.
Technically, the main Electron process (main.js) manages tabs and runs a local HTTP proxy. resolver.js performs HNS resolution via DoH endpoints (hnsdoh.com, hdns.io) and can query HeadlessDomains manifests for '.agent'/'.chatbot' names, plus parse HNS TXT bio records. hns-tls.js inspects TLS certificates (supporting DANE/TLSA verification), preload.js exposes a whitelisted IPC bridge to the renderer, and history.js/settings.js persist local data as JSON files.
The code is clean and reasonably structured. Notable good patterns: the preload script uses contextBridge with an explicit allowlist of IPC channels rather than exposing the full ipcRenderer, and CI runs npm audit plus syntax/unit tests. One minor red flag is that hns-tls.js connects with rejectUnauthorized:false, but this is expected behavior for a browser that must self-verify HNS certificates via DANE/TLSA rather than the standard CA chain.
| Languages | JavaScript, HTML, CSS, Shell |
| Runtime | Node.js 18+ (Electron 42) |
| Framework | Electron |
| Database | None (local JSON files for history and settings) |
| Package Manager | npm |
| Key Dependencies | electron, electron-builder, Node core modules (tls, crypto, dns, https, http) |
| Build Tool | electron-builder |
| Test Framework | Node built-in test runner (node --test) |