LIPTunnel
Your Tunnel. Your Domain. Your Control.
π LIPTunnel β Self-Hosted Ngrok Alternative
LIPTunnel is a fast, lightweight, self-hosted tunneling system that exposes your local server to the internet using your own VPS + domain.
No subscriptions.
No limits.
No tracking.
Just a simple Node.js tunnel that YOU control.
Created by Lasisi Ibrahim Pelumi (Full-Stack Engineer).
β‘ What's New in v1.1.0
π Multi-Tunnel Support
Run multiple tunnels with a single command!
Before:
# Need 3 terminal windows
liptunnel http 3000 --server yourdomain.com
liptunnel http 8080 --server yourdomain.com
liptunnel http 5000 --server yourdomain.com
Now:
# Just one command!
liptunnel http 3000,8080,5000 --multi --server yourdomain.com
Output:
Multi-Tunnel Mode: Active
Forwarding 1: http://tunnel1-abc.yourdomain.com β http://localhost:3000
Forwarding 2: http://tunnel2-def.yourdomain.com β http://localhost:8080
Forwarding 3: http://tunnel3-ghi.yourdomain.com β http://localhost:5000
Perfect for:
- π§ Microservices development
- π Full-stack projects (frontend + backend)
- π Webhook testing (API + webhook receiver)
- π± Mobile app development
π Repository Folder Structure
liptunnel/
ββ bin/
β ββ liptunnel.js # CLI client (runs on user machine)
ββ server/
β ββ server.js # Tunnel server (runs on VPS)
ββ docs/
β ββ architecture.md
β ββ multi-tunnel.md
ββ assets/
β ββ liptunnel-banner.gif
β ββ liptunnel-demo.png
β ββ server-pm2.png
ββ package.json
ββ README.md
ββ LICENSE
π Features
- π₯ Expose any local port over HTTP
- π Generates public URLs like:
http://abcd12.yourdomain.com - π NEW: Multi-tunnel support - run multiple ports simultaneously
- π― NEW:
--multiflag for numbered forwarding display - π° Works with ANY VPS (even old VPN servers)
- β‘ Real-time request forwarding
- π₯ Local dashboard:
http://127.0.0.1:4040 - π No third-party services (no Ngrok, no Cloudflare Tunnels)
- π» Works on Windows, macOS, Linux
- π Zero configuration required
- π§© Full open-source control
- β Fully backward compatible
πΈ Demo Screenshot
Below is an actual output of LIPTunnel running live:
Screenshot 1 β Client side (your CMD window)

Screenshot 2 β Server side (PM2)

This shows:
β Tunnel status
β Forwarding URL
β Live request logs
β Dashboard URL
β Version + region
β Successful POST requests
π§ How It Works
-
You run the tunnel server on your VPS.
-
You run the LIPTunnel client on your computer:
liptunnel http 5000 --server yourdomain.com -
The client opens a WebSocket connection to your VPS.
-
Your VPS assigns a random subdomain, e.g.:
http://u8smnt.yourdomain.com -
Incoming HTTP requests are forwarded directly to your local machine.
π Architecture
User β yourdomain.com β LIPTunnel VPS β WebSocket β your computer β localhost:5000
Reverse tunneling, simple and fast.
β Requirements
- Node.js 18+
- A domain you control
- A VPS (1 CPU / 512MB RAM is enough β even old servers work)
- Port 80 available (or use Nginx reverse proxy)
π₯ Installation
-
Clone the project
git clone https://github.com/ibrahimpelumi6142/liptunnel.git cd liptunnel npm install -
Configure your domain (Optional)
Edit
bin/liptunnel.jsline 50:let serverHost = "your-actual-domain.com"; // Replace with your domainOr use the
--serverflag when running (see usage below).
π Start the VPS Tunnel Server
On your VPS:
npm run start:server
This starts the server on port 80.
DNS Setup (recommended)
Create this DNS record:
*.yourdomain.com A <your-vps-ip>
π» Usage
Single Tunnel (Normal Mode)
On your local machine:
liptunnel http 5000 --server yourdomain.com
Output:
Status: Online
Forwarding: http://abcd12.yourdomain.com β http://localhost:5000
Visit this URL from anywhere in the world β it hits your local machine.
Multiple Tunnels (Multi Mode)
Run multiple services at once:
liptunnel http 3000,8080,5000 --multi --server yourdomain.com
Output:
Multi-Tunnel Mode: Active
Forwarding 1: http://tunnel1-abc.yourdomain.com β http://localhost:3000
Forwarding 2: http://tunnel2-def.yourdomain.com β http://localhost:8080
Forwarding 3: http://tunnel3-ghi.yourdomain.com β http://localhost:5000
Use Cases:
Microservices Development:
liptunnel http 3000,4000,5000 --multi --server yourdomain.com
# 3000 β User Service
# 4000 β Auth Service
# 5000 β Payment Service
Full-Stack Development:
liptunnel http 3000,8080 --multi --server yourdomain.com
# 3000 β React frontend
# 8080 β Express API
API + Webhook Testing:
liptunnel http 8000,8001 --multi --server yourdomain.com
# 8000 β Main API
# 8001 β Webhook receiver (Stripe, GitHub, etc.)
π§ Local Dashboard
Open:
http://127.0.0.1:4040
It shows:
- Recent requests
- HTTP status
- Tunnel info
- Multi-tunnel view (when using
--multi)
π‘ Why LIPTunnel?
| Feature | LIPTunnel | Ngrok | Cloudflare Tunnel |
|---|---|---|---|
| Free | β | Limited | β |
| Unlimited tunnels | β | β | β |
| Use your own domain | β | Paid only | β |
| Self-hosted | β | β | β |
| Logs stored locally | β | β | β |
| No tracking | β | β | β |
| Identity branding | You | Ngrok | Cloudflare |
| Multi-tunnel | β | β | β |
| Setup time | 5 min | 2 min | 10 min |
LIPTunnel gives you full control, privacy, and freedom.
π Documentation
- Architecture - System design and flow
- Multi-Tunnel Guide - Detailed multi-tunnel usage
π§± Roadmap
- [x] Multi-tunnel support β v1.1.0
- [ ] HTTPS support (Let's Encrypt)
- [ ] Named fixed subdomains
- [ ] Authentication tokens
- [ ] Configuration file support
- [ ] Web-based management UI
- [ ] Docker containers
π€ Contributing
Contributions are welcome! Please feel free to submit a Pull Request.
- Fork the repository
- Create your feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'feat: add amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
π¨βπ» Author
Lasisi Ibrahim Pelumi
Full-Stack Engineer β’ Automation Developer
- GitHub: @ibrahimpelumi6142
- Email: [email protected]
- YouTube: @bestspotsolution
- Website: onlinequicktools.com
If you like this project, please β star the repo.
π Changelog
v1.1.0 (2026-01-22)
- β¨ Added multi-tunnel support with comma-separated ports
- β¨ Added
--multiflag for numbered forwarding display - β¨ Enhanced dashboard for multiple tunnels
- β¨ Per-tunnel logging in multi mode
- β Fully backward compatible with v1.0.x
v1.0.1
- π Bug fixes and improvements
v1.0.0
- π Initial release
π License
MIT License β free to use, modify, and distribute.
Made with β€οΈ for developers who value privacy and control