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

Install easily 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.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.5.tar.gz (27.2 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.5-py3-none-any.whl (29.0 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: localstream-1.0.5.tar.gz
  • Upload date:
  • Size: 27.2 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.5.tar.gz
Algorithm Hash digest
SHA256 64b08696480d004b6785898170381a9eba77897752a4660b5fa76effb5490460
MD5 969237bce235179c76a5b9e8059cf73b
BLAKE2b-256 84108525da553bd3b2476ea29cf05ed9d43fa2bc899b2c324c712d25fc970479

See more details on using hashes here.

File details

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

File metadata

  • Download URL: localstream-1.0.5-py3-none-any.whl
  • Upload date:
  • Size: 29.0 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.5-py3-none-any.whl
Algorithm Hash digest
SHA256 cc00af27914526187179e962e42d8653f8a18564e9a4a2ad3641a3ac9da5c18b
MD5 566d633c6cf60637ff609671499bef54
BLAKE2b-256 91efa6691739a040e4cb046716409344a9e6057b8a72d4a18bf27a9c6ba49a7c

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