Slipstream is a high-performance covert channel over DNS, powered by QUIC multipath. This Android application serves as a Graphical User Interface (GUI) and manager for the Slipstream ecosystem, establishing a secure, device-wide SOCKS5 proxy tunnel.
The app integrates the SocksDroid VpnService implementation to capture device traffic and route it through the Slipstream tunnel without requiring system-wide proxy settings.
-
DNS-over-QUIC Tunneling: Leverages the
slipstream-clientfor high-speed, covert data transmission. -
VpnService Integration: Device-wide tunneling via a local VPN interface (no root required for the VPN logic).
-
External Server (SSH Endpoint): A server accessible via SSH acting as the remote end of the tunnel.
-
Binaries: The following binaries must be present in the project's
assetsorjnifolders:-
slipstream-client -
proxy-client(Go-based SSH executor) -
pdnsdandtun2socks(Compiled via NDK)
-
-
Network Configuration: Remote server IP and the domain name configured for your Slipstream DNS service.
The connection uses SSH Public Key Authentication to secure the tunnel between the ssh-client and your remote server.
Generate a key pair on your machine:
ssh-keygen -t ed25519 -f id_slipstream -N ""
Copy the contents of id_slipstream.pub and append it to the /root/.ssh/authorized_keys file on your remote SSH server.
-
Key Placement: Place your private key (
id_slipstream) in the application's internal storage directory and choose via file picker. -
Connection Details: Enter the Server IP and DNS Hostname in the app's main interface.
-
Start Service: Tap Start. The app will request permission to establish a VPN connection.
-
Slipstream Layer: The app executes
slipstream-client, connecting to the remote DNS server to establish the QUIC carrier. -
SSH Layer: The go-ssh-client connects through the Slipstream pipe to the remote server, opening a SOCKS5 proxy listener on
127.0.0.1:3080. -
VPN Layer: The Android
VpnService(based on SocksDroid) creates a virtualtun0interface. -
Routing:
-
Traffic is captured by
tun0. -
tun2socksconverts IP packets to TCP streams. -
Streams are forwarded to the SOCKS5 proxy at port
3080. -
pdnsdhandles DNS resolution to prevent leaks.
-
-
Slipstream: EndPositive/slipstream
-
VPN Logic: Inspired by bndeff/socksdroid