Configuration File Location
SlipStream GUI stores configuration insettings.json located in the Electron userData directory:
- macOS:
~/Library/Application Support/SlipStream GUI/settings.json - Windows:
%APPDATA%\SlipStream GUI\settings.json - Linux:
~/.config/SlipStream GUI/settings.json
Configuration Schema
The settings file is a JSON object with the following structure:Settings Fields
resolver
DNS resolver address in
IP:port format. Used by the SlipStream client for DNS tunneling.Example values:8.8.8.8:53(Google DNS)1.1.1.1:53(Cloudflare DNS)9.9.9.9:53(Quad9 DNS)
domain
Tunnel domain for SlipStream DNS tunneling. Must match your server configuration.Example:
s.example.commode
Connection mode. Currently only
proxy mode is fully supported.Possible values:proxy- HTTP/SOCKS5 proxy mode (recommended)tun- TUN device mode (experimental)
verbose
Enable verbose logging for debugging. When enabled, all HTTP CONNECT requests and proxy traffic are logged in detail.
socks5AuthEnabled
Enable SOCKS5 authentication. When enabled, the local SOCKS5 proxy (port 5201) requires username/password authentication.
socks5AuthUsername
SOCKS5 authentication username. Only used when
socks5AuthEnabled is true.socks5AuthPassword
SOCKS5 authentication password. Only used when
socks5AuthEnabled is true.systemProxyEnabledByApp
Internal flag tracking whether the system proxy was enabled by this application. Used for safe cleanup on exit.
systemProxyServiceName
Network service name used for system proxy configuration (macOS only). Example:
Wi-Fi or Ethernet.proxyBypassList
List of domains or IP addresses that should bypass the proxy (split tunneling).Example:
workspaces
Array of workspace/preset configurations. Each workspace stores a unique combination of resolver, domain, and bypass list.Workspace object structure:
activeWorkspaceId
ID of the currently active workspace. When set, the application loads settings from that workspace.
Settings Persistence
Settings are automatically saved to disk whenever changed through the UI or IPC API. The application:- Updates in-memory state immediately for instant UI response
- Writes to disk synchronously using
fs.writeFileSync() - Validates settings on load and applies defaults for missing fields
Settings Migration
On first launch, the application performs a one-time migration:main.js
app.asar archive.
Default Values
Default values are defined as constants inmain.js:
main.js