Skip to main content

Python CLI client for slipstream-rust DNS tunnel

Project description

LocalStream

Version Python Platform License

A high-performance, resilient Python CLI client for the slipstream-rust DNS tunnel.


📖 Overview

LocalStream simplifies the usage of standard DNS tunneling. It provides a robust, menu-driven interface to manage connections, supporting both System-wide VPN (via tun2proxy) and SOCKS5 Proxy modes. Whether you need to secure your entire system or just specific applications, LocalStream handles the complexity for you.

✨ Features

  • 🚀 High Performance: Optimized for Windows and Linux with minimal resource overhead.
  • 🛡️ VPN Mode: Full system-wide traffic tunneling (requires Administrator privileges).
  • 🔌 Proxy Mode: Flexible SOCKS5 proxy on local port 5201 (default).
  • 🔄 Auto-Reconnect: Intelligent connection watchdog that keeps you online.
  • Auto-Restart: Scheduled connection restarts for improved stability.
  • 🔐 TLS Fragmentation: Bypass DPI by fragmenting TLS handshakes.
  • 📦 Config Import/Export: Share encrypted configurations easily.
  • 📦 Smart Dependency Management: Automatically downloads and manages slipstream-client, tun2proxy, and wintun drivers.

📥 Installation

download the Setup.exe file and install it!

or install via pip:

pip install localstream

For development (editable mode):

pip install -e .

🚀 Usage

To start the application, simply run:

LocalStream

⚠️ Important: To use VPN Mode, you must run with elevated privileges:

  • Windows: Run terminal as Administrator
  • Linux: The app will automatically request sudo when needed

🎮 Controls

  • Menu Navigation: Follow the on-screen prompts (Enter numbers 1, 2, 3...).
  • Disconnect: Press Ctrl+C to safely stop the connection and return to the menu.
  • Force Restart: Press Ctrl+D to force a reconnection attempt.

⚙️ Configuration

Configuration is automatically created at first run in ~/.localstream/config.json. You can also edit it via the CLI menu.

{
  "server_ip": "203.0.113.2",
  "server_port": 53,
  "local_port": 5201,
  "domain": "s.example.com",
  "keep_alive_interval": 200,
  "congestion_control": "bbr",
  "enable_fragmentation": false,
  "auto_restart_minutes": 0
}

🔧 Advanced Settings

Access via Settings → Advanced Settings:

Option Description
Keep-Alive Interval Heartbeat frequency (default: 200ms)
Congestion Control BBR (recommended) or Cubic
TLS Fragmentation Bypass DPI by fragmenting packets
Auto Restart Restart connection every X minutes

🛠️ Requirements

  • Operating System: Windows 10/11 or Linux (Ubuntu, Debian, Fedora, Arch...)
  • Runtime: Python 3.11 or higher
  • Permissions: Administrator/sudo rights (only for VPN mode)

📋 Changelog

v1.0.6

  • Added New GUI to the project

v1.0.5

  • TLS Fragmentation to bypass DPI
  • Auto-restart timer for stability
  • Improved keep-alive (200ms default)
  • BBR congestion control by default

v1.0.4

  • Config import/export with encryption
  • Locked profiles feature

v1.0.3

  • Config file sharing via .local format

🤝 Contributing

We welcome contributions! Please check out our CONTRIBUTING.md guide for guidelines on how to proceed.

🔒 Security

We take security seriously. Please review our SECURITY.md policy for reporting vulnerabilities.

📄 License

This project is licensed under the Apache-2.0 License. See the LICENSE file for full details.


Built with ❤️ by the LocalStream Team

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

localstream-1.0.7.tar.gz (29.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

localstream-1.0.7-py3-none-any.whl (30.8 kB view details)

Uploaded Python 3

File details

Details for the file localstream-1.0.7.tar.gz.

File metadata

  • Download URL: localstream-1.0.7.tar.gz
  • Upload date:
  • Size: 29.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.11

File hashes

Hashes for localstream-1.0.7.tar.gz
Algorithm Hash digest
SHA256 6477b9ab1a733bd2e1d674bf54ab46cc0d736f1c5e70001d1fd75eea975779eb
MD5 9831478ec6943f4b1a570a881301947e
BLAKE2b-256 3f5948a0bc60279bdb0e0b0d3d2379d9422ec8e6a66e6abdda91bd9ba69cd6fc

See more details on using hashes here.

File details

Details for the file localstream-1.0.7-py3-none-any.whl.

File metadata

  • Download URL: localstream-1.0.7-py3-none-any.whl
  • Upload date:
  • Size: 30.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.11

File hashes

Hashes for localstream-1.0.7-py3-none-any.whl
Algorithm Hash digest
SHA256 8ed753dbaa01e827851a452c5c55d56b71ed2b644186957aa8818f222e67432b
MD5 53cfbc0d08186e01e0f669b4291e86db
BLAKE2b-256 dd9554172ca8cb4b7a2df874f858d72d035a6eac30e0a4ccb2aff2eacde5adc6

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page