Voice of the LAN - A powerful LAN proxy that speaks your network's language It is a Rust-based command-line and proxy server tool that scans local TCP ports to find open services, then starts a proxy server forwarding requests to the first detected open port. It provides real-time feedback via terminal animations and supports forwarding HTTP requests using Actix Web and Reqwest.
VoxLAN is a sophisticated LAN proxy server built in Rust that discovers and manages network connections. It acts as an intelligent intermediary for your local network communications, providing seamless proxy functionality with advanced network discovery capabilities.
- ๐ Network Discovery: Automatically scans and identifies open ports on local network
- ๓ฐฒ QR Access: Generates QR codes for quick and easy access
- ๐ Real-time Monitoring: Live port scanning and network status reporting
- ๐ Request Forwarding: Seamless proxy functionality for local services
- ๐ High Performance: Built with Actix-web for optimal performance
- ๐ Filter Lists: Advanced filtering capabilities for network traffic
- ๐๏ธ CLI Interface: Comprehensive command-line interface with clap integration
- ๐ข Device Selection: Target specific devices by number or identifier
- ๐ก Custom Request Handling: Flexible request processing and routing
- ๐ Security Features: Traffic filtering and access control
You have three options: via Cargo, via prebuilt script, or manual install.
If you have Rust installed, you can install directly from crates.io:
cargo install voxlan
This is the most "Rusty" and portable way.
It automatically downloads, compiles, and installs the latest version to your $HOME/.cargo/bin
.
If you want even faster installs with prebuilt binaries, check out cargo-binstall:
cargo binstall voxlan
Alternative: Installs the latest release binary to your system PATH.
curl -sSfL https://raw.githubusercontent.com/santoshxshrestha/voxlan/main/scripts/install.sh | bash
- This script will:
- Build
voxlan
in release mode (if Rust is present). - Copy the binary to
/usr/local/bin
. - Make it executable.
- Build
Tip: You may need to enter your password for
sudo
privileges.
If you prefer full control or want to customize the build:
-
Clone the repository:
git clone https://github.com/santoshxshrestha/voxlan.git cd voxlan
-
Build the Release Binary:
cargo build --release
This places the binary at
target/release/voxlan
. -
Copy to a PATH directory (e.g.,
/usr/local/bin
):sudo cp target/release/voxlan /usr/local/bin/voxlan
-
(Optional) Ensure executable permission:
sudo chmod +x /usr/local/bin/voxlan
-
Run from anywhere:
voxlan
You can uninstall using the provided script or manually:
curl -sSfL https://raw.githubusercontent.com/santoshxshrestha/voxlan/main/scripts/uninstall.sh | bash
Remove the binary from your PATH:
sudo rm /usr/local/bin/voxlan
or
sudo rm /usr/bin/voxlan
If you also want to remove your cloned repository:
rm -rf ~/voxlan
If installed with Cargo:
cargo uninstall voxlan
Note
By default the voxlan is bound to 8081 and target would be the open port if it
# Start VoxLAN with default settings
voxlan run
# Start VoxLAN by specifying the bind-port and target-port
# is only one)
voxlan run -b 8081 -t 8080
# Start VoxLAN by targeting specific port
voxlan run -b <bind-port>
# List of all the open ports
voxlan list
# Get help for specific command
voxlan <command> -h
Note
path should be specified without '/' bind-port(optional), default path is /
# Run the client
voxlan client -b <bind-port> --path <path>
voxlan client -b <bind-port> -p <path>
# Run clint to http://localhost:8080
voxlan client -b 8080 -p echo
# Help for the client
voxlan client --help
- Network Scan: VoxLAN scans ports 1-10000 on localhost
- Discovery: Reports all open ports found
- Proxy Start: Launches HTTP proxy server on port 8081
- Request Forwarding: Forwards requests to localhost:8080
โโโโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ Client โโโโโโ VoxLAN โโโโโโ Target โ
โ Request โ โ Proxy โ โ Service โ
โ โ โ :8081(By default) โ โ :acitve port(By default) โ
โโโโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโโโโโโโโโโโโโ
- Port Scanner: Multi-threaded port discovery
- HTTP Proxy: Actix-web based proxy server
- Request Router: Intelligent request forwarding
- Network Utils: IP discovery and connection management
- Proxy Port: 8081
- Target Port: UserSpecified(By default opened port)
- Scan Range: 1-10000
- Timeout: 100ms per port
- Basic proxy functionality
- Network discovery
- HTTP request forwarding
- Add option to specify port
- Implement clap for argument parsing
- Add device selection by number
- Custom request configuration
- Filter list implementation
- Rich terminal UI (voxlan-style)
- Real-time network monitoring
- Traffic filtering and rules
- Configuration file support
- Plugin system architecture
We welcome contributions! Here's how you can help:
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature
) - Commit your changes (
git commit -m 'Add amazing feature'
) - Push to the branch (
git push origin feature/amazing-feature
) - Open a Pull Request
# Install development dependencies
cargo install cargo-watch
# Run with auto-reload
cargo watch -x run
# Run tests
cargo test
# Format code
cargo fmt
# Lint code
cargo clippy
- Port Scanning: ~1000 ports in <2 seconds
- Proxy Latency: <5ms additional overhead
- Memory Usage: ~10MB baseline
- Concurrent Connections: 1000+ supported
Port Already in Use
# Check what's using port 8081
lsof -i :8081
# Kill the process
kill -9 <PID>
Permission Denied
# Run with elevated privileges if needed
sudo voxlan
Connection Timeout
- Increase timeout in
scan_port
function - Check firewall settings
- Verify target service is running
This project is licensed under the MIT License - see the LICENSE file for details.
- ๐ Actix Web - High-performance web framework
- ๐ฏ Anstyle - ANSI styling for clap's help and error message formatting
- โ๏ธ Clap - Command line argument parser with derive macros
- ๐ณ QR2Term - Terminal QR code generator and display library
- ๐ Reqwest - HTTP client library with JSON support
- โก Tokio - Asynchronous runtime for Rust with full feature set
๐ Issues: GitHub Issues
Built with โค๏ธ and Rust
Star โญ this repository if you find it helpful!