Skip to content

A modern, cross-platform GUI client for SlipStream VPN

License

Notifications You must be signed in to change notification settings

Big13ang/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 (or keep defaults for testing)
  • DNS Checker (optional): run it, and click "Use" on any OK row to set 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) SlipStream-GUI-Windows-x64.exe
Windows (32-bit) SlipStream-GUI-Windows-x86.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)
  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
    • 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

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
  • πŸ“¦ Self-Contained: All dependencies bundled (no internet required after installation)
  • πŸ” Verbose Logging: Optional detailed logging for debugging
  • πŸ§ͺ Connection Testing: Built-in proxy connection tester
  • πŸ“Š Real-Time Status: Monitor VPN connection status at a glance

πŸ“± 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 client binaries (recommended)
npm run download:binaries

# Run in development mode
npm start

Building

# Download the latest SlipStream client binaries (recommended)
npm run download:binaries

# Build for macOS
npm run build:mac

# Build for Windows
npm run build:win

# 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

πŸ“ 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


πŸ™ Acknowledgments


Made with ❀️ for those we remember

About

A modern, cross-platform GUI client for SlipStream VPN

Resources

License

Contributing

Stars

Watchers

Forks

Releases

No releases published

Sponsor this project

Packages

No packages published