Overview
This guide walks you through deploying your own SlipStream server using the slipstream-rust-deploy automation script. The entire process takes approximately 10-15 minutes and requires minimal technical knowledge.The deployment script handles all technical details automatically, including binary installation, systemd service configuration, and TLS certificate setup.
Prerequisites
Before starting the deployment, ensure you have:1. A Linux Server
You’ll need a Linux server (VPS or dedicated) running one of these distributions:- Fedora (latest stable version)
- Rocky Linux (8.x or newer)
- CentOS (7.x or 8.x)
- Debian (10, 11, or 12)
- Ubuntu (20.04 LTS, 22.04 LTS, or newer)
A VPS with 1GB RAM and 1 CPU core is sufficient for personal use (5-10 concurrent connections). For shared use or higher traffic, consider 2GB RAM and 2 CPU cores.
2. Server Access
You need:- SSH access to the server
- Root privileges or sudo access
- Basic familiarity with terminal commands
3. A Domain Name
Purchase a domain name from any registrar (Namecheap, GoDaddy, Cloudflare, etc.) and have access to its DNS settings.4. Domain Setup Prerequisites
Before running the installation script:- Point your domain to your server: Create an A record pointing your domain (or subdomain) to your server’s IP address
- Wait for DNS propagation: This can take 5 minutes to 24 hours (usually under 1 hour)
- Verify DNS propagation: Use
digornslookupto confirm the domain resolves to your server IP
For detailed DNS configuration instructions, see the DNS setup guide.
Installation
One-Command Installation
The slipstream-rust-deploy project provides a fully automated installation script:- ✅ Detect your Linux distribution and version
- ✅ Install required system dependencies
- ✅ Download the latest SlipStream server binary for your platform
- ✅ Create and configure the systemd service
- ✅ Generate TLS certificates (if needed)
- ✅ Start the SlipStream server automatically
- ✅ Enable the service to start on boot
Installation Process
When you run the script, you’ll be prompted for:- Domain name: Enter your full domain (e.g.,
s.example.com) - Deployment mode: Choose between SOCKS proxy or SSH tunneling
- Port configuration: Accept defaults or customize (usually defaults are fine)
- TLS certificate: Choose automatic generation or provide your own
For most users, accepting the default options is recommended. The script uses sensible defaults optimized for typical use cases.
What Happens During Installation
The script performs these steps automatically:Post-Deployment Steps
After the installation completes:1. Verify Service Status
Check that the SlipStream server is running:2. Check Server Logs
View the server logs to ensure everything is working correctly:Ctrl+C to exit log viewing.
3. Verify Port Accessibility
Ensure the required ports are open and accessible:4. Test DNS Resolution
Verify your domain resolves correctly:5. Configure Your Client
Now you’re ready to configure SlipStream GUI:- Open SlipStream GUI on your device
- Enter your server domain (e.g.,
s.example.com) - Enter your DNS resolver (your server IP with port 53, e.g.,
YOUR_SERVER_IP:53) - Click “Start VPN”
- Test the connection using the “Test Proxy Connection” button
If you’re unsure about which DNS resolver to use, try the SlipStream GUI’s built-in DNS Checker tool to find the most reliable option.
Systemd Service Management
The SlipStream server runs as a systemd service, allowing easy management:Start the Service
Stop the Service
Restart the Service
Check Service Status
Enable Auto-Start on Boot
Disable Auto-Start on Boot
View Real-Time Logs
The service is automatically configured to restart on failure, ensuring high availability.
TLS Certificates
The deployment script can handle TLS certificates automatically:Automatic Certificate Generation
By default, the script uses Let’s Encrypt to generate free TLS certificates:- Certificates are automatically generated during installation
- Stored in
/etc/letsencrypt/live/YOUR_DOMAIN/ - Automatically renewed before expiration
- Renewal checks run daily via systemd timer or cron
Manual Certificate Installation
If you prefer to use your own certificates:- Choose “manual” when prompted during installation
- Provide paths to your certificate files:
- Certificate file (
.crtor.pem) - Private key file (
.key) - Certificate chain file (if applicable)
- Certificate file (
Certificate Renewal
For Let’s Encrypt certificates:Certificate Troubleshooting
If certificate generation fails:- Verify your domain points to the server IP
- Ensure ports 80 and 443 are accessible
- Check firewall rules aren’t blocking Let’s Encrypt validation
- Review Let’s Encrypt logs:
sudo cat /var/log/letsencrypt/letsencrypt.log
Updating the Server
To update to the latest version of SlipStream server:Firewall Configuration
Ensure your firewall allows the necessary ports:UFW (Ubuntu/Debian)
firewalld (Fedora/Rocky/CentOS)
iptables
Troubleshooting
Service Won’t Start
- Check service status:
sudo systemctl status slipstream-server - View detailed logs:
sudo journalctl -u slipstream-server -n 50 - Verify binary exists:
ls -la /usr/local/bin/slipstream-server - Check file permissions:
sudo chmod +x /usr/local/bin/slipstream-server
Connection Issues
- Verify DNS resolution:
dig +short YOUR_DOMAIN - Check if ports are listening:
sudo netstat -tlnp - Test port accessibility from outside: Use online port checkers
- Review firewall rules:
sudo ufw statusorsudo firewall-cmd --list-all
Certificate Errors
- Verify certificates exist:
sudo ls -la /etc/letsencrypt/live/ - Check certificate expiration:
sudo certbot certificates - Test certificate validity:
openssl s_client -connect YOUR_DOMAIN:443 - Review Let’s Encrypt logs:
sudo cat /var/log/letsencrypt/letsencrypt.log
For additional support, visit the slipstream-rust-deploy repository and check existing issues or create a new one.
Next Steps
Configure DNS
Set up DNS records for optimal performance
Connect your client
Connect SlipStream GUI to your new server