| Crates.io | voxlan |
| lib.rs | voxlan |
| version | 2.9.7 |
| created_at | 2025-06-02 11:36:58.304432+00 |
| updated_at | 2025-06-25 17:45:51.809592+00 |
| description | A Rust-powered LAN utility for port scanning, HTTP proxying, and TCP tunneling. |
| homepage | https://github.com/santoshxshrestha/voxlan |
| repository | https://github.com/santoshxshrestha/voxlan |
| max_upload_size | |
| id | 1697870 |
| size | 106,675 |
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.
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
voxlan in release mode (if Rust is present)./usr/local/bin.Tip: You may need to enter your password for
sudoprivileges.
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
voxlanis bound to8081and target would be the open port if it
# Start VoxLAN with default settings
voxlan run
# Start VoxLAN by specifying the bind and target ports
voxlan run -b 8081 -t 8080
# Start VoxLAN by targeting specific port
voxlan run -t <target-port>
# List of all open ports
voxlan list
# Get help for a specific command
voxlan <command> -h
[!NOTE] The path should be specified without a leading
/. bind-port(optional), default path is /
# Run the client and send a request
voxlan client -b <bind-port> --path <path>
# Example: Run client to send a request to http://localhost:8080/echo
voxlan client -b 8080 -p echo
# Get help for the client command
voxlan client --help
[!NOTE] This feautre is intended for a pair of connections. If a crertain IP is in both the allow-list and block-list it will be blocked If no args are passed in the allow and block lists then all the IP will be allowed
# To host a TCP connection
voxlan host -b <bind-port>
# To connect to a TCP host
voxlan connect -i <private-ip-of-host-machine> -t <target-port>
# To apply an allow-list while hosting
voxlan host -b <bind-port> --allow-ip=IP1,IP2,IP3,...
# To apply a block-list while hosting
voxlan host -b <bind-port> --block-ip=IP1,IP2,IP3,...
┌────────────────┐ ┌────────────────────┐ ┌──────────────────────────┐
│ Client │────│ VoxLAN │────│ Target │
│ Request │ │ Proxy │ │ Service │
│ │ │ :8081(By default) │ │ :acitve port(By default) │
└────────────────┘ └────────────────────┘ └──────────────────────────┘
Rich terminal UI (voxlan-style)
Real-time network monitoring
Advance traffic filtering and rules
Configuration file support (.toml or .yaml)
We welcome contributions! Here's how you can help:
git checkout -b feature/amazing-feature)git commit -m 'Add amazing feature')git push origin feature/amazing-feature)# 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 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
scan_port functionThis project is licensed under the MIT License - see the LICENSE file for details.
🐛 Issues: GitHub Issues
Built with ❤️ and Rust
Star ⭐ this repository if you find it helpful!