Skip to content

mirzaaghazadeh/SlipStreamGUI

Repository files navigation

SlipStream GUI

SlipStream GUI Screenshot


A modern, cross-platform GUI client for SlipStream VPN
Provides secure, system-wide tunneling through an HTTP proxy interface

πŸ‘€ Tour

  • Install the app from the latest release
  • Set your server (Domain) and DNS Resolver (one or more, separated by spaces/commas/new lines)
  • DNS Checker (optional): run it, and click "Use" on any OK row to set your DNS Resolver
  • FindNS Scanner (advanced, NoizDNS users): open FindNS from the header to scan public DNS resolvers for tunnel compatibility and click "Use" to apply a result as your DNS Resolver
  • Start VPN and watch the Status indicators turn β€œRunning”
  • Verify with β€œTest Proxy Connection” and check the Logs panel if needed
  • Optional: Share your VPN over Wi‑Fi to your phone using the built-in HTTP proxy (8080)

πŸ“₯ Download & Install

Latest Release

Direct downloads (latest release):

Platform Download
macOS (Apple Silicon) SlipStream-GUI-macOS-ARM64.dmg
macOS (Intel) SlipStream-GUI-macOS-Intel.dmg
Windows (64-bit) Installer SlipStream-GUI-Windows-x64.exe
Windows (64-bit) Portable SlipStream-GUI-Windows-x64-Portable.exe
Windows (32-bit) Installer SlipStream-GUI-Windows-x86.exe
Windows (32-bit) Portable SlipStream-GUI-Windows-x86-Portable.exe
Linux (x86_64) AppImage SlipStream-GUI-Linux-x64.AppImage
Linux (x86_64) DEB SlipStream-GUI-Linux-x64.deb

If a direct download fails, use the Releases page.

Quick Install

  1. Download the latest release for your platform from the Releases page
  2. Install the application (double-click the installer)
  3. Run the app and click "Start VPN"

That's it! No additional setup required.


πŸš€ Quick Start Guide

First Time Setup

  1. Launch SlipStream GUI after installation

  2. Configure Settings (optional):

    • DNS Resolver: Your DNS server (default: 8.8.8.8:53)
    • Domain: Your SlipStream server domain (default: s.example.com)
    • System Proxy: Toggle to auto-configure system proxy (recommended)
    • Proxy Bypass List: Add domains or IPs to exclude from the proxy (one per line, e.g. *.google.com, 192.168.1.0/24)
  3. DNS Checker (optional, recommended if you're unsure about DNS):

    • Click "DNS Checker"
    • Enter a test domain (example: google.com)
    • Enter one or more DNS server IPs to test (you can paste large lists; up to 100 servers are checked in parallel)
    • OK = OK (no action needed)
    • Click "Use" on any OK row to auto-set your DNS Resolver (the app will force port 53)
  4. Start the VPN:

    • Click the "Start VPN" button
    • Wait for status indicators to show "Running"
    • Your traffic is now routed through SlipStream!

Using the VPN

  • Status Panel: Monitor connection status in real-time
  • Logs Panel: View connection activity and debug information
  • Verbose Logging: Toggle detailed logs for troubleshooting
  • Test Connection: Use the "Test Proxy Connection" button to verify functionality
  • Stop VPN: Click "Stop VPN" when you want to disconnect

NoizDNS (SlipNet) Mode (Optional)

If your server admin gives you a slipnet://... URL (from NoizDNS / SlipNet), you can use the alternative SlipNet (NoizDNS) connection mode:

  1. In Configuration β†’ Connection Type, select SlipNet (NoizDNS) instead of SlipStream
  2. Paste your slipnet://BASE64... URL into SlipNet URL
  3. (Optional) Set a DNS Server for SlipNet lookups (for example a tunnel-friendly resolver)
  4. Click Start VPN – the rest of the workflow (status, logs, proxy sharing) is the same as SlipStream mode

If you are not sure what NoizDNS/SlipNet is, you can safely ignore this option and keep the default SlipStream mode.

Setting Up a NoizDNS Server

To use SlipStream GUI in SlipNet (NoizDNS) mode, you need a NoizDNS server running. For detailed instructions on deploying your own NoizDNS server, check out:

πŸ”— noizdns-deploy

This repository provides a one-click deployment script for setting up a NoizDNS (dnstt) server, including:

  • βœ… One-command installation: Automated server deployment
  • βœ… Auto-detection: Same server supports both standard dnstt and NoizDNS (DPI-evasion) clients
  • βœ… DNS configuration guide: Step-by-step DNS setup instructions
  • βœ… SOCKS5 proxy: Dante-based SOCKS proxy with optional authentication
  • βœ… Prebuilt binaries: Fast installation for supported platforms
  • βœ… Systemd integration: Auto-start, restart on failure, security hardening
  • βœ… Management menu: Status, logs, restart, reconfigure, update, uninstall

Quick Server Setup:

# One-command server installation
bash <(curl -Ls https://raw.githubusercontent.com/anonvector/noizdns-deploy/main/noizdns-deploy.sh)

After installation, run noizdns anytime for the management menu.

What You'll Need:

  • A Linux server (Fedora, Rocky, CentOS, Debian, or Ubuntu)
  • A domain name with DNS access
  • Root or sudo access on the server

Before Running the Script β€” Configure your DNS records:

Record Name Value
A ns.example.com Your server's IP address
AAAA ns.example.com Your server's IPv6 address (optional)
NS t.example.com ns.example.com

Replace example.com with your domain. The t subdomain is the tunnel endpoint.

After Server Setup:

  1. Wait for DNS propagation (can take up to 24 hours)
  2. Generate your slipnet:// URL (keys and config are in /etc/noizdns/ β€” see the noizdns-deploy repository for details)
  3. In SlipStream GUI, select SlipNet (NoizDNS) mode and paste your slipnet://BASE64... URL
  4. (Optional) Set a DNS server for SlipNet lookups (e.g., a tunnel-friendly resolver)
  5. Click "Start VPN" to connect!

Setting Up a SlipStream Server

To use SlipStream GUI, you need a SlipStream server running. For detailed instructions on deploying your own SlipStream server, check out:

πŸ”— slipstream-rust-deploy

This repository provides a one-click deployment script for setting up a SlipStream server, including:

  • βœ… One-command installation: Automated server deployment
  • βœ… DNS configuration guide: Step-by-step DNS setup instructions
  • βœ… Multiple deployment modes: SOCKS proxy or SSH tunneling
  • βœ… Prebuilt binaries: Fast installation for supported platforms
  • βœ… Systemd integration: Automatic service management
  • βœ… TLS certificates: Automatic certificate generation

Quick Server Setup:

# One-command server installation
bash <(curl -Ls https://raw.githubusercontent.com/AliRezaBeigy/slipstream-rust-deploy/master/slipstream-rust-deploy.sh)

What You'll Need:

  • A Linux server (Fedora, Rocky, CentOS, Debian, or Ubuntu)
  • A domain name with DNS access
  • Root or sudo access on the server

After Server Setup:

  1. Configure your DNS records (see the slipstream-rust-deploy repository for detailed DNS setup)
  2. Wait for DNS propagation (can take up to 24 hours)
  3. In SlipStream GUI, enter your server domain (e.g., s.example.com)
  4. Enter your DNS resolver (e.g., YOUR_SERVER_IP:53)
  5. Click "Start VPN" to connect!

✨ Features

  • πŸ–₯️ Cross-Platform: Native support for macOS, Windows, and Linux
  • πŸ”’ System-Wide VPN: Routes all traffic through SlipStream VPN
  • 🎨 Modern GUI: Intuitive interface with real-time status and logs
  • βš™οΈ Auto-Configuration: Automatically configures system proxy settings
  • 🚫 Proxy Bypass List: Exclude specific domains or addresses from the proxy (split tunneling)
  • πŸ“¦ Self-Contained: All dependencies bundled (no internet required after installation)
  • πŸ’Ό Portable Mode: Windows portable version available (no installation required)
  • πŸ” Verbose Logging: Optional detailed logging for debugging
  • πŸ§ͺ Connection Testing: Built-in proxy connection tester
  • πŸ“Š Real-Time Status: Monitor VPN connection status at a glance
  • 🌐 Concurrent DNS Checker: Tests many DNS servers at once and lets you apply any OK result with one click
  • πŸ” Auto Restart: Optionally restart the VPN client automatically if the tunnel process exits unexpectedly
  • 🧩 Multi-Resolver SlipStream: Enter multiple DNS resolvers for SlipStream and pass them through to the upstream client
  • πŸ›°οΈ NoizDNS (SlipNet) Mode: Alternate connection mode for DNS-tunnel transports using slipnet:// URLs
  • 🧭 FindNS Scanner: Fetches and ranks public DNS resolvers for tunnels, auto-downloads resolver lists from SamNet-dev/findns, and lets you apply a result directly as your DNS Resolver
  • πŸš€ Congestion Control: Choose between BBR (throughput-optimized, default) and dCUBIC (fairness-optimized) algorithms for SlipStream connections
  • πŸ” Per-Preset SOCKS5 Auth: SOCKS5 username and password are saved individually per preset, not globally
  • 🌍 FindNS Proxy Routing: Optionally route FindNS resolver list downloads through the active VPN tunnel to bypass local restrictions

πŸ“± Sharing PC Internet via Mobile (Same Network)

If your PC and mobile device are on the same Wi-Fi network, you can configure your mobile device to use your PC's internet connection (including the VPN) through the proxy.

Prerequisites

  • PC and mobile device must be connected to the same Wi-Fi network
  • SlipStream GUI must be running with VPN started
  • Find your PC's local IP address (see instructions below)

Finding Your PC's IP Address

macOS/Linux:

# Open Terminal and run:
ifconfig | grep "inet " | grep -v 127.0.0.1
# or
ip addr show

Windows:

# Open Command Prompt and run:
ipconfig
# Look for "IPv4 Address" under your active network adapter

The IP address will typically look like 192.168.1.XXX or 10.0.0.XXX.

πŸ“± iOS Configuration

  1. On your iPhone/iPad, go to Settings β†’ Wi-Fi
  2. Tap the (i) icon next to your connected Wi-Fi network
  3. Scroll down to "HTTP Proxy" section
  4. Select "Manual"
  5. Enter your PC's IP address in "Server" field (e.g., 192.168.1.100)
  6. Enter "8080" in the "Port" field
  7. Leave "Authentication" off
  8. Tap "Save" in the top right

Note: Your iOS device will now route all internet traffic through your PC's VPN connection. To disable, go back to Wi-Fi settings and set HTTP Proxy to "Off".

πŸ€– Android Configuration

  1. On your Android device, go to Settings β†’ Wi-Fi
  2. Long-press on your connected Wi-Fi network
  3. Select "Modify network" or "Network details"
  4. Tap "Advanced options" or expand the advanced settings
  5. Under "Proxy", select "Manual"
  6. Enter your PC's IP address in "Proxy hostname" (e.g., 192.168.1.100)
  7. Enter "8080" in "Proxy port"
  8. Leave "Bypass proxy for" empty (or add local addresses like localhost,127.0.0.1)
  9. Tap "Save"

Note: Some Android versions may have slightly different menu paths. If you can't find these options, try: Settings β†’ Network & Internet β†’ Wi-Fi β†’ (tap network) β†’ Advanced β†’ Proxy.

To disable: Go back to Wi-Fi settings, modify the network, and set Proxy back to "None".

⚠️ Important Notes

  • Make sure your PC's firewall allows incoming connections on port 8080
  • The proxy only works while both devices are on the same network
  • If your PC's IP address changes, you'll need to update the proxy settings on your mobile device
  • Some apps may bypass system proxy settings - you may need to configure them individually

πŸ› Troubleshooting

macOS: "SlipStream GUI is damaged and can't be opened"

If you see this error when trying to open the app on macOS, it's usually due to macOS Gatekeeper security settings. Here's how to fix it:

Option 1: Remove the quarantine attribute (Recommended)

# Open Terminal and run:
xattr -cr /Applications/SlipStream\ GUI.app

Then try opening the app again.

Option 2: Allow the app in System Settings

  1. Go to System Settings β†’ Privacy & Security
  2. Scroll down to the Security section
  3. If you see a message about "SlipStream GUI" being blocked, click "Open Anyway"
  4. Confirm by clicking "Open" in the dialog

Option 3: Right-click to open

  1. Right-click (or Control-click) on the SlipStream GUI app
  2. Select "Open" from the context menu
  3. Click "Open" in the confirmation dialog

After the first successful launch, macOS will remember your choice and you won't see this error again.

Windows: Run as Administrator

For best functionality on Windows, especially when configuring system proxy settings, run SlipStream GUI as Administrator:

Option 1: Right-click method

  1. Right-click on the SlipStream GUI shortcut or executable
  2. Select "Run as administrator"
  3. Click "Yes" in the User Account Control (UAC) prompt

Option 2: Always run as administrator

  1. Right-click on the SlipStream GUI shortcut
  2. Select "Properties"
  3. Go to the "Compatibility" tab
  4. Check "Run this program as an administrator"
  5. Click "OK"

Note: Running as administrator is recommended for automatic system proxy configuration. The app will work without admin privileges, but you may need to configure proxy settings manually.

VPN won't start

  • Check that ports 8080 and 5201 are not in use
  • Verify your DNS resolver and domain settings
  • Check the logs panel for error messages
  • On Windows, try running as Administrator (see above)

System proxy not working

  • Ensure the "Configure System Proxy" toggle is enabled
  • On macOS, you may be prompted for administrator password
  • On Windows, run the app as Administrator for automatic configuration
  • Some apps may bypass system proxy (configure them manually)

Connection issues

  • Use the "Test Proxy Connection" button to verify functionality
  • Enable verbose logging for detailed connection information
  • Check that your SlipStream server domain is correct

πŸ‘¨β€πŸ’» For Developers

Prerequisites

  • Node.js 16+ and npm
  • Git

Installation

# Clone the repository
git clone https://github.com/mirzaaghazadeh/SlipStreamGUI.git
cd SlipStreamGUI

# Install dependencies
npm install

Development

# Download the latest SlipStream, SlipNet (NoizDNS) and FindNS binaries (recommended)
npm run download:binaries

# Run in development mode
npm start

Building

# Download the latest SlipStream, SlipNet (NoizDNS) and FindNS binaries (recommended)
npm run download:binaries

# Build for macOS
npm run build:mac

# Build for Windows (installer + portable)
npm run build:win

# Build for Windows (portable only)
npm run build:win:portable

# Build for Linux
npm run build:linux

# Build for all platforms
npm run build:all

Built applications will be in the dist/ folder.

For detailed build instructions, see BUILD.md.


πŸ“– How It Works

SlipStream GUI creates a multi-layer proxy architecture:

Your Applications
    ↓ HTTP/HTTPS
HTTP Proxy Server (127.0.0.1:8080)
    ↓ SOCKS5 Protocol
SOCKS5 Client (127.0.0.1:5201)
    ↓ Encrypted Tunnel
SlipStream VPN Server

Architecture

  1. SlipStream Client: Runs the native binary (binaries/slipstream-client-mac-arm64 / binaries/slipstream-client-mac-intel, binaries/slipstream-client-win.exe, or binaries/slipstream-client-linux) that establishes a SOCKS5 proxy on port 5201
  2. HTTP Proxy Server: Node.js server listening on port 8080 that converts HTTP requests to SOCKS5
  3. System Proxy: Automatically configures system proxy settings to route all traffic through the VPN

πŸ“ Project Structure

SlipStream-GUI/
β”œβ”€β”€ assets/              # App icons and images
β”‚   └── icon.png
β”œβ”€β”€ main.js              # Electron main process
β”œβ”€β”€ index.html           # UI and renderer process
β”œβ”€β”€ check-system-proxy.js # System proxy status checker
β”œβ”€β”€ package.json         # Dependencies and build config
β”œβ”€β”€ BUILD.md            # Detailed build instructions
β”œβ”€β”€ README.md           # This file
└── .gitignore          # Git ignore rules

For detailed project structure, see PROJECT_STRUCTURE.md.


πŸ”§ Technical Details

Technologies

  • Electron: Cross-platform desktop framework
  • Node.js: Backend runtime
  • HTTP Proxy: Node.js HTTP module for proxy server
  • SOCKS5: Protocol for VPN tunneling
  • IPC: Inter-process communication between main and renderer

Ports

  • 8080: HTTP Proxy Server
  • 5201: SOCKS5 Proxy (SlipStream client)

Configuration

Settings are stored in settings.json (created automatically):

  • DNS Resolver
  • Domain
  • Verbose logging preference
  • Proxy bypass list (domains/addresses excluded from proxy)
  • SOCKS5 authentication credentials

πŸ“ Requirements

  • macOS: 10.13+ (High Sierra or later)
  • Windows: Windows 10 or later
  • Linux: Most modern distributions (AppImage works on most, DEB for Debian/Ubuntu-based)
  • No special privileges: Works immediately after installation
  • No internet required: After installation, everything is self-contained

🀝 Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

  1. Fork the repository
  2. Create your feature branch (git checkout -b feature/AmazingFeature)
  3. Commit your changes (git commit -m 'Add some AmazingFeature')
  4. Push to the branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

For detailed contribution guidelines, see CONTRIBUTING.md.


πŸ“„ License

This project is licensed under the MIT License - see the LICENSE file for details.


πŸ”— Related Projects

  • slipstream-rust-deploy: Deploy your own SlipStream server
  • noizdns-deploy: Deploy your own NoizDNS server
  • SlipNet: Android VPN client with DNS tunneling (DNSTT, NoizDNS & Slipstream), NaiveProxy, SSH, Tor, and DoH β€” featuring a built-in DNS scanner
  • findns: Fast DNS tunnel resolver scanner β€” find working resolvers for dnstt, DoH, and other DNS tunnel tools

πŸ™ Acknowledgments


Made with ❀️ for those we remember

About

A modern, cross-platform GUI client for SlipStream VPN

Resources

License

Contributing

Stars

Watchers

Forks

Sponsor this project