Overview
SlipStream GUI uses Electron’s IPC (Inter-Process Communication) system to communicate between the renderer process (UI) and main process (Node.js backend). All handlers are registered usingipcMain.handle() and invoked from the renderer using ipcRenderer.invoke().
Service Control
start-service
Starts the VPN service with specified settings.Whether the service started successfully
Status message describing the result
Detailed status information about running services
index.html
stop-service
Stops the VPN service and disables system proxy if it was enabled by the app.Whether the service stopped successfully
Status message
Updated status details after stopping
index.html
get-status
Returns the current VPN connection status.Whether the VPN is currently active
Detailed status information including client, proxy, and system proxy states
index.html
Settings Management
get-settings
Retrieves current application settings.Current DNS resolver
Current tunnel domain
Connection mode (
proxy or tun)Verbose logging enabled
SOCKS5 authentication enabled
SOCKS5 username
SOCKS5 password
List of workspace configurations
Currently active workspace ID
index.html
set-resolver
Updates the DNS resolver setting.Whether the resolver was updated successfully
The normalized resolver value (port forced to 53)
Error message if validation failed
index.html
set-verbose
Toggles verbose logging mode.Enable or disable verbose logging
Always
trueCurrent verbose mode state
index.html
set-socks5-auth
Configures SOCKS5 authentication settings.Always
trueUpdated authentication state
Updated username
Updated password
index.html
Proxy Management
toggle-system-proxy
Enables or disables the system proxy configuration.true to enable system proxy, false to disableWhether the operation succeeded
Current system proxy state
index.html
check-system-proxy
Checks the current system proxy configuration status.Whether system proxy is currently configured
index.html
set-proxy-bypass-list
Configures domains/IPs that should bypass the proxy.Array of domain patterns or IP addresses (e.g.,
["localhost", "*.local", "192.168.*"])Whether the list was updated
Sanitized bypass list (deduplicated and trimmed)
index.html
get-proxy-bypass-list
Retrieves the current proxy bypass list.Always
trueCurrent bypass list
index.html
Testing
test-proxy
Tests the proxy connection by making a request to httpbin.org.Whether the test succeeded
External IP address returned by httpbin (if successful)
Response time in milliseconds
Error message if test failed
index.html
dns-check-single
Tests a single DNS server for reachability and DNS resolution.DNS server IP or IP:port (e.g.,
8.8.8.8 or 8.8.8.8:53)Test domain to resolve (e.g.,
google.com)Ping timeout in milliseconds (default: 2000)
DNS resolution timeout in milliseconds (default: 2500)
Whether the check completed (not necessarily successful)
Server address used for Node.js DNS resolution
Server IP address
Server port
Status:
OK, Ping Only, or UnreachablePing test results with
ok and time fieldsDNS resolution results with
ok, time, and optional error fieldsindex.html
Workspaces
get-workspaces
Retrieves all workspace configurations.Always
trueArray of workspace objects
Currently active workspace ID
index.html
save-workspaces
Saves workspace configurations and sets the active workspace.Whether the save succeeded
Sanitized workspace array
Active workspace ID after save
Error message if save failed
index.html
Utility
get-version
Returns the application version from package.json.Version string (e.g.,
1.0.5)index.html
check-update
Checks GitHub for available updates.Whether the check succeeded
Whether a newer version is available
Current application version
Latest version available on GitHub
URL to the GitHub release page
Release notes from GitHub
index.html
open-external
Opens a URL in the system default browser.URL to open
Whether the URL was opened successfully
Error message if opening failed
index.html